Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRogelio Mita <rogeliomita@activitycentral.com>2013-04-12 12:41:19 (GMT)
committer Rogelio Mita <rogeliomita@activitycentral.com>2013-04-12 12:41:19 (GMT)
commit31394c195e94016d221ca6f55942c48b72843dc8 (patch)
treeddcaa24032c92b0ec549f78ef7d695723f8a187b
parent5d8f82d7548c9c711d79102d8d46042441d42427 (diff)
BugFix: PollFormv2.1
-rw-r--r--webapp/polls/forms.py10
-rw-r--r--webapp/polls/templates/poll-form.html2
-rw-r--r--webapp/polls/views.py9
3 files changed, 16 insertions, 5 deletions
diff --git a/webapp/polls/forms.py b/webapp/polls/forms.py
index 86dfacb..f92d84a 100644
--- a/webapp/polls/forms.py
+++ b/webapp/polls/forms.py
@@ -16,14 +16,20 @@ class PollAddForm(forms.Form):
required=True, label="Nombre")
status = forms.ChoiceField(
required=False,
- choices=[c for c in Poll.status_choices()] + [('', '')],
+ choices=[('', '')] + [c for c in Poll.status_choices()],
label="Estado")
pollster = forms.ChoiceField(
required=False,
- choices=[('', '-')] + [(p.id, p.username) for p in Pollster.all()],
+ choices=[('', '-')] + [
+ (str(p.id), p.username) for p in Pollster.all()],
label="Encuestador asignado"
)
+ def __init__(self, *args, **kwargs):
+ super(PollAddForm, self).__init__(*args, **kwargs)
+ self.fields['pollster'].choices = [('', '-')] + [
+ (str(p.id), p.username) for p in Pollster.all()]
+
def clean_name(self):
id = self.cleaned_data['id']
name = self.cleaned_data['name']
diff --git a/webapp/polls/templates/poll-form.html b/webapp/polls/templates/poll-form.html
index f9dad9d..8edb0a0 100644
--- a/webapp/polls/templates/poll-form.html
+++ b/webapp/polls/templates/poll-form.html
@@ -47,7 +47,7 @@
<label class="control-label" for="id_pollster">{{ form.pollster.label }}:</label>
<select id="id_pollster" name="pollster">
{% for pollster, label in POLLSTER_CHOICES %}
- <option value="{{ pollster }}" {% if pollster == poll.pollster.id %}selected="selected"{% endif %}>{{ label }}</option>
+ <option value="{{ pollster }}" {% if pollster == pollster_id %}selected="selected"{% endif %}>{{ label }}</option>
{% endfor %}
</select>
<span class="help-inline">{{ form.pollster.errors }}</span>
diff --git a/webapp/polls/views.py b/webapp/polls/views.py
index 60ba025..21882ab 100644
--- a/webapp/polls/views.py
+++ b/webapp/polls/views.py
@@ -86,11 +86,16 @@ class PollFormView(FormView):
raise Http404()
poll = Poll(form.data) if form.is_bound else poll
+ pollster_id = None
+ if hasattr(poll.pollster, 'id'):
+ pollster_id = str(poll.pollster.id)
+ else:
+ pollster_id = poll.pollster
context.update({
"poll": poll,
"STATUS_CHOICES": Poll.status_choices(),
- "POLLSTER_CHOICES": [('', '-')] + [
- (p.id, p.username) for p in Pollster.all()]
+ "POLLSTER_CHOICES": form.fields['pollster'].choices,
+ "pollster_id": pollster_id
})
return context