mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-11 12:29:24 +00:00
Make the group management more generic in the model
This commit is contained in:
@ -132,7 +132,14 @@ class Group(AuthGroup):
|
||||
"""
|
||||
return reverse('core:group_edit', kwargs={'group_id': self.pk})
|
||||
|
||||
class Page(models.Model):
|
||||
class GroupManagedObject(models.Model):
|
||||
owner_group = models.ForeignKey(Group, related_name="owned_object", default=1)
|
||||
edit_group = models.ManyToManyField(Group, related_name="editable_object")
|
||||
view_group = models.ManyToManyField(Group, related_name="viewable_object")
|
||||
class Meta:
|
||||
abstract = True
|
||||
|
||||
class Page(GroupManagedObject, models.Model):
|
||||
"""
|
||||
The page class to build a Wiki
|
||||
Each page may have a parent and it's URL is of the form my.site/page/<grd_pa>/<parent>/<mypage>
|
||||
@ -154,11 +161,6 @@ class Page(models.Model):
|
||||
# playing with a Page object, use get_full_name() instead!
|
||||
full_name = models.CharField(_('page name'), max_length=255, blank=True)
|
||||
|
||||
# TODO: Rightable abstract class from which every object with right needed will be able to be child of
|
||||
# Put thoses 3 attributes there
|
||||
owner_group = models.ForeignKey(Group, related_name="owned_pages", default=1)
|
||||
edit_group = models.ManyToManyField(Group, related_name="editable_pages", default=1)
|
||||
view_group = models.ManyToManyField(Group, related_name="viewable_pages", default=1)
|
||||
|
||||
class Meta:
|
||||
unique_together = ('name', 'parent')
|
||||
|
Reference in New Issue
Block a user