remotes/origin/logger
David Barragán Merino 2016-01-30 15:44:05 +01:00
parent 2ac01c0d54
commit f1e4e82109
3 changed files with 12 additions and 3 deletions

View File

@ -117,5 +117,5 @@ def set_base_permissions_for_project(project):
If a project is public anonymous and registered users should have at least visualization permissions If a project is public anonymous and registered users should have at least visualization permissions
""" """
anon_permissions = list(map(lambda perm: perm[0], ANON_PERMISSIONS)) anon_permissions = list(map(lambda perm: perm[0], ANON_PERMISSIONS))
project.anon_permissions = list(set(project.anon_permissions + anon_permissions)) project.anon_permissions = list(set((project.anon_permissions or []) + anon_permissions))
project.public_permissions = list(set(project.public_permissions + anon_permissions)) project.public_permissions = list(set((project.public_permissions or []) + anon_permissions))

View File

@ -76,6 +76,9 @@ class ProjectAdmin(admin.ModelAdmin):
search_fields = ["id", "name", "slug", "owner__username", "owner__email", "owner__full_name"] search_fields = ["id", "name", "slug", "owner__username", "owner__email", "owner__full_name"]
inlines = [RoleInline, MembershipInline, MilestoneInline, NotifyPolicyInline, LikeInline] inlines = [RoleInline, MembershipInline, MilestoneInline, NotifyPolicyInline, LikeInline]
# NOTE: TextArrayField with a choices is broken in the admin panel.
exclude = ("anon_permissions", "public_permissions")
def get_object(self, *args, **kwargs): def get_object(self, *args, **kwargs):
self.obj = super().get_object(*args, **kwargs) self.obj = super().get_object(*args, **kwargs)
return self.obj return self.obj

View File

@ -303,6 +303,12 @@ class Project(ProjectDefaults, TaggedMixin, models.Model):
if not self.is_looking_for_people: if not self.is_looking_for_people:
self.looking_for_people_note = "" self.looking_for_people_note = ""
if self.anon_permissions == None:
self.anon_permissions = []
if self.public_permissions == None:
self.public_permissions = []
super().save(*args, **kwargs) super().save(*args, **kwargs)
def refresh_totals(self, save=True): def refresh_totals(self, save=True):
@ -440,7 +446,7 @@ class Project(ProjectDefaults, TaggedMixin, models.Model):
from taiga.projects.userstories.apps import connect_all_userstories_signals, disconnect_all_userstories_signals from taiga.projects.userstories.apps import connect_all_userstories_signals, disconnect_all_userstories_signals
from taiga.projects.issues.apps import connect_all_issues_signals, disconnect_all_issues_signals from taiga.projects.issues.apps import connect_all_issues_signals, disconnect_all_issues_signals
from taiga.projects.apps import connect_memberships_signals, disconnect_memberships_signals from taiga.projects.apps import connect_memberships_signals, disconnect_memberships_signals
disconnect_events_signals() disconnect_events_signals()
disconnect_all_issues_signals() disconnect_all_issues_signals()
disconnect_all_tasks_signals() disconnect_all_tasks_signals()