Commits

Rafael A committed d525511

fix: "Start dates" of polls in the same queue must be different

  • Participants
  • Parent commits ee7168a

Comments (0)

Files changed (4)

     max_num = 10
 
 class PollAdmin(admin.ModelAdmin):
-    list_display = ('publish', 'startdate', 'polltype', 'title', 'vote_count')
+    list_display = ('publish', 'queue', 'startdate', 'polltype', 'title', 'vote_count')
     
     inlines = [
         PollItemInline,

poll/locale/ru/LC_MESSAGES/django.mo

Binary file modified.

poll/locale/ru/LC_MESSAGES/django.po

 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-11-06 17:05+0400\n"
+"POT-Creation-Date: 2011-11-11 20:18+0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 msgid "The parameter is used as question to user"
 msgstr "Параметр используется как заголовок вопроса к пользователю"
 
-#: models.py:25 models.py:75
+#: models.py:25 models.py:76
 msgid "Queue"
 msgstr "Очередь"
 
 msgid "Publish"
 msgstr "Публиковать"
 
-#: models.py:29 models.py:104
+#: models.py:29 models.py:105
 msgid "Votes"
 msgstr "Голоса"
 
 msgid "Choose variants of answers"
 msgstr "Выберете варианты ответов"
 
-#: models.py:35
-msgid "The \"Start date\" param must be unique"
-msgstr "Поле \"Start date\" должно быть уникальным"
+#: models.py:36
+msgid "\"Start dates\" of polls in the same queue must be different"
+msgstr "Параметры \"Start dates\" у разных опросов в одной очереди должны быть отличны"
 
-#: models.py:57 models.py:91 templates/polls.html:20
+#: models.py:58 models.py:92 templates/polls.html:20
 msgid "Poll"
 msgstr "Опрос"
 
-#: models.py:58
+#: models.py:59
 msgid "Polls"
 msgstr "Опросы"
 
-#: models.py:59
+#: models.py:60
 msgid "User can vote"
 msgstr "Пользователь может голосовать"
 
-#: models.py:62
+#: models.py:63
 msgid "Queue name"
 msgstr "Название очереди"
 
-#: models.py:62
+#: models.py:63
 msgid "It must be unique"
 msgstr "Должен быть уникальным"
 
-#: models.py:63
+#: models.py:64
 msgid "Need auth?"
 msgstr "Нужна аутентификация?"
 
-#: models.py:63
+#: models.py:64
 msgid ""
 "Do the poll queue is for authenticated users only or not? (If yes, users "
 "must have \"can_vote\" permission to vote)"
 "Очередь опросов только для аутентифицированных пользователей или нет? (Иначе "
 "у пользователя должен быть доступ \"can_vote\")"
 
-#: models.py:67
+#: models.py:68
 msgid "With auth"
 msgstr "С авторизацией"
 
-#: models.py:69
+#: models.py:70
 msgid "Without auth"
 msgstr "Без авторизации"
 
-#: models.py:76
+#: models.py:77
 msgid "Queues"
 msgstr "Очереди"
 
-#: models.py:80
+#: models.py:81
 msgid "Its userbox?"
 msgstr "Это пользовательский ввод?"
 
-#: models.py:80
+#: models.py:81
 msgid "Set it, if you want user to type its own answer. (show as textbox)"
 msgstr ""
 "Выберете это, если вы хотите что бы пользователь сам напечатал свой ответ "
 "(вывод textbox)"
 
-#: models.py:81
+#: models.py:82
 msgid "Value"
 msgstr "Значение"
 
-#: models.py:81
+#: models.py:82
 msgid "Its a title of item"
 msgstr "Заголовок item"
 
-#: models.py:82
+#: models.py:83
 msgid "Position"
 msgstr "Позиция"
 
-#: models.py:82
+#: models.py:83
 msgid "Its for positioning only"
 msgstr "Только для позиционирования"
 
-#: models.py:92
+#: models.py:93
 msgid "User's IP"
 msgstr "IP пользователя"
 
-#: models.py:93 templates/polls.html:23
+#: models.py:94 templates/polls.html:23
 msgid "User"
 msgstr "Пользователь"
 
-#: models.py:95
+#: models.py:96
 msgid "Voited items"
 msgstr "Голосовавшие items"
 
-#: models.py:103 templates/polls.html:32
+#: models.py:104 templates/polls.html:32
 msgid "Vote"
 msgstr "Голос"
 
 #: templates/polls.html:29
 msgid "Show results"
 msgstr "Показать результаты"
+
+#~ msgid "The \"Start date\" param must be unique"
+#~ msgstr "Поле \"Start date\" должно быть уникальным"
     publish_manager = PublishManager()
     
     def clean(self):
-        err_msg = _('The "Start date" param must be unique')
-        objs = Poll.objects.filter(startdate=self.startdate)
-        count = objs.count()
-        
-        if count > 1:
-            raise ValidationError(err_msg)
-        elif count == 1:
-            if objs[0] != self:
+        if self.queue is not None:
+            err_msg = _('"Start dates" of polls in the same queue must be different')
+            objs = Poll.objects.filter(queue=self.queue, startdate=self.startdate)
+            count = objs.count()
+            
+            if count > 1:
                 raise ValidationError(err_msg)
+            elif count == 1:
+                if objs[0] != self:
+                    raise ValidationError(err_msg)
     
     def get_vote_count(self):
         return Vote.objects.filter(poll=self).count()