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-07-30 14:07:46 (GMT)
committer Rogelio Mita <rogeliomita@activitycentral.com>2013-07-30 14:07:46 (GMT)
commitbcb15ac81823aa5f5390b0aa1f2b7c7cddb52a1d (patch)
tree3949c94b00b8bf224ccaecfe728752ccdc6aa107
parent2d6cf87f365aeaaf4a478f1bd3340fb91e6ae58d (diff)
first impression
-rw-r--r--webapp/coffee/factoryField.coffee5
-rw-r--r--webapp/polls/models.py1
-rw-r--r--webapp/polls/templates/mustache/field.html12
-rw-r--r--webapp/polls/tests/structure_tests.py31
-rw-r--r--webapp/webapp/static/js/factoryField.js3
5 files changed, 49 insertions, 3 deletions
diff --git a/webapp/coffee/factoryField.coffee b/webapp/coffee/factoryField.coffee
index b4f790d..b24d07c 100644
--- a/webapp/coffee/factoryField.coffee
+++ b/webapp/coffee/factoryField.coffee
@@ -49,6 +49,7 @@ factoryField = (order, value) ->
"visible_errors": errors.length,
"WIDGET_TYPES": widget_types,
"dependence_forms": dependence_forms,
+ "img_src": value['img_src']
}
)
)
@@ -78,7 +79,7 @@ factoryField = (order, value) ->
)
buttons_container.append(add_option_button)
bindFieldAddOptionButton(add_option_button)
-
+
if widget_type and $.inArray(widget_type, ["MultipleCheckBox", "ImageCheckBox"]) != -1
add_option_none_button = $(Mustache.render(TEMPLATES['field_add_option_none_button'], {}))
buttons_container.append(add_option_none_button)
@@ -123,7 +124,7 @@ factoryField = (order, value) ->
values = value['dependence'].values
values[i] = '' for i in [0..6] when i >= values.length
-
+
factoryDependences(dependence_container, values, order, group_order)
dependences = field_widget.find('[name*=".dependence.values"]')
diff --git a/webapp/polls/models.py b/webapp/polls/models.py
index e6f3813..ee96cf9 100644
--- a/webapp/polls/models.py
+++ b/webapp/polls/models.py
@@ -668,6 +668,7 @@ class Field(AbstractObject, ComponentStructure):
order = data.get('order', None)
self.order = int(order) if order else order
self.name = data.get('name', None)
+ self.img = data.get('img', None)
value = data.get('dependence', None)
self.dependence = value
diff --git a/webapp/polls/templates/mustache/field.html b/webapp/polls/templates/mustache/field.html
index 2a4b130..a967893 100644
--- a/webapp/polls/templates/mustache/field.html
+++ b/webapp/polls/templates/mustache/field.html
@@ -49,6 +49,18 @@
value="[[ name ]]"
placeholder="Pregunta..." />
+ <div class="fileupload fileupload-new" data-provides="fileupload">
+ <div class="fileupload-new thumbnail" style="width: 50px; height: 50px;">
+ <img src="[[ img_src ]]" /></div>
+ <div class="fileupload-preview fileupload-exists thumbnail" style="width: 50px; height: 50px;"></div>
+ <span class="btn btn-file">
+ <span class="fileupload-new">Elegir imagen</span>
+ <span class="fileupload-exists">Change</span>
+ <input type="file" name="groups.[[ group_order ]].fields.[[ order ]].img"/>
+ </span>
+ <a href="#" class="btn fileupload-exists" data-dismiss="fileupload">Remove</a>
+ </div>
+
</div>
<div class="row-fluid">
diff --git a/webapp/polls/tests/structure_tests.py b/webapp/polls/tests/structure_tests.py
index a91f854..8c2e931 100644
--- a/webapp/polls/tests/structure_tests.py
+++ b/webapp/polls/tests/structure_tests.py
@@ -219,3 +219,34 @@ class StructureTests(MongoTestCase):
structure.add_group(group, group.order)
self.assertEqual(expected, structure.to_python())
+
+ def test_structure_with_a_question_with_img(self):
+
+ poll = Poll({"name": "poll name"})
+ poll_id = poll.save()
+ poll = poll.get(poll_id)
+ img = "img"
+ data = {
+ 'groups': {
+ '0': {
+ 'name': "group name",
+ 'fields': {
+ '0': {
+ 'name': "field_0_0",
+ 'widget_type': Field.TextInput,
+ 'options': {
+ '131212': {
+ 'text': "text",
+ 'order': 0
+ }
+ },
+ 'img': img
+ }
+ }
+ }
+ }
+ }
+
+ structure = Structure(data=data, poll=poll)
+
+ self.assertEqual(img, structure.groups[0].fields[0].img)
diff --git a/webapp/webapp/static/js/factoryField.js b/webapp/webapp/static/js/factoryField.js
index 1c292d4..1834e49 100644
--- a/webapp/webapp/static/js/factoryField.js
+++ b/webapp/webapp/static/js/factoryField.js
@@ -57,7 +57,8 @@
"errors": errors,
"visible_errors": errors.length,
"WIDGET_TYPES": widget_types,
- "dependence_forms": dependence_forms
+ "dependence_forms": dependence_forms,
+ "img_src": value['img_src']
}));
remove_button = field_widget.find('.WField_remove');
bindFieldRemoveButton(remove_button);