Copropiedad Integral | development update | Email notifications for memberships updates, encrypted url for owners data update and more.
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
new features
Memberships transfer.
By default, when a users created a new condo, he is assigned as the main administration and an administrator membership is created for him. Main administrators have all privilegies as condo administrators, and can assign common administrator memberships to another created users. if it is the case that a main administrator wants to transfer these privileges to another user, now he is able to transfer his membership to another active common administrator user in the condominium.
Now, in the memberships module, there is available the orange button "Transfer main membership". This button is only available for main administrator users, and, obviously, the only can transfer their own membership (Mirador del Takay is just the condominium name):
That's what this table looks like for a common administrator:
When main administrators click the "Transfer main membership" button, they are redirected to the following form:
In the select field, the options will be the common administrator users registered in the condominium. In this case, we have only one, Lalo Landa:
As I have said, main administrator memberships only can be transferred to common administrator users. If there are not common administrator users registered, the following message will be displayed instead the transfer form:
By submitting the transfer membership form, the following message will be displayed to the user (Blue message at the top):
And, as you can see, the main administrator privilegies have been removed. Now, User is not able to transfer his own membership and can't delete another administrator memberships, and, in the membership create form, he can't create administrator memberships, this is a privilegie only for main administrator. Now, the main administrator is Lalo Landa, the crown item allow us to identify it.
Now, is Lalo Landa who is able to transfer his own membership and to delete and create administrator memberships. We can know who is the authenticated user in the right side of the navigation bar.
Detailed code changes can be found in this commit
Periodic task to expire old "owner data update" links.
In my last development update, I introduced a new mechanism to update owners data. Condo administrators, can send an email message to registered owners with an email address registered in the application, asking them for update their contact data. The email message contains a link that redirects users to the owner data update form. How owners don't have an account in the application, they can access to the form without be authenticated.
For security reasons, this link is only available when the administrators send an update request, and is disabled when the owners submit the form. But, we can have cases in which the owners never submit the form, and, for this reason, I have created a periodic task that will run every day, at 2:00 GMT, and will check for active update forms with more than 30 days of creation. This periodic task has been created using Huey task manager, that allows us to manage asynchronous, periodic and second level tasks. Take a look to the created task:
Source
In this task, we are filtering enabled forms with more than 30 days of activation, and we are disabling the filtered result. Activation date is updated each time that a condo administrator request owners data update.
Detailed code changes can be found in this commit
Encrypted owners data update link.
As I said above, the data update link is sent to the owners in an email when condo administrators request data update. It was a plain link, with an id in the url to identify which unit must be updated in the link. This was basically the unit id. But, How owners don't have and account in the application, to access to this form is only necessary to have the link, without authentication. To add another security level to this form, I have added and extra parameter to the url.
Now, each time that a condo administrator request for data update, a random key is generated per each unit, and this key is used to encrypt and extra parameter in the update form url. In this way, the same link can't be used two times to submit the form, because we are changing it each time that an administrator request a data update. To do this, I have used the Hashids library. So, now, the only way to get access to the owners data update form is accessing the owner email inbox, or guessing the random key of 30 characters using to encrypt the url to access to the unit owners information.
Now update links look like this, (Before, links didn't have the long string parameter):
And this link will be different each time that a condo administrator request data update for a specific unit.
Detailed code changes can be found in this commit
Email notifications for membership update and membership delete.
Condo administrators have some privilegies to create, update and delete memberships. When a membership is updated or deleted, is really important for the membership owner to be notified about the changes. For this reason, I have added an email notification to the update - delete membership events.
When a membership is edited, the membership owner receive the following email:
When a membership is deleted, the membership owner receive the following email:
Detailed code changes can be found in these commit: 20fe5, e7ce8
GitHub Account
https://github.com/aaquirogal
Pull Request 42
Roadmap
With the help of the company http://www.servisolucionesph.com/, we have designed a group of basic functionalities to implement in next days:
parking information.pet information management.Vehicles information management.Domestic worker information management.Authorized visitors information management.- Owner and leaseholders data update. (Working on it)
- Make a reservation for rent Social Hall or Auditoriums.
- Generate financial and administrative reports for consultation at the Ordinary or Extraordinary Assembly.
- 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 ...). - Providers database.
- Online voting.
- Sending of Mass Collection Accounts through e-mail.
Residents administration.Condo roles.
These activities has been added to our public trello board.
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
GitHub Account
Have happy days ✌
Thanks for the contribution, @kit.andres! Everything looks good, except one tiny thing: in my opinion you should do less comments like this
and add more docstrings instead.
Other than that I would just like to say that you should keep up the good work!
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]
Hi... thank you for your review, and yes, you are totally right, this type of comments are redundant and unnecessary, I'll fix them, thank you so much.
Congratulations @kit.andres! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of posts published
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOP
To support your work, I also upvoted your post!
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!