Пример #1
0
    def test_form_save(self):
        dummy_user = DummyUser().create_dummy_user(username='******')
        DummyUser().create_dummy_group(group_name='members')
        self.assertFalse(has_group(dummy_user, 'members'))

        # Створюємо форму з instance і data
        # (заповнюємо також required fields, бо super().save не зможе зберегти)
        data = {
            'username': '******',
            'has_perm_member': True,
            'date_joined': now()
        }
        form = self.cls_form(instance=dummy_user, data=data)
        saved_user = form.save()
        # Чи збережено?
        self.assertEqual(saved_user, User.objects.last())
        # Чи змінилось значення поля?
        self.assertTrue(has_group(dummy_user, 'members'))

        # Створюємо форму з user + додаткові data
        data = {
            'username': '******',
            'has_perm_member': False,
            'date_joined': now()
        }
        form = self.cls_form(instance=dummy_user, data=data)
        saved_user = form.save()
        # Чи збережено?
        self.assertEqual(saved_user, User.objects.last())
        # Чи змінилось значення поля?
        self.assertFalse(has_group(dummy_user, 'members'))
Пример #2
0
    def test_init_and_get_is_member(self):
        form = self.cls_form()

        # empty form:
        self.assertFalse(form.is_member)
        self.assertFalse(form.fields['has_perm_member'].initial)

        dummy_user = DummyUser().create_dummy_user(username='******')

        # form with initial data
        initial_data = {
            'username': '******',
        }
        form = self.cls_form(data=initial_data)
        self.assertFalse(form.is_member)
        self.assertFalse(form.fields['has_perm_member'].initial)

        # form with initial user instance:

        DummyUser().create_dummy_group(group_name='members')
        DummyUser().add_dummy_group(dummy_user, group_name='members')
        self.assertTrue(has_group(dummy_user, 'members'))
        form = self.cls_form(instance=dummy_user)
        self.assertTrue(form.is_member)
        self.assertEqual(form.fields['has_perm_member'].initial,
                         form.is_member)
Пример #3
0
 def processing(self, user, profile, msg):
     # Умови при яких зміни не відбудуться:
     if has_group(user, 'members'):
         msg.title = user.username
         msg.type = msgType.NoChange
         msg.message = "Акаунт вже має ці права доступу!"
         self.counter["доступ вже є"] += 1
     elif profile and profile.is_recognized == False:
         msg.title = user.username
         msg.type = msgType.Error
         msg.message = "Відхилений Акаунт не може отримати права доступу!"
         self.counter["відхилені"] += 1
     elif (not profile) or (profile and profile.is_recognized == None):
         msg.title = user.username
         msg.type = msgType.Error
         msg.message = "Непідтверджений Акаунт не може отримати права доступу!"
         self.counter["непідтверджені"] += 1
     else:
         # Робимо зміни:
         add_group(user, 'members')
         user.save()
         msg.title = user.username
         msg.type = msgType.Change
         msg.message = "Права доступу встановлено!"
         self.counter["встановлено"] += 1
         e_msg_body = "Ваш акаунт на сайті отримав права доступу " \
                      "члена кооперативу."
         self.send_e_mail(user, e_msg_body)
     return user, msg
Пример #4
0
 def get_row(self, u):
     """
     Визначає один рядок у двомірному масиві даних таблиці.
     Формат рядка:
      row[j] - елемент словника row = {...},
      де j - номер колонки в таблиці (поч. з 1)
         row[0] - словник з даними про примірник:
                     {'id': f.id, 'model': m}
     :param u: примірник user
     :return row: одновимірний масив
     """
     if u:
         row = {}
         row[0] = self.get_model_id_name(u)
         row[1] = u.username
         row[2] = get_user_full_name(u)
         row[3] = get_user_flat_No(u)
         row[4] = u.email
         # row[5] = u.date_joined.isoformat() if u.date_joined else ""
         row[5] = u.date_joined if u.date_joined else ""
         row[6] = get_user_is_recognized(u)
         row[7] = u.is_active
         row[8] = has_group(u, 'members')
     else:  # елемента нема => рядок таблиці має бути None
         row = None
     return row
