def edit(self, id, errors=None, format=u'html'): badge = self._get_badge_or_redirect(id) data = { 'badge_type': self._get_badge_type(badge), 'badge_thumbnail': ( h.badge_helper.generate_thumbnail_tag(badge) if getattr(badge, "thumbnail", None) else None ), 'form_type': 'update', 'return_url': self.base_url, 'sorting_orders': PROPOSAL_SORTS, } self._set_parent_categories(exclude=badge) # Plug in current values instance_default = badge.instance.key if badge.instance else '' defaults = dict( title=badge.title, description=badge.description, color=badge.color, visible=badge.visible, display_group=badge.display_group, impact=badge.impact, instance=instance_default, behavior_proposal_sort_order=badge.behavior_proposal_sort_order) if isinstance(badge, UserBadge): c.groups = Group.all_instance() defaults['group'] = badge.group and badge.group.code or '' if isinstance(badge, CategoryBadge): defaults['parent'] = badge.parent and badge.parent.id or '' defaults['select_child_description'] =\ badge.select_child_description return htmlfill.render(render(self.form_template, data, overlay=format == u'overlay'), errors=errors, defaults=defaults, force_defaults=False)
def add(self, badge_type=None, errors=None, format=u''): data = { 'form_type': 'add', 'groups': Group.all_instance(), 'sorting_orders': PROPOSAL_SORTS, } if badge_type is not None: data['badge_type'] = badge_type defaults = {'visible': True, 'select_child_description': '', 'impact': 0, } defaults.update(dict(request.params)) self._set_parent_categories() html = render(self.form_template, data, overlay=format == u'overlay') return htmlfill.render(html, defaults=defaults, errors=errors, force_defaults=False)