[Oi-commits] r1480 - in trunk: forum templates/forum

oi-commits at pardus.org.tr oi-commits at pardus.org.tr
Tue Jun 17 20:22:59 EEST 2008


Author: jnmbk
Date: Tue Jun 17 20:22:59 2008
New Revision: 1480

Modified:
   trunk/forum/forms.py
   trunk/forum/models.py
   trunk/forum/urls.py
   trunk/forum/views.py
   trunk/templates/forum/topic.html
Log:
delete poll

Modified: trunk/forum/forms.py
=================================================================
--- trunk/forum/forms.py	(original)
+++ trunk/forum/forms.py	Tue Jun 17 20:22:59 2008
@@ -59,6 +59,7 @@
     reason = XssField(label='Şikayet Sebebi', widget=forms.Textarea(attrs={'rows': 7, 'cols': 45}), required=True, help_text="(en fazla 512 karakter olabilir)", max_length=512)
 
 class PollForm(forms.ModelForm):
+    end_date = forms.DateField(label="Bitiş Tarihi", input_formats=("%d/%m/%Y",), help_text="Oylamanın ne zaman biteceğini belirleyin. 30/8/2008 gibi.")
     option0 = forms.CharField(label='1. Seçenek', required=False, max_length=128, widget=forms.TextInput(attrs={'size': '40',}))
     option1 = forms.CharField(label='2. Seçenek', required=False, max_length=128, widget=forms.TextInput(attrs={'size': '40',}))
     option2 = forms.CharField(label='3. Seçenek', required=False, max_length=128, widget=forms.TextInput(attrs={'size': '40',}))

Modified: trunk/forum/models.py
=================================================================
--- trunk/forum/models.py	(original)
+++ trunk/forum/models.py	Tue Jun 17 20:22:59 2008
@@ -203,6 +203,9 @@
     def get_change_poll_url(self):
         return '/forum/%s/%s/poll/change/' % (self.forum.slug, self.id)
 
+    def get_delete_poll_url(self):
+        return '/forum/%s/%s/poll/delete/' % (self.forum.slug, self.id)
+
     def get_email_id(self):
         return '<%s.%s@%s>' % (md5.new(self.title).hexdigest(), self.id, FORUM_FROM_EMAIL.split('@')[1])
 

Modified: trunk/forum/urls.py
=================================================================
--- trunk/forum/urls.py	(original)
+++ trunk/forum/urls.py	Tue Jun 17 20:22:59 2008
@@ -46,6 +46,7 @@
     (r'^(?P<forum_slug>.*)/(?P<topic_id>\d+)/edit/$', 'oi.forum.views.edit_topic'),
     (r'^(?P<forum_slug>.*)/(?P<topic_id>\d+)/poll/create/$', 'oi.forum.views.create_poll'),
     (r'^(?P<forum_slug>.*)/(?P<topic_id>\d+)/poll/change/$', 'oi.forum.views.change_poll'),
+    (r'^(?P<forum_slug>.*)/(?P<topic_id>\d+)/poll/delete/$', 'oi.forum.views.delete_poll'),
     (r'^(?P<forum_slug>.*)/(?P<topic_id>\d+)/poll/vote/(?P<option_id>\d+)/$', 'oi.forum.views.vote_poll'),
     (r'^(?P<forum_slug>.*)/(?P<topic_id>\d+)/$', 'oi.forum.views.topic'),
     (r'^(?P<forum_slug>.*)/$', 'oi.forum.views.forum'),

Modified: trunk/forum/views.py
=================================================================
--- trunk/forum/views.py	(original)
+++ trunk/forum/views.py	Tue Jun 17 20:22:59 2008
@@ -808,11 +808,16 @@
 
             return HttpResponseRedirect(topic.get_absolute_url())
     else:
+        # convert returned value "day/month/year"
+        get = str(poll.end_date)
+        get = get.split("-")
+
+        end_date = "%s/%s/%s" % (get[2], get[1], get[0])
         initial = {
                 "question": poll.question,
                 "allow_changing_vote": poll.allow_changing_vote,
                 "date_limit": poll.date_limit,
-                "end_date": poll.end_date,
+                "end_date": end_date,
                 }
 
         # add options to initial data
@@ -826,6 +831,7 @@
 
 @login_required
 def vote_poll(request,forum_slug,topic_id,option_id):
+    #TODO: voting deadline must be checked here and when showing the poll
     topic = get_object_or_404(Topic, pk=topic_id)
     option = get_object_or_404(PollOption, pk=option_id)
     forum = topic.forum
@@ -875,3 +881,25 @@
         option.save()
 
     return HttpResponseRedirect(topic.get_absolute_url())
+
+ at permission_required("forum.can_change_poll", login_url="/kullanici/giris/")
+def delete_poll(request, forum_slug, topic_id):
+    topic = get_object_or_404(Topic, pk=topic_id)
+    forum = topic.forum
+    if forum.slug != forum_slug:
+        return HttpResponseRedirect(topic.get_absolute_url())
+
+    # check poll
+    try:
+        poll = topic.poll
+    except: #DoesNotExist
+        return HttpResponseRedirect(topic.get_absolute_url())
+
+    # check locks
+    if forum.locked or topic.locked:
+        return HttpResponse('Forum or topic is locked')
+
+    topic.poll=None
+    topic.save()
+    poll.delete()
+    return HttpResponseRedirect(topic.get_absolute_url())

Modified: trunk/templates/forum/topic.html
=================================================================
--- trunk/templates/forum/topic.html	(original)
+++ trunk/templates/forum/topic.html	Tue Jun 17 20:22:59 2008
@@ -29,7 +29,7 @@
 <li><a href="{{ forum.get_absolute_url }}{{ topic.id }}/poll/vote/{{ option.id }}/" title="oy ver">{{ option.text }} ({{ option.vote_count }})</a></li>
 {% endfor %}
 </ul>
-{% if perms.forum.can_change_poll %}<a href="{{ topic.get_change_poll_url }}">change</a> - delete{% endif %}
+{% if perms.forum.can_change_poll %}<a href="{{ topic.get_change_poll_url }}">change</a> - <a href="{{ topic.get_delete_poll_url }}">delete</a>{% endif %}
 </div>
 {% endif %}
 


More information about the Oi-commits mailing list