##// END OF EJS Templates
tests: fixed some broken tests
tests: fixed some broken tests

File last commit:

r4557:5a275c9f default
r4563:98909132 default
Show More
_dt_elements.mako
492 lines | 16.2 KiB | application/x-mako | MakoHtmlLexer
templating: use .mako as extensions for template files.
r1282 ## DATA TABLE RE USABLE ELEMENTS
## usage:
## <%namespace name="dt" file="/data_table/_dt_elements.mako"/>
<%namespace name="base" file="/base/base.mako"/>
meta-tags: cleanup support for metatags....
r2091 <%def name="metatags_help()">
<table>
<%
example_tags = [
('state','[stable]'),
('state','[stale]'),
('state','[featured]'),
('state','[dev]'),
('state','[dead]'),
metatags: improve display syntax and add deprecated tag.
r2093 ('state','[deprecated]'),
meta-tags: cleanup support for metatags....
r2091
('label','[personal]'),
('generic','[v2.0.0]'),
('lang','[lang =&gt; JavaScript]'),
('license','[license =&gt; LicenseName]'),
('ref','[requires =&gt; RepoName]'),
('ref','[recommends =&gt; GroupName]'),
('ref','[conflicts =&gt; SomeName]'),
('ref','[base =&gt; SomeName]'),
('url','[url =&gt; [linkName](https://rhodecode.com)]'),
('see','[see =&gt; http://rhodecode.com]'),
]
%>
% for tag_type, tag in example_tags:
<tr>
<td>${tag|n}</td>
<td>${h.style_metatag(tag_type, tag)|n}</td>
</tr>
% endfor
</table>
</%def>
user/user-groups: render description in unified way with support of metatags
r4025 <%def name="render_description(description, stylify_metatags)">
<%
tags = []
if stylify_metatags:
tags, description = h.extract_metatags(description)
%>
% for tag_type, tag in tags:
${h.style_metatag(tag_type, tag)|n,trim}
% endfor
<code style="white-space: pre-wrap">${description}</code>
</%def>
templating: use .mako as extensions for template files.
r1282 ## REPOSITORY RENDERERS
<%def name="quick_menu(repo_name)">
ui: fix double icons on quick-menu.
r1952 <i class="icon-more"></i>
templating: use .mako as extensions for template files.
r1282 <div class="menu_items_container hidden">
<ul class="menu_items">
<li>
repo-summary: re-implemented summary view as pyramid....
r1785 <a title="${_('Summary')}" href="${h.route_path('repo_summary',repo_name=repo_name)}">
templating: use .mako as extensions for template files.
r1282 <span>${_('Summary')}</span>
</a>
</li>
<li>
changelog: rename changelog to commits pages
r3742 <a title="${_('Commits')}" href="${h.route_path('repo_commits',repo_name=repo_name)}">
<span>${_('Commits')}</span>
templating: use .mako as extensions for template files.
r1282 </a>
</li>
<li>
files: ported repository files controllers to pyramid views.
r1927 <a title="${_('Files')}" href="${h.route_path('repo_files:default_commit',repo_name=repo_name)}">
templating: use .mako as extensions for template files.
r1282 <span>${_('Files')}</span>
</a>
</li>
<li>
forks: moved pylons code into pyramid.
r1988 <a title="${_('Fork')}" href="${h.route_path('repo_fork_new',repo_name=repo_name)}">
templating: use .mako as extensions for template files.
r1282 <span>${_('Fork')}</span>
</a>
</li>
</ul>
</div>
</%def>
repositories: added option to archive repositories instead of deleting them....
r3090 <%def name="repo_name(name,rtype,rstate,private,archived,fork_of,short_name=False,admin=False)">
templating: use .mako as extensions for template files.
r1282 <%
def get_name(name,short_name=short_name):
if short_name:
return name.split('/')[-1]
else:
return name
%>
<div class="${'repo_state_pending' if rstate == 'repo_state_pending' else ''} truncate">
##NAME
repo-summary: re-implemented summary view as pyramid....
r1785 <a href="${h.route_path('edit_repo',repo_name=name) if admin else h.route_path('repo_summary',repo_name=name)}">
templating: use .mako as extensions for template files.
r1282
##TYPE OF REPO
%if h.is_hg(rtype):
icons: try to use consistent size of icons for dashboard.
r2092 <span title="${_('Mercurial repository')}"><i class="icon-hg" style="font-size: 14px;"></i></span>
templating: use .mako as extensions for template files.
r1282 %elif h.is_git(rtype):
icons: try to use consistent size of icons for dashboard.
r2092 <span title="${_('Git repository')}"><i class="icon-git" style="font-size: 14px"></i></span>
templating: use .mako as extensions for template files.
r1282 %elif h.is_svn(rtype):
icons: try to use consistent size of icons for dashboard.
r2092 <span title="${_('Subversion repository')}"><i class="icon-svn" style="font-size: 14px"></i></span>
templating: use .mako as extensions for template files.
r1282 %endif
##PRIVATE/PUBLIC
dan
ui: introduce user-bookmarks for creation of quick shortcuts
r3424 %if private is True and c.visual.show_private_icon:
templating: use .mako as extensions for template files.
r1282 <i class="icon-lock" title="${_('Private repository')}"></i>
dan
ui: introduce user-bookmarks for creation of quick shortcuts
r3424 %elif private is False and c.visual.show_public_icon:
templating: use .mako as extensions for template files.
r1282 <i class="icon-unlock-alt" title="${_('Public repository')}"></i>
%else:
<span></span>
%endif
${get_name(name)}
</a>
%if fork_of:
repo-summary: re-implemented summary view as pyramid....
r1785 <a href="${h.route_path('repo_summary',repo_name=fork_of.repo_name)}"><i class="icon-code-fork"></i></a>
templating: use .mako as extensions for template files.
r1282 %endif
%if rstate == 'repo_state_pending':
repositories: ported repo_creating checks to pyramid....
r1985 <span class="creation_in_progress tooltip" title="${_('This repository is being created in a background task')}">
(${_('creating...')})
</span>
templating: use .mako as extensions for template files.
r1282 %endif
repositories: added option to archive repositories instead of deleting them....
r3090
templating: use .mako as extensions for template files.
r1282 </div>
</%def>
meta-tags: cleanup support for metatags....
r2091 <%def name="repo_desc(description, stylify_metatags)">
<%
tags, description = h.extract_metatags(description)
%>
<div class="truncate-wrap">
% if stylify_metatags:
% for tag_type, tag in tags:
${h.style_metatag(tag_type, tag)|n}
% endfor
% endif
${description}
</div>
templating: use .mako as extensions for template files.
r1282 </%def>
<%def name="last_change(last_change)">
age: use local flag to fix the problem of wrongly reported last update times on repository groups....
r2490 ${h.age_component(last_change, time_is_local=True)}
templating: use .mako as extensions for template files.
r1282 </%def>
hovercards: added commit hovercard for files, and dashboard views.
r4032 <%def name="revision(repo_name, rev, commit_id, author, last_msg, commit_date)">
templating: use .mako as extensions for template files.
r1282 <div>
%if rev >= 0:
tooltips: small fixes/tests fixes.
r4033 <code><a class="tooltip-hovercard" data-hovercard-alt=${h.tooltip(last_msg)} data-hovercard-url="${h.route_path('hovercard_repo_commit', repo_name=repo_name, commit_id=commit_id)}" href="${h.route_path('repo_commit',repo_name=repo_name,commit_id=commit_id)}">${'r{}:{}'.format(rev,h.short_id(commit_id))}</a></code>
templating: use .mako as extensions for template files.
r1282 %else:
${_('No commits yet')}
%endif
</div>
</%def>
<%def name="rss(name)">
%if c.rhodecode_user.username != h.DEFAULT_USER:
dan
repo-feed: moved from pylons controller to pyramid views.
r1899 <a title="${h.tooltip(_('Subscribe to %s rss feed')% name)}" href="${h.route_path('rss_feed_home', repo_name=name, _query=dict(auth_token=c.rhodecode_user.feed_token))}"><i class="icon-rss-sign"></i></a>
templating: use .mako as extensions for template files.
r1282 %else:
dan
repo-feed: moved from pylons controller to pyramid views.
r1899 <a title="${h.tooltip(_('Subscribe to %s rss feed')% name)}" href="${h.route_path('rss_feed_home', repo_name=name)}"><i class="icon-rss-sign"></i></a>
templating: use .mako as extensions for template files.
r1282 %endif
</%def>
<%def name="atom(name)">
%if c.rhodecode_user.username != h.DEFAULT_USER:
dan
repo-feed: moved from pylons controller to pyramid views.
r1899 <a title="${h.tooltip(_('Subscribe to %s atom feed')% name)}" href="${h.route_path('atom_feed_home', repo_name=name, _query=dict(auth_token=c.rhodecode_user.feed_token))}"><i class="icon-rss-sign"></i></a>
templating: use .mako as extensions for template files.
r1282 %else:
dan
repo-feed: moved from pylons controller to pyramid views.
r1899 <a title="${h.tooltip(_('Subscribe to %s atom feed')% name)}" href="${h.route_path('atom_feed_home', repo_name=name)}"><i class="icon-rss-sign"></i></a>
templating: use .mako as extensions for template files.
r1282 %endif
</%def>
<%def name="repo_actions(repo_name, super_user=True)">
<div>
<div class="grid_edit">
repo-settings: converted repo settings to pyramid...
r1716 <a href="${h.route_path('edit_repo',repo_name=repo_name)}" title="${_('Edit')}">
dan
ui: fixed some missed icons during redesign phase
r3798 Edit
</a>
templating: use .mako as extensions for template files.
r1282 </div>
<div class="grid_delete">
forms: unified usage of h.secure_form. Make sure we ALWAYS pass in...
r2105 ${h.secure_form(h.route_path('edit_repo_advanced_delete', repo_name=repo_name), request=request)}
templates: switched most of confirm dialogs to sweetalert2
r4313 <input class="btn btn-link btn-danger" id="remove_${repo_name}" name="remove_${repo_name}"
onclick="submitConfirm(event, this, _gettext('Confirm to delete this repository'), _gettext('Delete'), '${repo_name}')"
type="submit" value="Delete"
>
templating: use .mako as extensions for template files.
r1282 ${h.end_form()}
</div>
</div>
</%def>
<%def name="repo_state(repo_state)">
<div>
%if repo_state == 'repo_state_pending':
<div class="tag tag4">${_('Creating')}</div>
%elif repo_state == 'repo_state_created':
<div class="tag tag1">${_('Created')}</div>
%else:
dan
tooltip: use consistent h.tooltip usage to set tooltips.
r1843 <div class="tag alert2" title="${h.tooltip(repo_state)}">invalid</div>
templating: use .mako as extensions for template files.
r1282 %endif
</div>
</%def>
## REPO GROUP RENDERERS
<%def name="quick_repo_group_menu(repo_group_name)">
ui: fix double icons on quick-menu.
r1952 <i class="icon-more"></i>
templating: use .mako as extensions for template files.
r1282 <div class="menu_items_container hidden">
<ul class="menu_items">
<li>
repo-groups-grid: remove left over icon.
r2012 <a href="${h.route_path('repo_group_home', repo_group_name=repo_group_name)}">${_('Summary')}</a>
templating: use .mako as extensions for template files.
r1282 </li>
</ul>
</div>
</%def>
<%def name="repo_group_name(repo_group_name, children_groups=None)">
<div>
home: moved home and repo group views into pyramid....
r1774 <a href="${h.route_path('repo_group_home', repo_group_name=repo_group_name)}">
icons: updated iconography and fontello configuration
r3680 <i class="icon-repo-group" title="${_('Repository group')}" style="font-size: 14px"></i>
templating: use .mako as extensions for template files.
r1282 %if children_groups:
${h.literal(' &raquo; '.join(children_groups))}
%else:
${repo_group_name}
%endif
</a>
</div>
</%def>
meta-tags: cleanup support for metatags....
r2091 <%def name="repo_group_desc(description, personal, stylify_metatags)">
<%
user/user-groups: render description in unified way with support of metatags
r4025 if stylify_metatags:
tags, description = h.extract_metatags(description)
meta-tags: cleanup support for metatags....
r2091 %>
<div class="truncate-wrap">
% if personal:
<div class="metatag" tag="personal">${_('personal')}</div>
% endif
% if stylify_metatags:
% for tag_type, tag in tags:
${h.style_metatag(tag_type, tag)|n}
% endfor
% endif
${description}
</div>
templating: use .mako as extensions for template files.
r1282 </%def>
<%def name="repo_group_actions(repo_group_id, repo_group_name, gr_count)">
<div class="grid_edit">
repo-groups: moved to pyramid
r2175 <a href="${h.route_path('edit_repo_group',repo_group_name=repo_group_name)}" title="${_('Edit')}">Edit</a>
templating: use .mako as extensions for template files.
r1282 </div>
<div class="grid_delete">
repo-groups: moved to pyramid
r2175 ${h.secure_form(h.route_path('edit_repo_group_advanced_delete', repo_group_name=repo_group_name), request=request)}
templates: switched most of confirm dialogs to sweetalert2
r4313 <input class="btn btn-link btn-danger" id="remove_${repo_group_name}" name="remove_${repo_group_name}"
onclick="submitConfirm(event, this, _gettext('Confirm to delete this repository group'), _gettext('Delete'), '${_ungettext('`{}` with {} repository','`{}` with {} repositories',gr_count).format(repo_group_name, gr_count)}')"
type="submit" value="Delete"
>
templating: use .mako as extensions for template files.
r1282 ${h.end_form()}
</div>
</%def>
<%def name="user_actions(user_id, username)">
<div class="grid_edit">
users: ported controllers from pylons into pyramid views.
r2114 <a href="${h.route_path('user_edit',user_id=user_id)}" title="${_('Edit')}">
dan
ui: fixed some missed icons during redesign phase
r3798 ${_('Edit')}
</a>
templating: use .mako as extensions for template files.
r1282 </div>
<div class="grid_delete">
users: ported controllers from pylons into pyramid views.
r2114 ${h.secure_form(h.route_path('user_delete', user_id=user_id), request=request)}
templates: switched most of confirm dialogs to sweetalert2
r4313 <input class="btn btn-link btn-danger" id="remove_user_${user_id}" name="remove_user_${user_id}"
onclick="submitConfirm(event, this, _gettext('Confirm to delete this user'), _gettext('Delete'), '${username}')"
type="submit" value="Delete"
>
templating: use .mako as extensions for template files.
r1282 ${h.end_form()}
</div>
</%def>
<%def name="user_group_actions(user_group_id, user_group_name)">
<div class="grid_edit">
user-groups: rewrote the app to pyramid...
r2068 <a href="${h.route_path('edit_user_group', user_group_id=user_group_id)}" title="${_('Edit')}">Edit</a>
templating: use .mako as extensions for template files.
r1282 </div>
<div class="grid_delete">
forms: unified usage of h.secure_form. Make sure we ALWAYS pass in...
r2105 ${h.secure_form(h.route_path('user_groups_delete', user_group_id=user_group_id), request=request)}
templates: switched most of confirm dialogs to sweetalert2
r4313 <input class="btn btn-link btn-danger" id="remove_group_${user_group_id}" name="remove_group_${user_group_id}"
onclick="submitConfirm(event, this, _gettext('Confirm to delete this user group'), _gettext('Delete'), '${user_group_name}')"
type="submit" value="Delete"
>
templating: use .mako as extensions for template files.
r1282 ${h.end_form()}
</div>
</%def>
<%def name="user_name(user_id, username)">
users: ported controllers from pylons into pyramid views.
r2114 ${h.link_to(h.person(username, 'username_or_name_or_email'), h.route_path('user_edit', user_id=user_id))}
templating: use .mako as extensions for template files.
r1282 </%def>
<%def name="user_profile(username)">
hovercacrds: added new tooltips and hovercards to expose certain information for objects shown in UI
r4026 ${base.gravatar_with_user(username, 16, tooltip=True)}
templating: use .mako as extensions for template files.
r1282 </%def>
user-groups: on admin view redirect links to public profile. We have an explicit...
r2639 <%def name="user_group_name(user_group_name)">
templating: use .mako as extensions for template files.
r1282 <div>
branch permissions: added logic to define in UI branch permissions....
r2975 <i class="icon-user-group" title="${_('User group')}"></i>
user-groups: on admin view redirect links to public profile. We have an explicit...
r2639 ${h.link_to_group(user_group_name)}
templating: use .mako as extensions for template files.
r1282 </div>
</%def>
## GISTS
<%def name="gist_gravatar(full_contact)">
<div class="gist_gravatar">
${base.gravatar(full_contact, 30)}
</div>
</%def>
<%def name="gist_access_id(gist_access_id, full_contact)">
<div>
dan
gists: cleanup UI and make the gist access id use monospace
r4193 <code>
<a href="${h.route_path('gist_show', gist_id=gist_access_id)}">${gist_access_id}</a>
</code>
templating: use .mako as extensions for template files.
r1282 </div>
</%def>
<%def name="gist_author(full_contact, created_on, expires)">
hovercacrds: added new tooltips and hovercards to expose certain information for objects shown in UI
r4026 ${base.gravatar_with_user(full_contact, 16, tooltip=True)}
templating: use .mako as extensions for template files.
r1282 </%def>
<%def name="gist_created(created_on)">
<div class="created">
${h.age_component(created_on, time_is_local=True)}
</div>
</%def>
<%def name="gist_expires(expires)">
<div class="created">
%if expires == -1:
${_('never')}
%else:
${h.age_component(h.time_to_utcdatetime(expires))}
%endif
</div>
</%def>
<%def name="gist_type(gist_type)">
gists: updated styling on gists pages according to the design.
r4082 %if gist_type == 'public':
<span class="tag tag-gist-public disabled">${_('Public Gist')}</span>
%else:
<span class="tag tag-gist-private disabled">${_('Private Gist')}</span>
templating: use .mako as extensions for template files.
r1282 %endif
</%def>
<%def name="gist_description(gist_description)">
${gist_description}
</%def>
## PULL REQUESTS GRID RENDERERS
<%def name="pullrequest_target_repo(repo_name)">
<div class="truncate">
repo-summary: re-implemented summary view as pyramid....
r1785 ${h.link_to(repo_name,h.route_path('repo_summary',repo_name=repo_name))}
templating: use .mako as extensions for template files.
r1282 </div>
</%def>
ui: changed status icons to <i> elements instead of div.
r3883
templating: use .mako as extensions for template files.
r1282 <%def name="pullrequest_status(status)">
ui: changed status icons to <i> elements instead of div.
r3883 <i class="icon-circle review-status-${status}"></i>
templating: use .mako as extensions for template files.
r1282 </%def>
<%def name="pullrequest_title(title, description)">
pull-requests: allow markup rendered description.
r2816 ${title}
templating: use .mako as extensions for template files.
r1282 </%def>
<%def name="pullrequest_comments(comments_nr)">
<i class="icon-comment"></i> ${comments_nr}
</%def>
pull-requests: loosen strict view of pull-requests that state is changing...
r4103 <%def name="pullrequest_name(pull_request_id, state, is_wip, target_repo_name, short=False)">
pull-requests: make my account and repo pr table more consistent.
r4512 <code>
pull-requests: prepare the migration of pull request to pyramid....
r1813 <a href="${h.route_path('pullrequest_show',repo_name=target_repo_name,pull_request_id=pull_request_id)}">
templating: use .mako as extensions for template files.
r1282 % if short:
dan
pull-requests: change the naming from #NUM into !NUM....
r4039 !${pull_request_id}
templating: use .mako as extensions for template files.
r1282 % else:
dan
pull-requests: change the naming from #NUM into !NUM....
r4039 ${_('Pull request !{}').format(pull_request_id)}
templating: use .mako as extensions for template files.
r1282 % endif
pull-requests: make my account and repo pr table more consistent.
r4512 </a>
</code>
% if state not in ['created']:
<span class="tag tag-merge-state-${state} tooltip" title="Pull request state is changing">${state}</span>
% endif
pull-requests: loosen strict view of pull-requests that state is changing...
r4103
pull-requests: make my account and repo pr table more consistent.
r4512 % if is_wip:
<span class="tag tooltip" title="${_('Work in progress')}">wip</span>
% endif
templating: use .mako as extensions for template files.
r1282 </%def>
pull-requests: show pr version in the my-account and repo pr listing grids.
r4557 <%def name="pullrequest_updated_on(updated_on, pr_version=None)">
% if pr_version:
<code>v${pr_version}</code>
% endif
templating: use .mako as extensions for template files.
r1282 ${h.age_component(h.time_to_utcdatetime(updated_on))}
</%def>
<%def name="pullrequest_author(full_contact)">
hovercacrds: added new tooltips and hovercards to expose certain information for objects shown in UI
r4026 ${base.gravatar_with_user(full_contact, 16, tooltip=True)}
templating: use .mako as extensions for template files.
r1282 </%def>
pull-requests: allow markup rendered description.
r2816
artifacts: updated CE code for this EE feature.
r3675 ## ARTIFACT RENDERERS
artifacts: added changes for new grid to display artifacts.
r3987 <%def name="repo_artifact_name(repo_name, file_uid, artifact_display_name)">
<a href="${h.route_path('repo_artifacts_get', repo_name=repo_name, uid=file_uid)}">
artifacts: added metadata table to store various extra data for artifact
r3991 ${artifact_display_name or '_EMPTY_NAME_'}
artifacts: added changes for new grid to display artifacts.
r3987 </a>
</%def>
artifacts: updated CE code for this EE feature.
r3675
artifacts: expose new repo specific URLs
r3729 <%def name="repo_artifact_uid(repo_name, file_uid)">
artifacts: added metadata table to store various extra data for artifact
r3991 <code>${h.shorter(file_uid, size=24, prefix=True)}</code>
artifacts: updated CE code for this EE feature.
r3675 </%def>
dan
artifacts: expose info link page.
r3966 <%def name="repo_artifact_sha256(artifact_sha256)">
artifacts: update display to not show elements for copy. The info page is now for this.
r4089 <div class="code">${h.shorter(artifact_sha256, 12)}</div>
dan
artifacts: expose info link page.
r3966 </%def>
artifacts: updated CE code for this EE feature.
r3675 <%def name="repo_artifact_actions(repo_name, file_store_id, file_uid)">
## <div class="grid_edit">
## <a href="#Edit" title="${_('Edit')}">${_('Edit')}</a>
## </div>
dan
artifacts: expose info link page.
r3966 <div class="grid_edit">
<a href="${h.route_path('repo_artifacts_info', repo_name=repo_name, uid=file_store_id)}" title="${_('Info')}">${_('Info')}</a>
</div>
% if h.HasRepoPermissionAny('repository.admin')(c.repo_name):
ui: hide action buttons for unpriviledged users on artifacts.
r3678 <div class="grid_delete">
artifacts: updated CE code for this EE feature.
r3675 ${h.secure_form(h.route_path('repo_artifacts_delete', repo_name=repo_name, uid=file_store_id), request=request)}
templates: switched most of confirm dialogs to sweetalert2
r4313 <input class="btn btn-link btn-danger" id="remove_artifact_${file_store_id}" name="remove_artifact_${file_store_id}"
onclick="submitConfirm(event, this, _gettext('Confirm to delete this artifact'), _gettext('Delete'), '${file_uid}')"
type="submit" value="${_('Delete')}"
>
artifacts: updated CE code for this EE feature.
r3675 ${h.end_form()}
</div>
ui: hide action buttons for unpriviledged users on artifacts.
r3678 % endif
artifacts: updated CE code for this EE feature.
r3675 </%def>
pull-requests: allow markup rendered description.
r2816 <%def name="markup_form(form_id, form_text='', help_text=None)">
<div class="markup-form">
<div class="markup-form-area">
<div class="markup-form-area-header">
<ul class="nav-links clearfix">
<li class="active">
<a href="#edit-text" tabindex="-1" id="edit-btn_${form_id}">${_('Write')}</a>
</li>
<li class="">
<a href="#preview-text" tabindex="-1" id="preview-btn_${form_id}">${_('Preview')}</a>
</li>
</ul>
</div>
<div class="markup-form-area-write" style="display: block;">
comments: multiple changes on comments navigation/display logic...
r4543 <div id="edit-container_${form_id}" style="margin-top: -1px">
pull-requests: allow markup rendered description.
r2816 <textarea id="${form_id}" name="${form_id}" class="comment-block-ta ac-input">${form_text if form_text else ''}</textarea>
</div>
<div id="preview-container_${form_id}" class="clearfix" style="display: none;">
<div id="preview-box_${form_id}" class="preview-box"></div>
</div>
</div>
<div class="markup-form-area-footer">
<div class="toolbar">
<div class="toolbar-text">
${(_('Parsed using %s syntax') % (
('<a href="%s">%s</a>' % (h.route_url('%s_help' % c.visual.default_renderer), c.visual.default_renderer.upper())),
)
)|n}
</div>
</div>
</div>
</div>
<div class="markup-form-footer">
% if help_text:
<span class="help-block">${help_text}</span>
% endif
</div>
</div>
<script type="text/javascript">
new MarkupForm('${form_id}');
</script>
</%def>