equal
deleted
inserted
replaced
22 '"Pawel Solyga" <pawel.solyga@gmail.com>', |
22 '"Pawel Solyga" <pawel.solyga@gmail.com>', |
23 '"Sverre Rabbelier" <sverre@rabbelier.nl>', |
23 '"Sverre Rabbelier" <sverre@rabbelier.nl>', |
24 ] |
24 ] |
25 |
25 |
26 |
26 |
|
27 import operator |
|
28 import re |
|
29 |
27 from google.appengine.ext import db |
30 from google.appengine.ext import db |
28 |
31 |
29 from django import template |
32 from django import template |
30 from django.forms import forms as forms_in |
33 from django.forms import forms as forms_in |
31 from django.utils.encoding import force_unicode |
34 from django.utils.encoding import force_unicode |
32 from django.utils.html import escape |
35 from django.utils.html import escape |
33 |
36 |
|
37 from soc.logic import dicts |
34 from soc.views.helper import widgets |
38 from soc.views.helper import widgets |
35 |
39 |
36 |
40 |
37 register = template.Library() |
41 register = template.Library() |
38 |
42 |
172 attrs = field.rf |
176 attrs = field.rf |
173 |
177 |
174 # If the field is hidden we display it elsewhere |
178 # If the field is hidden we display it elsewhere |
175 if not bf.is_hidden: |
179 if not bf.is_hidden: |
176 example_text = '' |
180 example_text = '' |
177 group = 'main' |
181 group = '0. ' |
178 |
182 |
179 if hasattr(field, 'group'): |
183 if hasattr(field, 'group'): |
180 group = field.group |
184 group = field.group |
181 |
185 |
182 if hasattr(field, 'example_text'): |
186 if hasattr(field, 'example_text'): |
183 example_text = force_unicode(field.example_text) |
187 example_text = force_unicode(field.example_text) |
196 |
200 |
197 for e in bf.errors: |
201 for e in bf.errors: |
198 item = (name, force_unicode(e)) |
202 item = (name, force_unicode(e)) |
199 hidden_fields_errors.append(item) |
203 hidden_fields_errors.append(item) |
200 |
204 |
|
205 grouped = dicts.groupby(fields, 'group') |
|
206 rexp = re.compile(r"\d+. ") |
|
207 fields = [(rexp.sub('',key), grouped[key]) for key in sorted(grouped)] |
|
208 |
201 context.update({ |
209 context.update({ |
202 'top_errors': form.non_field_errors() or '', |
210 'top_errors': form.non_field_errors() or '', |
203 'hidden_field_errors': hidden_fields_errors or '', |
211 'hidden_field_errors': hidden_fields_errors or '', |
204 'fields': sorted(fields, key=lambda x: x.get('group')) or '', |
212 'groups': fields if fields else '', |
205 'hidden_fields': hidden_fields or '', |
213 'hidden_fields': hidden_fields or '', |
206 }) |
214 }) |
207 |
215 |
208 return context |
216 return context |
209 |
217 |