Copropiedad Integral | Roles module - Condo administrators can manage memberships

in #utopian-io6 years ago (edited)

Repository

Copropiedad Integral repository

A condo is a type of real estate divided into several units that are each separately owned, surrounded by common areas jointly owned.

Copropiedad Integral has been created to provide condos (condominiums, horizontal property, co-properties) managers with the necessary tools to manage administration and communication with co-owners and leaseholders in a simple and safe way. Development version is available here.

In the efficient management of a condo, different people with different roles intervene. For this application, five different roles have been defined: Administrator, Administrative assistant, Accountant, Accounting assistant, Fiscal auditor.

New Features

When a user creates a new condo, a membership with administrator role is created for this user. Automatically, all permissions for administrator role are designed for this user. So, this user has all permissions to manage units administration, and now, the roles module.

In the condo detail page side menu is available the **Roles tab.


Screen Shot 2018-07-09 at 9.36.54 PM.png

By clicking the Roles link, users will be redirected to the memberships page:


Screen Shot 2018-07-09 at 11.08.10 PM.png

In this view, the list of created membership for the current condo is displayed. Remember that this view is only available for users with administrator role in the condo.

Condo administrators can create memberships for another users, and can assign roles. Each user can have only one role in a condo. By clicking the Create membership link, users will be redirected to the membership form view:


Screen Shot 2018-07-09 at 10.03.41 PM.png

Code changes can be found in these commits: 5b85a, ca342, e9572.

The first thing to do in this form is enter the email address of the user for which we want to create the new membership, and click the Search user button. A membership only can be created if the entered email is registered in the application. If we use an email that is not registered in the application, the following message will be displayed:


Screen Shot 2018-07-09 at 10.06.27 PM.png

The application checks via AJAX if the email address is registered in the application, and if it is not registered, a message is displayed notifying that there is no account linked to this email, and a button to send an invitation is enabled:

By clicking the Send invitation button, an email message is created and sent to the entered email address, with a message that says that the current user (Authenticated user) has invited the owner of the email address to create an account in the application. A message is displayed confirming that the invitation has been sent.


Screen Shot 2018-07-09 at 10.11.38 PM.png

Take a look to the content of the sent mail:


Screen Shot 2018-07-09 at 10.23.28 PM.png

So, to create a membership with this email, user must wait that the email owner creates an account in the application using this email.

Code changes can be found in these commits: 14840, 1a795.

On the other hand, if the entered email is already registered on the platform, the following message is displayed to the user:


Screen Shot 2018-07-09 at 10.45.53 PM.png

A confirmation text notifying that there is a registered user linked to the entered email address, the name and the email of the linked user. After that, user must select the membership type or role that want to assign to the new condo integrant. Take a look to the options:


Screen Shot 2018-07-09 at 9.55.17 PM.png

As you can see, the Accounting assistant role is not available in this select field. This is because this role will be only managed by users with Accountant role.

By clicking the "Create membership button", the new membership objects is created and the user is redirected to the roles page. An email verification is sent to the owner of the new membership.


Screen Shot 2018-07-09 at 10.57.01 PM.png

This is the content of the email that is sent when a new membership has been created:


Screen Shot 2018-07-09 at 11.01.41 PM.png

Detailed code changes can be found in these commits: e0d4b, a7b3d.

Now, condo administrators can assign roles to another users. To implement these functionalities and provide a better UX, I have used many AJAX request and javascript code, apart from the necessary backend (python side) functionalities and validations that should have been implemented. In the roadmap is included the functionalities that must be implemented for each role.


GitHub Account

https://github.com/aaquirogal
PULL REQUEST


Roadmap

With the help of the company http://www.servisolucionesph.com/, we have designed a group of basic functionalities to implement in next days:

  1. parking information.
  2. pet information management.
  3. Vehicles information management.
  4. Domestic worker information management.
  5. Authorized visitors information management.
  6. Owner and leaseholders data update.
  7. Make a reservation for rent Social Hall or Auditoriums.
  8. Generate financial and administrative reports for consultation at the Ordinary or Extraordinary Assembly.
  9. Information Documents (Cleaning Awareness, Recycling Campaigns, Portfolio Collection, documents of Coexistence).
  10. Attach fixed documents of the co-ownership for permanent consultation (Coexistence Manual, Horizontal Property Regulation, Administration Attention Schedules, Rental Schedules, Rental Costs ...).
  11. Providers database.
  12. Online voting.
  13. Sending of Mass Collection Accounts through e-mail.
  14. Residents administration.
  15. Condo roles.

How to contribute?

Copropiedad Integral has been developed using the Django framework. You can fork the project, and run it locally is very easy. Follow the steps described in the open source repository installation guide. The project has been configured using Docker. you only need to install Docker and follow these steps.

If you want to contribute, please join my Discord


Have happy days ✌

Sort:  

Hey @kit.andres
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Get free votes! toolsfree[DOT]info/votes

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Congratulations! Your post has been selected as a daily Steemit truffle! It is listed on rank 1 of all contributions awarded today. You can find the TOP DAILY TRUFFLE PICKS HERE.

I upvoted your contribution because to my mind your post is at least 20 SBD worth and should receive 98 votes. It's now up to the lovely Steemit community to make this come true.

I am TrufflePig, an Artificial Intelligence Bot that helps minnows and content curators using Machine Learning. If you are curious how I select content, you can find an explanation here!

Have a nice day and sincerely yours,
trufflepig
TrufflePig

Coin Marketplace

STEEM 0.21
TRX 0.13
JST 0.030
BTC 68156.06
ETH 3517.56
USDT 1.00
SBD 2.81