admin: use backoffice (now unified) menu items in header (#6726)
This commit is contained in:
parent
077db23202
commit
a61084667a
|
@ -24,7 +24,8 @@ from quixote.html import htmltext, TemplateIO
|
|||
from qommon import errors
|
||||
from qommon import misc
|
||||
from qommon.bounces import Bounce
|
||||
from qommon.admin.menu import html_top, command_icon
|
||||
from qommon.backoffice.menu import html_top
|
||||
from qommon.admin.menu import command_icon
|
||||
|
||||
from qommon.form import *
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ from quixote.html import TemplateIO, htmltext
|
|||
|
||||
from wcs.categories import Category
|
||||
from qommon.form import *
|
||||
from qommon.admin.menu import html_top
|
||||
from qommon.backoffice.menu import html_top
|
||||
|
||||
from wcs.formdef import FormDef
|
||||
|
||||
|
|
|
@ -20,7 +20,8 @@ from quixote.html import TemplateIO, htmltext
|
|||
|
||||
from qommon.form import *
|
||||
from qommon import errors, misc
|
||||
from qommon.admin.menu import html_top, command_icon
|
||||
from qommon.backoffice.menu import html_top
|
||||
from qommon.admin.menu import command_icon
|
||||
|
||||
from wcs import fields
|
||||
from wcs.formdef import FormDef
|
||||
|
|
|
@ -29,7 +29,7 @@ from quixote.html import TemplateIO, htmltext
|
|||
from qommon import misc
|
||||
from qommon.errors import *
|
||||
from qommon.form import *
|
||||
from qommon.admin.menu import html_top
|
||||
from qommon.backoffice.menu import html_top
|
||||
from qommon import get_logger
|
||||
|
||||
from qommon import tokens
|
||||
|
|
|
@ -14,4 +14,5 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from qommon.admin.menu import html_top, command_icon, error_page, get_vc_version
|
||||
from qommon.backoffice.menu import html_top
|
||||
from qommon.admin.menu import command_icon, error_page, get_vc_version
|
||||
|
|
|
@ -20,7 +20,7 @@ from quixote.html import TemplateIO, htmltext
|
|||
|
||||
from qommon.form import *
|
||||
|
||||
from qommon.admin.menu import html_top
|
||||
from qommon.backoffice.menu import html_top
|
||||
|
||||
from wcs.roles import Role
|
||||
from wcs.formdef import FormDef
|
||||
|
|
|
@ -38,7 +38,8 @@ from qommon import errors
|
|||
from qommon.form import *
|
||||
from qommon.sms import SMS
|
||||
|
||||
from qommon.admin.menu import html_top, error_page
|
||||
from qommon.backoffice.menu import html_top
|
||||
from qommon.admin.menu import error_page
|
||||
from qommon.admin.cfg import cfg_submit
|
||||
from qommon.admin.emails import EmailsDirectory
|
||||
from qommon.admin.texts import TextsDirectory
|
||||
|
|
|
@ -27,7 +27,8 @@ from wcs.roles import Role
|
|||
import qommon.ident
|
||||
from qommon.form import *
|
||||
from qommon.admin.emails import EmailsDirectory
|
||||
from qommon.admin.menu import html_top, error_page
|
||||
from qommon.backoffice.menu import html_top
|
||||
from qommon.admin.menu import error_page
|
||||
|
||||
class UserUI(object):
|
||||
def __init__(self, user):
|
||||
|
|
|
@ -29,7 +29,8 @@ from quixote.html import TemplateIO, htmltext
|
|||
from qommon import errors
|
||||
from qommon import misc
|
||||
from qommon.form import *
|
||||
from qommon.admin.menu import html_top, command_icon
|
||||
from qommon.backoffice.menu import html_top
|
||||
from qommon.admin.menu import command_icon
|
||||
from qommon import get_logger
|
||||
|
||||
from wcs.workflows import *
|
||||
|
|
|
@ -20,7 +20,7 @@ from quixote.html import htmltext, TemplateIO
|
|||
|
||||
from qommon.form import *
|
||||
from qommon import misc, get_cfg
|
||||
from qommon.admin.menu import html_top
|
||||
from qommon.backoffice.menu import html_top
|
||||
from qommon.admin.cfg import cfg_submit
|
||||
|
||||
class EmailsDirectory(Directory):
|
||||
|
|
|
@ -22,7 +22,8 @@ from quixote.html import htmltext, TemplateIO
|
|||
from quixote.directory import Directory
|
||||
|
||||
from qommon import logger, errors
|
||||
from qommon.admin.menu import html_top, error_page
|
||||
from qommon.backoffice.menu import html_top
|
||||
from qommon.admin.menu import error_page
|
||||
|
||||
class ByUserDirectory(Directory):
|
||||
def _q_lookup(self, component):
|
||||
|
|
|
@ -122,65 +122,6 @@ vc_version = _find_vc_version()
|
|||
def get_vc_version():
|
||||
return vc_version
|
||||
|
||||
def generate_header_menu(selected = None):
|
||||
return get_publisher().get_admin_root().generate_header_menu(selected=selected)
|
||||
|
||||
def generate_user_info():
|
||||
if not get_request().user:
|
||||
return ''
|
||||
|
||||
try:
|
||||
username = get_session().get_user_object().display_name
|
||||
except:
|
||||
username = None
|
||||
raise
|
||||
|
||||
r = TemplateIO(html=True)
|
||||
logout_url = get_publisher().get_root_url() + 'logout'
|
||||
r += htmltext('<ul class="user-info">')
|
||||
if username:
|
||||
r += htmltext('<li class="ui-name">%s</li>') % username
|
||||
if get_publisher().backoffice_directory_class:
|
||||
backoffice_url = get_publisher().get_root_url() + 'backoffice/'
|
||||
r += htmltext('<li><a href="%s">%s</a></li>') % (backoffice_url, _('backoffice'))
|
||||
r += htmltext('<li class="ui-logout"><a href="%s">%s</a></li>') % (logout_url, _('logout'))
|
||||
|
||||
if get_publisher().admin_help_url and get_request().language in get_publisher().admin_help_url:
|
||||
help_url = get_publisher().admin_help_url[get_request().language]
|
||||
get_response().add_javascript(['jquery.js', 'jquery-ui.js', 'qommon.admin.js'])
|
||||
get_response().add_css_include('../js/smoothness/jquery-ui-1.10.0.custom.min.css')
|
||||
r += htmltext('<li class="ui-help"><a href="%s">%s</a></li>') % (help_url, _('help'))
|
||||
|
||||
r += htmltext('</ul>')
|
||||
return r.getvalue()
|
||||
|
||||
|
||||
def html_top(section, title = None, scripts = None):
|
||||
header_menu = generate_header_menu(section)
|
||||
user_info = generate_user_info()
|
||||
subtitle = ''
|
||||
for s in get_publisher().get_admin_root().menu_items:
|
||||
if s[0] == section or s[0] == '%s/' % section:
|
||||
subtitle = _(s[1])
|
||||
if not title:
|
||||
title = ''
|
||||
if not scripts:
|
||||
script = ''
|
||||
else:
|
||||
script = '\n'.join(['<script src="%s" type="text/javascript"></script>' % x for x in scripts])
|
||||
|
||||
org_name = get_cfg('sp', {}).get('organization_name', get_publisher().APP_NAME)
|
||||
site_name = get_cfg('misc', {}).get('sitename', org_name)
|
||||
if site_name:
|
||||
sitetitle = _('Administration of %s') % site_name
|
||||
else:
|
||||
sitetitle = _('Administration')
|
||||
if title:
|
||||
sitetitle += ' - '
|
||||
|
||||
admin_ezt = True
|
||||
get_response().filter.update(locals())
|
||||
|
||||
def command_icon(url, type, label = None, icon = None, popup = False):
|
||||
icons = {
|
||||
'edit': 'stock_edit_16.png',
|
||||
|
|
|
@ -20,7 +20,7 @@ from quixote.html import TemplateIO, htmltext
|
|||
|
||||
from qommon.form import *
|
||||
from qommon.admin.cfg import cfg_submit
|
||||
from qommon.admin.menu import html_top
|
||||
from qommon.backoffice.menu import html_top
|
||||
|
||||
class SettingsDirectory(AccessControlled, Directory):
|
||||
def _q_access(self):
|
||||
|
|
|
@ -23,7 +23,8 @@ from quixote.directory import Directory
|
|||
|
||||
from qommon.form import *
|
||||
from qommon import misc, get_cfg, ezt
|
||||
from qommon.admin.menu import html_top, is_accessible
|
||||
from qommon.backoffice.menu import html_top
|
||||
from qommon.admin.menu import is_accessible
|
||||
|
||||
|
||||
class TextsDirectory(Directory):
|
||||
|
|
|
@ -38,7 +38,7 @@ from qommon import emails
|
|||
from qommon import template
|
||||
from qommon import errors
|
||||
|
||||
from qommon.admin.menu import html_top as admin_html_top
|
||||
from qommon.backoffice.menu import html_top
|
||||
from qommon.admin.menu import command_icon
|
||||
|
||||
from base import AuthMethod
|
||||
|
@ -226,7 +226,7 @@ class AdminIDPDir(Directory):
|
|||
return Directory._q_traverse(self, path)
|
||||
|
||||
def _q_index(self):
|
||||
admin_html_top('settings', title = _(self.title))
|
||||
html_top('settings', title = _(self.title))
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('Identity Providers')
|
||||
r += htmltext('<ul id="nav-idp-admin">\n')
|
||||
|
@ -319,7 +319,7 @@ class AdminIDPDir(Directory):
|
|||
form = self.get_form()
|
||||
|
||||
if not ('submit' in get_request().form and form.is_submitted()) or form.has_errors():
|
||||
admin_html_top('settings', title = _('New Identity Provider'))
|
||||
html_top('settings', title = _('New Identity Provider'))
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('New Identity Provider')
|
||||
r += form.render()
|
||||
|
@ -497,7 +497,7 @@ class AdminIDPDir(Directory):
|
|||
os.unlink(metadata_pathname)
|
||||
|
||||
get_response().breadcrumb.append(('new_remote', _('New')))
|
||||
admin_html_top('settings', title = _('New Identity Provider'))
|
||||
html_top('settings', title = _('New Identity Provider'))
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('New Identity Provider')
|
||||
r += form.render()
|
||||
|
@ -582,7 +582,7 @@ class AdminIDPUI(Directory):
|
|||
misc.get_abs_path(self.idp['metadata']),
|
||||
misc.get_abs_path(self.idp.get('publickey')),
|
||||
misc.get_abs_path(self.idp.get('cacertchain', None)))
|
||||
admin_html_top('settings', title = _('Identity Provider'))
|
||||
html_top('settings', title = _('Identity Provider'))
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s - %s</h2>') % (_('Identity Provider'), p.providerId)
|
||||
r += htmltext('<div class="form">')
|
||||
|
@ -608,7 +608,7 @@ class AdminIDPUI(Directory):
|
|||
form = AdminIDPDir.get_form(self.idp)
|
||||
|
||||
if not ('submit' in get_request().form and form.is_submitted()) or form.has_errors():
|
||||
admin_html_top('settings', title = _('Edit Identity Provider'))
|
||||
html_top('settings', title = _('Edit Identity Provider'))
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('Edit Identity Provider')
|
||||
r += form.render()
|
||||
|
@ -635,7 +635,7 @@ class AdminIDPUI(Directory):
|
|||
if form.get_widget('cancel').parse():
|
||||
return redirect('..')
|
||||
if not form.is_submitted() or form.has_errors():
|
||||
admin_html_top('settings', title = _('Identity Provider'))
|
||||
html_top('settings', title = _('Identity Provider'))
|
||||
r = TemplateIO(html=True)
|
||||
if p:
|
||||
r += htmltext('<h2>%s %s</h2>') % (_('Deleting'), p.providerId)
|
||||
|
@ -779,7 +779,7 @@ class MethodAdminDirectory(Directory):
|
|||
return Directory._q_traverse(self, path)
|
||||
|
||||
def _q_index(self):
|
||||
admin_html_top('settings', title = _(self.title))
|
||||
html_top('settings', title = _(self.title))
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>SAML 2.0</h2>')
|
||||
r += htmltext('<dl> <dt><a href="sp">%s</a></dt> <dd>%s</dd>') % (
|
||||
|
@ -879,7 +879,7 @@ class MethodAdminDirectory(Directory):
|
|||
else:
|
||||
return redirect('.')
|
||||
|
||||
admin_html_top('settings', title = _('Service Provider Configuration'))
|
||||
html_top('settings', title = _('Service Provider Configuration'))
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('Service Provider Configuration')
|
||||
r += form.render()
|
||||
|
@ -1030,7 +1030,7 @@ class MethodAdminDirectory(Directory):
|
|||
return redirect('.')
|
||||
|
||||
get_response().breadcrumb.append(('identities', _('Identities Interface')))
|
||||
admin_html_top('settings', title = _('Identities Interface'))
|
||||
html_top('settings', title = _('Identities Interface'))
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('Identities Interface')
|
||||
r += form.render()
|
||||
|
@ -1059,7 +1059,7 @@ class MethodUserDirectory(Directory):
|
|||
if request.form.has_key('cancel') or request.form.has_key('done'):
|
||||
return redirect('..')
|
||||
|
||||
admin_html_top('users', title = _('Email with Identification Token'))
|
||||
html_top('users', title = _('Email with Identification Token'))
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('Email with Identification Token')
|
||||
|
||||
|
|
|
@ -33,10 +33,9 @@ from qommon import template
|
|||
from qommon import tokens
|
||||
from qommon import errors
|
||||
|
||||
from qommon.admin.menu import html_top as admin_html_top
|
||||
from qommon.admin.menu import command_icon
|
||||
|
||||
from qommon.backoffice.menu import html_top as backoffice_html_top
|
||||
from qommon.backoffice.menu import html_top
|
||||
|
||||
from qommon.admin.emails import EmailsDirectory
|
||||
from qommon.admin.texts import TextsDirectory
|
||||
|
@ -684,7 +683,7 @@ class MethodAdminDirectory(Directory):
|
|||
_q_exports = ['', 'passwords', 'identities', ('import', 'p_import')]
|
||||
|
||||
def _q_index(self):
|
||||
admin_html_top('settings', title = _(ADMIN_TITLE))
|
||||
html_top('settings', title = _(ADMIN_TITLE))
|
||||
get_response().breadcrumb.append( ('password/', _(self.title)))
|
||||
r = TemplateIO(html=True)
|
||||
|
||||
|
@ -751,7 +750,7 @@ class MethodAdminDirectory(Directory):
|
|||
self.passwords_submit(form)
|
||||
return redirect('.')
|
||||
|
||||
admin_html_top('settings', title = _('Passwords'))
|
||||
html_top('settings', title = _('Passwords'))
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('Passwords')
|
||||
r += form.render()
|
||||
|
@ -801,7 +800,7 @@ class MethodAdminDirectory(Directory):
|
|||
self.identities_submit(form)
|
||||
return redirect('.')
|
||||
|
||||
admin_html_top('settings', title = _('Identities Interface'))
|
||||
html_top('settings', title = _('Identities Interface'))
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('Identities Interface')
|
||||
r += form.render()
|
||||
|
@ -850,7 +849,7 @@ class MethodAdminDirectory(Directory):
|
|||
return t
|
||||
return redirect('.')
|
||||
|
||||
admin_html_top('settings', title = _('Bulk Import'))
|
||||
html_top('settings', title = _('Bulk Import'))
|
||||
r = TemplateIO(html=True)
|
||||
identities_cfg = get_cfg('identities', {})
|
||||
users_cfg = get_cfg('users', {})
|
||||
|
@ -1010,7 +1009,7 @@ class MethodAdminDirectory(Directory):
|
|||
job = AfterJob.get(get_request().form.get('job'))
|
||||
except KeyError:
|
||||
return redirect('..')
|
||||
admin_html_top('settings', title=_('Notifications'))
|
||||
html_top('settings', title=_('Notifications'))
|
||||
r = TemplateIO(html=True)
|
||||
r += get_session().display_message()
|
||||
get_response().add_javascript(['jquery.js', 'afterjob.js'])
|
||||
|
@ -1083,7 +1082,7 @@ class MethodUserDirectory(Directory):
|
|||
return actions
|
||||
|
||||
def email(self):
|
||||
admin_html_top('users', title=_(ADMIN_TITLE))
|
||||
html_top('users', title=_(ADMIN_TITLE))
|
||||
r = TemplateIO(html=True)
|
||||
get_response().breadcrumb.append(('email', 'Email Password'))
|
||||
r += htmltext('<h2>%s</h2>') % _('Email Password')
|
||||
|
@ -1215,17 +1214,13 @@ class AccountDirectory(Directory):
|
|||
|
||||
def _q_traverse(self, path):
|
||||
get_response().breadcrumb.append(('%s/' % self.account.id, self.account.id))
|
||||
if get_publisher().get_backoffice_root():
|
||||
self.html_top = backoffice_html_top
|
||||
else:
|
||||
self.html_top = admin_html_top
|
||||
return Directory._q_traverse(self, path)
|
||||
|
||||
def _q_index(self):
|
||||
identities_cfg = get_cfg('identities', {})
|
||||
users_cfg = get_cfg('users', {})
|
||||
|
||||
self.html_top('accounts', _('Account - %s') % self.account.id)
|
||||
html_top('accounts', _('Account - %s') % self.account.id)
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('Moderation of account')
|
||||
|
||||
|
@ -1309,7 +1304,7 @@ class AccountDirectory(Directory):
|
|||
|
||||
if not form.is_submitted():
|
||||
get_response().breadcrumb.append(('reject', _('Rejection')))
|
||||
self.html_top('accounts', _('Rejection'))
|
||||
html_top('accounts', _('Rejection'))
|
||||
return form.render()
|
||||
else:
|
||||
self.account.user.remove_self()
|
||||
|
@ -1335,7 +1330,7 @@ class AccountDirectory(Directory):
|
|||
|
||||
if not form.is_submitted():
|
||||
get_response().breadcrumb.append(('email', _('Reply by email')))
|
||||
self.html_top('accounts', _('Reply by email'))
|
||||
html_top('accounts', _('Reply by email'))
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('Reply by email')
|
||||
r += form.render()
|
||||
|
@ -1363,13 +1358,8 @@ class AccountsDirectory(AccessControlled, Directory):
|
|||
|
||||
get_response().breadcrumb.append(('accounts/', _('Accounts Management')))
|
||||
|
||||
if get_publisher().get_backoffice_root():
|
||||
self.html_top = backoffice_html_top
|
||||
else:
|
||||
self.html_top = admin_html_top
|
||||
|
||||
def _q_index(self):
|
||||
self.html_top('accounts', _('Accounts Management'))
|
||||
html_top('accounts', _('Accounts Management'))
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('New accounts waiting for moderation')
|
||||
|
||||
|
|
Loading…
Reference in New Issue