From d1093b4f64f84d3c504a1b96a19380bedece47de Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Thu, 28 Jan 2016 15:33:29 +0100 Subject: [PATCH] use students for groups --- teleforma/admin.py | 7 +++---- teleforma/models/messages.py | 14 +++++++------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/teleforma/admin.py b/teleforma/admin.py index bd8dc770..decb4d91 100644 --- a/teleforma/admin.py +++ b/teleforma/admin.py @@ -109,11 +109,10 @@ class StudentAdmin(admin.ModelAdmin): def add_to_new_group(self, request, queryset): group_name = request.POST['group_name'] - users = [student.user for student in queryset] group, c = TeleFormaGroup.objects.get_or_create(name=group_name) - for user in users: - group.users.add(user) - self.message_user(request, ("Successfully added group : %s") % (group_name,), messages.SUCCESS) + for student in queryset: + group.students.add(student) + self.message_user(request, ("Successfully added to group : %s") % (group_name,), messages.SUCCESS) class ProfessorProfileInline(admin.StackedInline): model = Professor diff --git a/teleforma/models/messages.py b/teleforma/models/messages.py index 8292e23b..a0770ad3 100644 --- a/teleforma/models/messages.py +++ b/teleforma/models/messages.py @@ -1,28 +1,27 @@ from teleforma.models import * -from django.contrib.auth.models import User from postman.utils import email_visitor, notify_user from postman.models import Message -class TeleFormaGroup(models.Model): +class StudentGroup(models.Model): """(Group description)""" name = models.CharField(_('name'), max_length=255) - users = models.ManyToManyField(User, related_name="teleforma_groups", verbose_name=_('users'), + students = models.ManyToManyField(Student, related_name="groups", verbose_name=_('students'), blank=True, null=True) class Meta(MetaCore): - db_table = app_label + '_' + 'groups' + db_table = app_label + '_' + 'student_groups' def __unicode__(self): - return _("Group") + return _("Student group") class GroupedMessage(models.Model): """(GroupedMessage description)""" - group = models.ForeignKey('TeleFormaGroup', related_name='grouped_messages', + group = models.ForeignKey('StudentGroup', related_name='grouped_messages', verbose_name=_('group'), blank=True, null=True, on_delete=models.SET_NULL) sender = = models.ForeignKey('User', related_name='grouped_messages', @@ -49,7 +48,8 @@ class GroupedMessage(models.Model): def send(self): site = Site.objects.all()[0] - for user in self.group: + users = [student.user for student in self.group.students.all()] + for user in users: mess = Message(sender=self.sender, recipient=user, subject=self.subject[:119], body=self.message) mess.moderation_status = 'a' mess.save() -- 2.39.5