convert some ptl files (#3930)
This commit is contained in:
parent
37532a7108
commit
2bac98e91b
|
@ -1,5 +1,6 @@
|
|||
from quixote import get_publisher, redirect, get_request
|
||||
from quixote.directory import Directory, AccessControlled
|
||||
from quixote.html import TemplateIO, htmltext
|
||||
|
||||
from qommon import get_cfg, get_logger
|
||||
from qommon.form import Form, StringWidget, CheckboxWidget, SingleSelectWidget
|
||||
|
@ -75,35 +76,37 @@ class AbeliumDominoDirectory(Directory):
|
|||
_q_exports = [ '' , 'debug' ]
|
||||
label = N_('Domino')
|
||||
|
||||
def debug [html] (self):
|
||||
def debug(self):
|
||||
from abelium_domino_vars import SESSION_CACHE
|
||||
html_top(ABELIUM_DOMINO)
|
||||
'<form method="post"><button>Lancer le cron</button></form>'
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<form method="post"><button>Lancer le cron</button></form>')
|
||||
if get_request().get_method() == 'POST':
|
||||
try:
|
||||
from abelium_domino_synchro import synchronize_domino
|
||||
synchronize_domino(get_publisher())
|
||||
except Exception, e:
|
||||
htmltext('<pre>%s</pre>') % repr(e)
|
||||
'<p>code interne: %s</p>' % getattr(get_request().user, str('abelium_domino_code_famille'), None)
|
||||
'<dl>'
|
||||
r += htmltext('<pre>%s</pre>') % repr(e)
|
||||
r += htmltext('<p>code interne: %s</p>') % getattr(get_request().user, str('abelium_domino_code_famille'), None)
|
||||
r += htmltext('<dl>')
|
||||
context = get_publisher().substitutions.get_context_variables()
|
||||
for var in sorted(context.keys()):
|
||||
value = context[var]
|
||||
if value:
|
||||
'<dt>%s</dt>' % var
|
||||
'<dd>%s</dt>' % value
|
||||
'</dl>'
|
||||
r += htmltext('<dt>%s</dt>') % var
|
||||
r += htmltext('<dd>%s</dt>') % value
|
||||
r += htmltext('</dl>')
|
||||
delattr(get_request().session, SESSION_CACHE)
|
||||
|
||||
def _q_index [html] (self):
|
||||
def _q_index(self):
|
||||
publisher = get_publisher()
|
||||
cfg = get_cfg(ABELIUM_DOMINO, {})
|
||||
form = self.form(cfg)
|
||||
|
||||
title = _('Abelium Domino')
|
||||
html_top(ABELIUM_DOMINO, title = title)
|
||||
'<h2>%s</h2>' % title
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % title
|
||||
|
||||
if form.is_submitted() and not form.has_errors():
|
||||
if form.get_widget('cancel').parse():
|
||||
|
@ -118,20 +121,21 @@ class AbeliumDominoDirectory(Directory):
|
|||
return redirect('.')
|
||||
|
||||
if abelium_domino_ws:
|
||||
form.render()
|
||||
r += form.render()
|
||||
else:
|
||||
message = _('The Abelium Domino module is not '
|
||||
'activated because of this error when '
|
||||
'loading it: %r') % import_error
|
||||
'<p class="errornotice">%s</p>' % message
|
||||
'<dl style="display: none">'
|
||||
r += htmltext('<p class="errornotice">%s</p>') % message
|
||||
r += htmltext('<dl style="display: none">')
|
||||
context = get_publisher().substitutions.get_context_variables()
|
||||
for var in sorted(context.keys()):
|
||||
value = context[var]
|
||||
if value:
|
||||
'<dt>%s</dt>' % var
|
||||
'<dd>%s</dt>' % value
|
||||
'</dl>'
|
||||
r += htmltext('<dt>%s</dt>') % var
|
||||
r += htmltext('<dd>%s</dt>') % value
|
||||
r += htmltext('</dl>')
|
||||
return r.getvalue()
|
||||
|
||||
form_desc = (
|
||||
# name, required, title, kind
|
|
@ -2,6 +2,7 @@ import os
|
|||
|
||||
from quixote import get_publisher, redirect
|
||||
from quixote.directory import Directory
|
||||
from quixote.html import TemplateIO, htmltext
|
||||
|
||||
from qommon.publisher import get_publisher_class
|
||||
|
||||
|
@ -21,17 +22,19 @@ class BackofficeRootDirectory(wcs.backoffice.root.RootDirectory):
|
|||
('home', N_('Pending Forms')),
|
||||
('/', N_('WCS Form Server'))]
|
||||
|
||||
def _q_index [html] (self):
|
||||
def _q_index(self):
|
||||
return self.home()
|
||||
|
||||
def home [html] (self):
|
||||
'<p>'
|
||||
_('Welcome on Au Quotidien back office interface')
|
||||
'</p>'
|
||||
wcs.backoffice.root.RootDirectory.forms(self)
|
||||
def home(self):
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<p>')
|
||||
r += _('Welcome on Au Quotidien back office interface')
|
||||
r += htmltext('</p>')
|
||||
r += wcs.backoffice.root.RootDirectory.forms(self)
|
||||
from qommon.backoffice.menu import html_top
|
||||
html_top('home', _('Pending Forms'))
|
||||
get_response().breadcrumb[-1:] = [('home', _('Pending Forms'))]
|
||||
return r.getvalue()
|
||||
|
||||
def _q_lookup(self, component):
|
||||
return FormPage(component)
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
from quixote import redirect
|
||||
from quixote.directory import Directory
|
||||
from quixote.html import TemplateIO, htmltext
|
||||
|
||||
from qommon import misc
|
||||
from wcs.categories import Category
|
||||
|
@ -81,7 +82,7 @@ class CategoryPage(wcs.admin.categories.CategoryPage):
|
|||
class CategoriesDirectory(wcs.admin.categories.CategoriesDirectory):
|
||||
label = N_('Categories')
|
||||
|
||||
def new [html] (self):
|
||||
def new(self):
|
||||
get_response().breadcrumb.append( ('categories/', _('Categories')) )
|
||||
get_response().breadcrumb.append( ('new', _('New')) )
|
||||
category_ui = CategoryUI(None)
|
||||
|
@ -98,8 +99,10 @@ class CategoriesDirectory(wcs.admin.categories.CategoriesDirectory):
|
|||
return redirect('.')
|
||||
|
||||
html_top('categories', title = _('New Category'))
|
||||
'<h2>%s</h2>' % _('New Category')
|
||||
form.render()
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('New Category')
|
||||
r += form.render()
|
||||
return r.getvalue()
|
||||
|
||||
def _q_lookup(self, component):
|
||||
get_response().breadcrumb.append( ('categories/', _('Categories')) )
|
|
@ -23,6 +23,7 @@ except ImportError:
|
|||
|
||||
from quixote import get_publisher, get_request, redirect, get_session, get_session_manager
|
||||
from quixote.directory import Directory
|
||||
from quixote.html import TemplateIO, htmltext
|
||||
|
||||
from qommon import get_cfg, template, emails
|
||||
from qommon import misc
|
||||
|
@ -90,36 +91,40 @@ class EzMyspaceDirectory(MyspaceDirectory):
|
|||
def __init__(self):
|
||||
self._q_exports.extend(['change_email'])
|
||||
|
||||
def _index_buttons [html] (self, form_data):
|
||||
super(EzMyspaceDirectory, self)._index_buttons(form_data)
|
||||
'<p class="command"><a href="change_email">%s</a></p>' % _('Change my email')
|
||||
'<br />'
|
||||
'<br />'
|
||||
'<p>'
|
||||
_('You can delete your account freely from the services portal. '
|
||||
'This action is irreversible; it will destruct your personal '
|
||||
'datas and destruct the access to your request history.')
|
||||
' <strong><a href="remove">%s</a></strong>.' % _('Delete My Account')
|
||||
'</p>'
|
||||
def _index_buttons(self, form_data):
|
||||
r = TemplateIO(html=True)
|
||||
r += super(EzMyspaceDirectory, self)._index_buttons(form_data)
|
||||
r += htmltext('<p class="command"><a href="change_email">%s</a></p>') % _('Change my email')
|
||||
r += htmltext('<br />')
|
||||
r += htmltext('<br />')
|
||||
r += htmltext('<p>')
|
||||
r += _('You can delete your account freely from the services portal. '
|
||||
'This action is irreversible; it will destruct your personal '
|
||||
'datas and destruct the access to your request history.')
|
||||
r += htmltext(' <strong><a href="remove">%s</a></strong>.') % _('Delete My Account')
|
||||
r += htmltext('</p>')
|
||||
return r.getvalue()
|
||||
|
||||
def _my_profile [html] (self, user_formdef, user):
|
||||
'<h3 id="my-profile">%s</h3>' % _('My Profile')
|
||||
def _my_profile(self, user_formdef, user):
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h3 id="my-profile">%s</h3>') % _('My Profile')
|
||||
|
||||
TextsDirectory.get_html_text('top-of-profile')
|
||||
r += TextsDirectory.get_html_text('top-of-profile')
|
||||
|
||||
if user.form_data:
|
||||
get_publisher().substitutions.feed(get_request().user)
|
||||
data = get_publisher().substitutions.get_context_variables()
|
||||
TextsDirectory.get_html_text('aq-profile-presentation', data)
|
||||
r += TextsDirectory.get_html_text('aq-profile-presentation', data)
|
||||
else:
|
||||
'<p>%s</p>' % _('Empty profile')
|
||||
r += htmltext('<p>%s</p>') % _('Empty profile')
|
||||
return r.getvalue()
|
||||
|
||||
def submit_password(self, new_password):
|
||||
userPassword = ['{sha}%s' % base64.encodestring(sha(new_password).digest()).strip()]
|
||||
mod_list = [(ldap.MOD_REPLACE, 'userPassword', userPassword)]
|
||||
ezldap.get_ldap_conn().modify_s(get_session().user, mod_list)
|
||||
|
||||
def change_email [html] (self):
|
||||
def change_email(self):
|
||||
form = Form(enctype = 'multipart/form-data')
|
||||
form.add(ezldap.EzEmailWidget, 'new_email', title = _('New email'),
|
||||
required=True, size=30)
|
||||
|
@ -131,11 +136,13 @@ class EzMyspaceDirectory(MyspaceDirectory):
|
|||
new_email = form.get_widget('new_email').parse()
|
||||
self.change_email_submit(new_email)
|
||||
template.html_top(_('Change email'))
|
||||
TextsDirectory.get_html_text('aq-change-email-token-sent') % { 'new_email': new_email }
|
||||
return TextsDirectory.get_html_text('aq-change-email-token-sent') % { 'new_email': new_email }
|
||||
else:
|
||||
template.html_top(_('Change email'))
|
||||
TextsDirectory.get_html_text('aq-change-email')
|
||||
form.render()
|
||||
r = TemplateIO(html=True)
|
||||
r += TextsDirectory.get_html_text('aq-change-email')
|
||||
r += form.render()
|
||||
return r.getvalue()
|
||||
|
||||
def change_email_submit(self, new_email):
|
||||
data = {}
|
||||
|
@ -155,7 +162,7 @@ class EzMyspaceDirectory(MyspaceDirectory):
|
|||
emails.custom_ezt_email('aq-change-email-request', data,
|
||||
data['new_email'], fire_and_forget = True)
|
||||
|
||||
def remove [html] (self):
|
||||
def remove(self):
|
||||
user = get_request().user
|
||||
if not user or user.anonymous:
|
||||
raise errors.AccessUnauthorizedError()
|
||||
|
@ -167,11 +174,13 @@ class EzMyspaceDirectory(MyspaceDirectory):
|
|||
if form.is_submitted() and not form.has_errors():
|
||||
self.remove_email_submit()
|
||||
template.html_top(_('Removing Account'))
|
||||
TextsDirectory.get_html_text('aq-remove-token-sent') % { 'email': user.email }
|
||||
return TextsDirectory.get_html_text('aq-remove-token-sent') % { 'email': user.email }
|
||||
else:
|
||||
template.html_top(_('Removing Account'))
|
||||
TextsDirectory.get_html_text('aq-remove-account')
|
||||
form.render()
|
||||
r = TemplateIO(html=True)
|
||||
r += TextsDirectory.get_html_text('aq-remove-account')
|
||||
r += form.render()
|
||||
return r.getvalue()
|
||||
|
||||
def remove_email_submit(self):
|
||||
data = {}
|
||||
|
@ -404,7 +413,7 @@ class EzRegisterDirectory(Directory):
|
|||
data.get('email'), fire_and_forget = True)
|
||||
|
||||
|
||||
def passwordreset [html] (self):
|
||||
def passwordreset(self):
|
||||
form = Form(enctype='multipart/form-data')
|
||||
form.add(EmailWidget, 'email', title=_('Email'), required=True, size=30)
|
||||
form.add_submit('change', _('Submit Request'))
|
||||
|
@ -415,16 +424,20 @@ class EzRegisterDirectory(Directory):
|
|||
if dn:
|
||||
self.passwordreset_submit(email, dn)
|
||||
template.html_top(_('Forgotten Password'))
|
||||
TextsDirectory.get_html_text(str('password-forgotten-token-sent'))
|
||||
return TextsDirectory.get_html_text(str('password-forgotten-token-sent'))
|
||||
else:
|
||||
form.set_error('email', _('There is no user with that email.'))
|
||||
template.html_top(_('Forgotten Password'))
|
||||
TextsDirectory.get_html_text(str('password-forgotten-enter-username'))
|
||||
form.render()
|
||||
r = TemplateIO(html=True)
|
||||
r += TextsDirectory.get_html_text(str('password-forgotten-enter-username'))
|
||||
r += form.render()
|
||||
return r.getvalue()
|
||||
else:
|
||||
template.html_top(_('Forgotten Password'))
|
||||
TextsDirectory.get_html_text(str('password-forgotten-enter-username'))
|
||||
form.render()
|
||||
r = TemplateIO(html=True)
|
||||
r += TextsDirectory.get_html_text(str('password-forgotten-enter-username'))
|
||||
r += form.render()
|
||||
return r.getvalue()
|
||||
|
||||
def get_dn_by_email(self, email):
|
||||
ldap_conn = ezldap.get_ldap_conn()
|
|
@ -1,5 +1,6 @@
|
|||
from quixote import get_request, get_response, get_session, redirect
|
||||
from quixote.directory import Directory, AccessControlled
|
||||
from quixote.html import TemplateIO, htmltext
|
||||
|
||||
import wcs
|
||||
import wcs.admin.root
|
||||
|
@ -28,7 +29,7 @@ class FormDirectory(Directory):
|
|||
self.formdef.store()
|
||||
return redirect('..')
|
||||
|
||||
def options [html] (self):
|
||||
def options(self):
|
||||
form = Form(enctype='multipart/form-data')
|
||||
form.add_submit('submit', _('Submit'))
|
||||
form.add_submit('cancel', _('Cancel'))
|
||||
|
@ -43,10 +44,12 @@ class FormDirectory(Directory):
|
|||
if form.is_submitted() and not form.has_errors():
|
||||
return redirect('..')
|
||||
|
||||
'<p>'
|
||||
_('No available options')
|
||||
'</p>'
|
||||
form.render()
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<p>')
|
||||
r += _('No available options')
|
||||
r += htmltext('</p>')
|
||||
r += form.render()
|
||||
return r.getvalue()
|
||||
|
||||
|
||||
def is_forms_admin():
|
||||
|
@ -66,8 +69,9 @@ class FormsDirectory(AccessControlled, Directory):
|
|||
def _q_access(self):
|
||||
get_response().breadcrumb.append(('forms/', _('Forms Management')))
|
||||
|
||||
def _q_index [html] (self):
|
||||
def _q_index(self):
|
||||
html_top('forms', _('Forms Management'))
|
||||
r = TemplateIO(html=True)
|
||||
|
||||
session = get_session()
|
||||
user = get_request().user
|
||||
|
@ -97,40 +101,41 @@ class FormsDirectory(AccessControlled, Directory):
|
|||
mid_term = ((len(lists) * 2) + sum([len(x[-1]) for x in lists])) / 2
|
||||
count = 0
|
||||
in_second_column = False
|
||||
'<div class="splitcontent-left">'
|
||||
r += htmltext('<div class="splitcontent-left">')
|
||||
for cat_name, formdefs in lists:
|
||||
if not in_second_column and count > mid_term:
|
||||
'</div>'
|
||||
'<div class="splitcontent-right">'
|
||||
r += htmltext('</div>')
|
||||
r += htmltext('<div class="splitcontent-right">')
|
||||
count += 2 + len(formdefs)
|
||||
if len([x for x in formdefs if not x.disabled]) == 0:
|
||||
# all forms are disabled, dim the block
|
||||
'<div class="bo-block dimmed-block">'
|
||||
r += htmltext('<div class="bo-block dimmed-block">')
|
||||
else:
|
||||
'<div class="bo-block">'
|
||||
r += htmltext('<div class="bo-block">')
|
||||
if cat_name:
|
||||
'<h2>%s</h2>' % cat_name
|
||||
r += htmltext('<h2>%s</h2>') % cat_name
|
||||
elif len(lists) > 1:
|
||||
'<h2>%s</h2>' % _('Misc')
|
||||
'<ul>'
|
||||
r += htmltext('<h2>%s</h2>') % _('Misc')
|
||||
r += htmltext('<ul>')
|
||||
for formdef in formdefs:
|
||||
'<li>'
|
||||
r += htmltext('<li>')
|
||||
if formdef.disabled:
|
||||
'<span class="disabled">'
|
||||
'<a href="../%s/">%s</a>' % (formdef.url_name, formdef.name)
|
||||
r += htmltext('<span class="disabled">')
|
||||
r += htmltext('<a href="../%s/">%s</a>') % (formdef.url_name, formdef.name)
|
||||
if formdef.disabled:
|
||||
'</span>'
|
||||
r += htmltext('</span>')
|
||||
if is_admin:
|
||||
if formdef.disabled:
|
||||
' (<a href="%s/enable">%s</a>)' % (formdef.id, _('enable'))
|
||||
r += htmltext(' (<a href="%s/enable">%s</a>)') % (formdef.id, _('enable'))
|
||||
else:
|
||||
' (<a href="%s/disable">%s</a>)' % (formdef.id, _('disable'))
|
||||
'</li>'
|
||||
'</ul>'
|
||||
'</div>'
|
||||
'</div>'
|
||||
r += htmltext(' (<a href="%s/disable">%s</a>)') % (formdef.id, _('disable'))
|
||||
r += htmltext('</li>')
|
||||
r += htmltext('</ul>')
|
||||
r += htmltext('</div>')
|
||||
r += htmltext('</div>')
|
||||
|
||||
get_logger().info('forms backoffice - home')
|
||||
return r.getvalue()
|
||||
|
||||
def _q_lookup(self, component):
|
||||
try:
|
|
@ -1,5 +1,6 @@
|
|||
from quixote import get_request, get_response, get_session, redirect
|
||||
from quixote.directory import Directory, AccessControlled
|
||||
from quixote.html import TemplateIO, htmltext
|
||||
|
||||
import wcs
|
||||
import wcs.admin.root
|
||||
|
@ -17,7 +18,7 @@ class LinkDirectory(Directory):
|
|||
def __init__(self, link):
|
||||
self.link = link
|
||||
|
||||
def _q_index [html] (self):
|
||||
def _q_index(self):
|
||||
form = Form(enctype='multipart/form-data')
|
||||
form.add_submit('edit', _('Edit'))
|
||||
form.add_submit('delete', _('Delete'))
|
||||
|
@ -31,14 +32,16 @@ class LinkDirectory(Directory):
|
|||
return redirect('..')
|
||||
|
||||
html_top('links', title = _('Link: %s') % self.link.title)
|
||||
'<h2>%s</h2>' % _('Link: %s') % self.link.title
|
||||
'<p>'
|
||||
self.link.url
|
||||
'</p>'
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('Link: %s') % self.link.title
|
||||
r += htmltext('<p>')
|
||||
r += self.link.url
|
||||
r += htmltext('</p>')
|
||||
|
||||
form.render()
|
||||
r += form.render()
|
||||
return r.getvalue()
|
||||
|
||||
def edit [html] (self):
|
||||
def edit(self):
|
||||
form = self.form()
|
||||
if form.get_submit() == 'cancel':
|
||||
return redirect('.')
|
||||
|
@ -48,8 +51,10 @@ class LinkDirectory(Directory):
|
|||
return redirect('..')
|
||||
|
||||
html_top('links', title = _('Edit Link: %s') % self.link.title)
|
||||
'<h2>%s</h2>' % _('Edit Link: %s') % self.link.title
|
||||
form.render()
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('Edit Link: %s') % self.link.title
|
||||
r += form.render()
|
||||
return r.getvalue()
|
||||
|
||||
|
||||
def form(self):
|
||||
|
@ -70,7 +75,7 @@ class LinkDirectory(Directory):
|
|||
setattr(self.link, k, widget.parse())
|
||||
self.link.store()
|
||||
|
||||
def delete [html] (self):
|
||||
def delete(self):
|
||||
form = Form(enctype='multipart/form-data')
|
||||
form.widgets.append(HtmlWidget('<p>%s</p>' % _(
|
||||
'You are about to irrevocably delete this link.')))
|
||||
|
@ -81,8 +86,10 @@ class LinkDirectory(Directory):
|
|||
if not form.is_submitted() or form.has_errors():
|
||||
get_response().breadcrumb.append(('delete', _('Delete')))
|
||||
html_top('links', title = _('Delete Link'))
|
||||
'<h2>%s</h2>' % _('Deleting Link: %s') % self.link.title
|
||||
form.render()
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('Deleting Link: %s') % self.link.title
|
||||
r += form.render()
|
||||
return r.getvalue()
|
||||
else:
|
||||
self.link.remove_self()
|
||||
return redirect('..')
|
||||
|
@ -105,30 +112,32 @@ class LinksDirectory(AccessControlled, Directory):
|
|||
get_response().breadcrumb.append(('links/', _('Links')))
|
||||
|
||||
|
||||
def _q_index [html] (self):
|
||||
def _q_index(self):
|
||||
html_top('links', _('Links'))
|
||||
r = TemplateIO(html=True)
|
||||
get_response().add_javascript(['jquery.js', 'jquery-ui.js', 'biglist.js'])
|
||||
|
||||
'<ul id="main-actions">'
|
||||
' <li><a class="new-item" href="new">%s</a></li>' % _('New Link')
|
||||
'</ul>'
|
||||
r += htmltext('<ul id="main-actions">')
|
||||
r += htmltext(' <li><a class="new-item" href="new">%s</a></li>') % _('New Link')
|
||||
r += htmltext('</ul>')
|
||||
|
||||
links = Link.select()
|
||||
Link.sort_by_position(links)
|
||||
|
||||
'<ul class="biglist sortable" id="links-list">'
|
||||
r += htmltext('<ul class="biglist sortable" id="links-list">')
|
||||
for l in links:
|
||||
link_id = l.id
|
||||
'<li class="biglistitem" id="itemId_%s">' % link_id
|
||||
'<strong class="label"><a href="%s/">%s</a></strong>' % (link_id, l.title)
|
||||
'<p class="details">'
|
||||
l.url
|
||||
'</p>'
|
||||
'<p class="commands">'
|
||||
command_icon('%s/edit' % link_id, 'edit')
|
||||
command_icon('%s/delete' % link_id, 'remove')
|
||||
'</p></li>'
|
||||
'</ul>'
|
||||
r += htmltext('<li class="biglistitem" id="itemId_%s">') % link_id
|
||||
r += htmltext('<strong class="label"><a href="%s/">%s</a></strong>') % (link_id, l.title)
|
||||
r += htmltext('<p class="details">')
|
||||
r += l.url
|
||||
r += htmltext('</p>')
|
||||
r += htmltext('<p class="commands">')
|
||||
r += command_icon('%s/edit' % link_id, 'edit')
|
||||
r += command_icon('%s/delete' % link_id, 'remove')
|
||||
r += htmltext('</p></li>')
|
||||
r += htmltext('</ul>')
|
||||
return r.getvalue()
|
||||
|
||||
def update_order(self):
|
||||
request = get_request()
|
||||
|
@ -143,7 +152,7 @@ class LinksDirectory(AccessControlled, Directory):
|
|||
return 'ok'
|
||||
|
||||
|
||||
def new [html] (self):
|
||||
def new(self):
|
||||
link_ui = LinkDirectory(Link())
|
||||
|
||||
form = link_ui.form()
|
||||
|
@ -156,8 +165,10 @@ class LinksDirectory(AccessControlled, Directory):
|
|||
|
||||
get_response().breadcrumb.append(('new', _('New Link')))
|
||||
html_top('links', title = _('New Link'))
|
||||
'<h2>%s</h2>' % _('New Link')
|
||||
form.render()
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('New Link')
|
||||
r += form.render()
|
||||
return r.getvalue()
|
||||
|
||||
def _q_lookup(self, component):
|
||||
try:
|
Reference in New Issue