Пример #5
0
 def processing(self, user, profile, msg):
     # Умови при яких зміни не відбудуться:
     if has_group(user, 'members'):
         msg.title   = user.username
         msg.type    = msgType.NoChange
         msg.message = "Акаунт вже має ці права доступу!"
         self.counter["доступ вже є"] += 1
     elif profile and profile.is_recognized == False:
         msg.title   = user.username
         msg.type    = msgType.Error
         msg.message = "Відхилений Акаунт не може отримати права доступу!"
         self.counter["відхилені"] += 1
     elif (not profile) or (profile and profile.is_recognized == None):
         msg.title   = user.username
         msg.type    = msgType.Error
         msg.message = "Непідтверджений Акаунт не може отримати права доступу!"
         self.counter["непідтверджені"] += 1
     else:
         # Робимо зміни:
         add_group(user, 'members')
         user.save()
         msg.title   = user.username
         msg.type    = msgType.Change
         msg.message = "Права доступу встановлено!"
         self.counter["встановлено"] += 1
         e_msg_body = "Ваш акаунт на сайті отримав права доступу " \
                      "члена кооперативу."
         self.send_e_mail(user, e_msg_body)
     return user, msg
Пример #6
0
 def get_row(self, u):
     """
     Визначає один рядок у двомірному масиві даних таблиці.
     Формат рядка:
      row[j] - елемент словника row = {...},
      де j - номер колонки в таблиці (поч. з 1)
         row[0] - словник з даними про примірник:
                     {'id': f.id, 'model': m}
     :param u: примірник user
     :return row: одновимірний масив
     """
     if u:
         row = {}
         row[0] = self.get_model_id_name(u)
         row[1] = u.username
         row[2] = get_user_full_name(u)
         row[3] = get_user_flat_No(u)
         row[4] = u.email
         # row[5] = u.date_joined.isoformat() if u.date_joined else ""
         row[5] = u.date_joined if u.date_joined else ""
         row[6] = get_user_is_recognized(u)
         row[7] = u.is_active
         row[8] = has_group(u, 'members')
     else: # елемента нема => рядок таблиці має бути None
         row = None
     return row
Пример #7
0
 def test_processing_changes_made(self):
     view = self.cls_view()
     user0 = self.george
     prof0 = getattr(user0, 'userprofile', None)
     user, msg = view.processing(user0, prof0, view.empty_msg)
     # Витягаємо з бази щойно збережені записи і перевіряємо
     user_db = get_or_none(User, id=user0.id)
     prof_db = get_or_none(UserProfile, user=user0)
     self.assertEqual(user.id, user_db.id)
     self.assertEqual(has_group(user_db, 'members'), True)
     self.assertEqual(msg.title, user_db.username)
     self.assertEqual(msg.type, msgType.Change)
     self.assertEqual(msg.message, "Права доступу встановлено!")
     self.assertEqual(view.counter["встановлено"], 1)
Пример #8
0
    def test_form_save(self):
        dummy_user = DummyUser().create_dummy_user(username="******")
        DummyUser().create_dummy_group(group_name="members")
        self.assertFalse(has_group(dummy_user, "members"))

        # Створюємо форму з instance і data
        # (заповнюємо також required fields, бо super().save не зможе зберегти)
        data = {"username": "******", "has_perm_member": True, "date_joined": now()}
        form = self.cls_form(instance=dummy_user, data=data)
        saved_user = form.save()
        # Чи збережено?
        self.assertEqual(saved_user, User.objects.last())
        # Чи змінилось значення поля?
        self.assertTrue(has_group(dummy_user, "members"))

        # Створюємо форму з user + додаткові data
        data = {"username": "******", "has_perm_member": False, "date_joined": now()}
        form = self.cls_form(instance=dummy_user, data=data)
        saved_user = form.save()
        # Чи збережено?
        self.assertEqual(saved_user, User.objects.last())
        # Чи змінилось значення поля?
        self.assertFalse(has_group(dummy_user, "members"))
