1257 |
1257 |
def form_list(self, list, category = None, title = None,
|
1258 |
1258 |
session = None, user_forms = None, advertised_forms = []):
|
1259 |
1259 |
r = TemplateIO(html=True)
|
|
1260 |
|
|
1261 |
keywords = {}
|
|
1262 |
for formdef in list:
|
|
1263 |
for keyword in formdef.keywords_list:
|
|
1264 |
keywords[keyword] = True
|
|
1265 |
|
|
1266 |
div_attrs = {'class': 'category'}
|
|
1267 |
if keywords:
|
|
1268 |
div_attrs['data-keywords'] = ' '.join(keywords)
|
|
1269 |
|
|
1270 |
if title:
|
|
1271 |
div_attrs['id'] = 'category-%s' % misc.simplify(title)
|
|
1272 |
elif category:
|
|
1273 |
div_attrs['id'] = 'category-%s' % category.url_name
|
|
1274 |
else:
|
|
1275 |
div_attrs['id'] = 'category-misc'
|
|
1276 |
|
|
1277 |
r += htmltext('<div %s>' % ' '.join(
|
|
1278 |
['%s="%s"' % x for x in div_attrs.items()]))
|
1260 |
1279 |
if title:
|
1261 |
|
r += htmltext('<div class="category" id="category-%s">') % misc.simplify(title)
|
1262 |
1280 |
r += htmltext('<h2>%s</h2>') % title
|
1263 |
1281 |
elif category:
|
1264 |
|
r += htmltext('<div class="category" id="category-%s">') % category.url_name
|
1265 |
1282 |
r += htmltext('<h2>%s</h2>') % category.name
|
1266 |
|
else:
|
1267 |
|
r += htmltext('<div class="category" id="category-misc">')
|
|
1283 |
|
1268 |
1284 |
formdefs_data = None
|
1269 |
1285 |
if self.category:
|
1270 |
1286 |
url_prefix = ''
|
... | ... | |
1279 |
1295 |
if formdefs_data is None:
|
1280 |
1296 |
formdefs_data = [x.formdef.id for x in user_forms
|
1281 |
1297 |
if x.formdef.only_allow_one and not x.is_draft()]
|
|
1298 |
r += htmltext('<li data-keywords="%s">') % ' '.join(formdef.keywords_list)
|
1282 |
1299 |
if formdefs_data and formdef.id in formdefs_data:
|
1283 |
1300 |
# form has already been completed
|
1284 |
|
r += htmltext('<li>%s (%s, <a href="%s%s/">%s</a>)') % (
|
|
1301 |
r += htmltext('%s (%s, <a href="%s%s/">%s</a>)') % (
|
1285 |
1302 |
formdef.name, _('already completed'),
|
1286 |
1303 |
url_prefix, formdef.url_name, _('review'))
|
1287 |
1304 |
else:
|
1288 |
1305 |
classes = []
|
1289 |
1306 |
if formdef.is_disabled() and formdef.disabled_redirection:
|
1290 |
1307 |
classes.append('redirection')
|
1291 |
|
r += htmltext('<li><a class="%s" href="%s%s/">%s</a>') % (
|
|
1308 |
r += htmltext('<a class="%s" href="%s%s/">%s</a>') % (
|
1292 |
1309 |
' '.join(classes), url_prefix, formdef.url_name, formdef.name)
|
1293 |
1310 |
|
1294 |
1311 |
if formdef.description:
|
1295 |
1312 |
r += htmltext('<div class="description">%s</div>' % formdef.description)
|
1296 |
1313 |
r += htmltext('</li>')
|
|
1314 |
|
1297 |
1315 |
for formdef in advertised_forms:
|
1298 |
|
r += htmltext('<li class="required-authentication">')
|
|
1316 |
r += htmltext('<li class="required-authentication" data-keywords="%s">'
|
|
1317 |
) % ' '.join(formdef.keywords_list)
|
1299 |
1318 |
r += htmltext('<a href="%s%s/">%s</a>') % (url_prefix, formdef.url_name, formdef.name)
|
1300 |
1319 |
r += htmltext('<span> (%s)</span>') % _('authentication required')
|
1301 |
1320 |
if formdef.description:
|
1302 |
|
-
|