[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