diff options
author | Rogelio Mita <rogeliomita@activitycentral.com> | 2013-04-05 18:12:53 (GMT) |
---|---|---|
committer | Rogelio Mita <rogeliomita@activitycentral.com> | 2013-04-05 18:12:53 (GMT) |
commit | facbd8be7c3c707b9b501bfccb32cea315aefb46 (patch) | |
tree | d56dea27718f37cc443ae6f0333c7834b6ee7169 /webapp | |
parent | fd027128f9173725ea7300f5928733321dfeacea (diff) |
Read only pollster when a poll is closed
Diffstat (limited to 'webapp')
-rw-r--r-- | webapp/polls/models.py | 10 | ||||
-rw-r--r-- | webapp/polls/templates/poll-form.html | 12 |
2 files changed, 20 insertions, 2 deletions
diff --git a/webapp/polls/models.py b/webapp/polls/models.py index 9cc44cf..b3e4133 100644 --- a/webapp/polls/models.py +++ b/webapp/polls/models.py @@ -78,6 +78,16 @@ class Poll(AbstracErrorObject): self.status = data.get('status', Poll.OPEN) self.pollster = data.get('pollster', None) + def get_pollster(self): + if self.pollster: + pollster_id = self.pollster + if not pollster_id or isinstance(self.pollster, DBRef): + pollster_id = ObjectId(self.pollster.id) + + return get_db().pollsters.find_one({"_id": pollster_id}) + + return None + @property def structure(self): structure_data = get_db().structures.find_one( diff --git a/webapp/polls/templates/poll-form.html b/webapp/polls/templates/poll-form.html index df5bc60..f9dad9d 100644 --- a/webapp/polls/templates/poll-form.html +++ b/webapp/polls/templates/poll-form.html @@ -11,6 +11,12 @@ <form id="poll_form" class="form-inline" action="" method="post">{% csrf_token %} + {% if not poll.is_open %} + <div class="well"> + Encuestador: {{ poll.get_pollster.username }} + </div> + {% endif %} + {% if poll.id %} <input type="hidden" name="id" value="{{ poll.id }}" /> {% endif %} @@ -35,10 +41,11 @@ </div> {% endif %} + {% if poll.is_open %} <div class="control-group {% if form.pollster.errors %}error{% endif %}"> <div class="controls"> - <label class="control-label" for="id_encuestador">{{ form.pollster.label }}:</label> - <select id="id_encuestador" name="pollster"> + <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> {% endfor %} @@ -46,6 +53,7 @@ <span class="help-inline">{{ form.pollster.errors }}</span> </div> </div> + {% endif %} <div class="control-group {% if form.name.errors %}error{% endif %}"> <div class="controls"> |