50 lines
1.2 KiB
Plaintext
50 lines
1.2 KiB
Plaintext
import os
|
|
import csv
|
|
import cStringIO
|
|
|
|
from quixote import get_session, get_session_manager, get_publisher, get_request, get_response
|
|
from quixote.directory import Directory, AccessControlled
|
|
|
|
from qommon.backoffice.menu import html_top
|
|
|
|
from qommon import misc, get_logger
|
|
|
|
from qommon import errors
|
|
|
|
from lcs.users import User
|
|
|
|
def ellipsize(s, length = 30):
|
|
if not s or len(s) < length:
|
|
return s
|
|
return s[:length-5] + ' (...)'
|
|
|
|
|
|
def register_directory(urlname, directory):
|
|
if not urlname in RootDirectory._q_exports:
|
|
RootDirectory._q_exports.append(urlname)
|
|
setattr(RootDirectory, urlname, directory)
|
|
|
|
def register_menu_item(url, title):
|
|
RootDirectory.items.append((url, title))
|
|
|
|
|
|
class RootDirectory(AccessControlled, Directory):
|
|
_q_exports = ['']
|
|
|
|
items = [
|
|
('/', N_('Lasso Conformance Event Service Provider'))]
|
|
|
|
def _q_access(self):
|
|
user = get_request().user
|
|
if not user:
|
|
raise errors.AccessUnauthorizedError()
|
|
|
|
def _q_index [html] (self):
|
|
html_top('', _('Back office'))
|
|
'XXX'
|
|
|
|
def _q_traverse(self, path):
|
|
get_response().breadcrumb.append( ('backoffice/', _('Back Office')) )
|
|
return Directory._q_traverse(self, path)
|
|
|