Пример #9
0
 def test_processing_changes_made(self):
     view = self.cls_view()
     user0 = self.george
     prof0 = getattr(user0, 'userprofile', None)
     user, msg = view.processing(user0, prof0, view.empty_msg)
     # Витягаємо з бази щойно збережені записи і перевіряємо
     user_db = get_or_none(User, id=user0.id)
     prof_db = get_or_none(UserProfile, user=user0)
     self.assertEqual(user.id, user_db.id)
     self.assertEqual(has_group(user_db, 'members'), True)
     self.assertEqual(msg.title  , user_db.username)
     self.assertEqual(msg.type   , msgType.Change)
     self.assertEqual(msg.message, "Права доступу встановлено!")
     self.assertEqual(view.counter["встановлено"], 1)
Пример #10
0
 def processing(self, user, profile, msg):
     # Умови при яких зміни не відбудуться:
     if not has_group(user, 'members'):
         msg.title = user.username
         msg.type = msgType.NoChange
         msg.message = "Акаунт вже позбавлений цього права доступу!"
     else:
         # Робимо зміни:
         remove_group(user, 'members')
         user.save()
         msg.title = user.username
         msg.type = msgType.Change
         msg.message = "Право доступу вилучено!"
         e_msg_body = "Ваш акаунт на сайті позбавлений права доступу " \
                      "члена кооперативу."
         self.send_e_mail(user, e_msg_body)
     return user, msg
Пример #11
0
 def processing(self, user, profile, msg):
     # Умови при яких зміни не відбудуться:
     if not has_group(user, 'members'):
         msg.title   = user.username
         msg.type    = msgType.NoChange
         msg.message = "Акаунт вже позбавлений цього права доступу!"
     else:
         # Робимо зміни:
         remove_group(user, 'members')
         user.save()
         msg.title   = user.username
         msg.type    = msgType.Change
         msg.message = "Право доступу вилучено!"
         e_msg_body = "Ваш акаунт на сайті позбавлений права доступу " \
                      "члена кооперативу."
         self.send_e_mail(user, e_msg_body)
     return user, msg
Пример #12
0
    def test_init_and_get_is_member(self):
        form = self.cls_form()

        # empty form:
        self.assertFalse(form.is_member)
        self.assertFalse(form.fields["has_perm_member"].initial)

        dummy_user = DummyUser().create_dummy_user(username="******")

        # form with initial data
        initial_data = {"username": "******"}
        form = self.cls_form(data=initial_data)
        self.assertFalse(form.is_member)
        self.assertFalse(form.fields["has_perm_member"].initial)

        # form with initial user instance:

        DummyUser().create_dummy_group(group_name="members")
        DummyUser().add_dummy_group(dummy_user, group_name="members")
        self.assertTrue(has_group(dummy_user, "members"))
        form = self.cls_form(instance=dummy_user)
        self.assertTrue(form.is_member)
        self.assertEqual(form.fields["has_perm_member"].initial, form.is_member)
Пример #13
0
 def test_remove_group_gives_false_if_no_group(self):
     remove_group(self.user, 'members')
     self.assertFalse(has_group(self.user, 'members'))
Пример #14
0
 def test_remove_group(self):
     DummyUser().create_dummy_group(group_name='members')
     add_group(self.user, 'members')
     self.assertTrue(has_group(self.user, 'members'))
     remove_group(self.user, 'members')
     self.assertFalse(has_group(self.user, 'members'))
 def test_remove_group(self):
     DummyUser().create_dummy_group(group_name='members')
     add_group(self.user, 'members')
     self.assertTrue(has_group(self.user, 'members'))
     remove_group(self.user, 'members')
     self.assertFalse(has_group(self.user, 'members'))
 def test_has_group(self):
     DummyUser().create_dummy_group(group_name='members')
     DummyUser().add_dummy_group(self.user, group_name='members')
     self.assertTrue(has_group(self.user, 'members'))
 def test_has_group_gives_false(self):
     self.assertFalse(has_group(self.user, 'members'))
Пример #18
0
 def test_has_group(self):
     DummyUser().create_dummy_group(group_name='members')
     DummyUser().add_dummy_group(self.user, group_name='members')
     self.assertTrue(has_group(self.user, 'members'))
 def test_remove_group_gives_false_if_no_group(self):
     remove_group(self.user, 'members')
     self.assertFalse(has_group(self.user, 'members'))
Пример #20
0
 def test_has_group_gives_false(self):
     self.assertFalse(has_group(self.user, 'members'))