Set project on top on user projects list
parent
533d72fee6
commit
a35db80932
|
@ -53,17 +53,17 @@ def connect_memberships_signals():
|
||||||
sender=apps.get_model("projects", "Membership"),
|
sender=apps.get_model("projects", "Membership"),
|
||||||
dispatch_uid='membership_pre_delete')
|
dispatch_uid='membership_pre_delete')
|
||||||
|
|
||||||
# On membership object is deleted, update notify policies of all objects relation.
|
# On membership object is created, reorder and create notify policies
|
||||||
signals.post_save.connect(handlers.create_notify_policy,
|
signals.post_save.connect(handlers.membership_post_save,
|
||||||
sender=apps.get_model("projects", "Membership"),
|
sender=apps.get_model("projects", "Membership"),
|
||||||
dispatch_uid='create-notify-policy')
|
dispatch_uid='membership_post_save')
|
||||||
|
|
||||||
|
|
||||||
def disconnect_memberships_signals():
|
def disconnect_memberships_signals():
|
||||||
signals.pre_delete.disconnect(sender=apps.get_model("projects", "Membership"),
|
signals.pre_delete.disconnect(sender=apps.get_model("projects", "Membership"),
|
||||||
dispatch_uid='membership_pre_delete')
|
dispatch_uid='membership_pre_delete')
|
||||||
signals.post_save.disconnect(sender=apps.get_model("projects", "Membership"),
|
signals.post_save.disconnect(sender=apps.get_model("projects", "Membership"),
|
||||||
dispatch_uid='create-notify-policy')
|
dispatch_uid='membership_post_save')
|
||||||
|
|
||||||
|
|
||||||
## US Statuses Signals
|
## US Statuses Signals
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
from django.apps import apps
|
from django.apps import apps
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.db.models import F
|
||||||
|
|
||||||
from taiga.projects.notifications.services import create_notify_policy_if_not_exists
|
from taiga.projects.notifications.services import create_notify_policy_if_not_exists
|
||||||
|
|
||||||
|
@ -32,15 +33,21 @@ def membership_post_delete(sender, instance, using, **kwargs):
|
||||||
instance.project.update_role_points()
|
instance.project.update_role_points()
|
||||||
|
|
||||||
|
|
||||||
## Notify policy
|
def membership_post_save(sender, instance, using, **kwargs):
|
||||||
|
if not instance.user:
|
||||||
def create_notify_policy(sender, instance, using, **kwargs):
|
return
|
||||||
if instance.user:
|
|
||||||
create_notify_policy_if_not_exists(instance.project, instance.user)
|
create_notify_policy_if_not_exists(instance.project, instance.user)
|
||||||
|
|
||||||
|
# Set project on top on user projects list
|
||||||
|
membership = apps.get_model("projects", "Membership")
|
||||||
|
membership.objects.filter(user=instance.user) \
|
||||||
|
.update(user_order=F('user_order') + 1)
|
||||||
|
|
||||||
|
membership.objects.filter(user=instance.user, project=instance.project)\
|
||||||
|
.update(user_order=0)
|
||||||
|
|
||||||
|
|
||||||
## Project attributes
|
## Project attributes
|
||||||
|
|
||||||
def project_post_save(sender, instance, created, **kwargs):
|
def project_post_save(sender, instance, created, **kwargs):
|
||||||
"""
|
"""
|
||||||
Populate new project dependen default data
|
Populate new project dependen default data
|
||||||
|
|
Loading…
Reference in New Issue