Ejemplo n.º 1
0
def admin_options_edit(req, section, option):
    check_login(req)
    check_right(req, module_right)

    if section == 'morias' and option == 'debug':
        req.status = state.HTTP_BAD_REQUEST
        req.content_type = 'application/json'
        return json.dumps({'reason': 'denied_option'})

    value = req.form.getfirst('value', None, nuni)
    if value is None:
        req.status = state.HTTP_BAD_REQUEST
        req.content_type = 'application/json'
        return json.dumps({'reason': 'value_is_none'})

    item = Option(section, option)
    item.value = value
    error = item.set(req)
    if error != item:
        req.status = state.HTTP_BAD_REQUEST
        req.content_type = 'application/json'
        return json.dumps({'reason': option_errors[error]})

    req.content_type = 'application/json'
    return json.dumps({'value': value})
Ejemplo n.º 2
0
def admin_pages_regenerate_all(req):
    check_login(req, '/log_in?referer=/admin/pages')
    check_right(req, 'pages_modify')

    Page.regenerate_all(req)

    # TODO: redirect to same page
    redirect(req, '/admin/pages?error=%d' % SUCCESS)
Ejemplo n.º 3
0
def admin_pages_del(req, pid):
    check_login(req, '/log_in?referer=/admin/jopbs')
    check_right(req, 'super')
    check_referer(req, '/admin/jobs')

    job = Job(pid=pid)
    job.delete(req)
    redirect(req, '/admin/jobs')
Ejemplo n.º 4
0
def admin_jobs(req):
    check_login(req)
    check_right(req, 'super')

    pager = Pager()
    pager.bind(req.args)

    rows = Job.list(req, pager)
    return generate_page(req, "admin/jobs.html", pager=pager, rows=rows)
Ejemplo n.º 5
0
def admin_menu(req):
    check_login(req)
    check_right(req, module_right)

    pager = Pager(limit=-1)
    items = MenuItem.list(req, pager)

    return generate_page(
        req, "admin/page_menu.html", token=do_create_token(req, "/admin/menu"), pager=pager, items=items
    )
Ejemplo n.º 6
0
def admin_redirects_delete(req, id):
    check_login(req)
    check_right(req, module_right)
    check_token(req, req.args.get('token'), uri='/admin/redirects')

    item = Redirect(id)
    if not item.delete(req):
        req.status = state.HTTP_NOT_FOUND

    return send_json(req, {})
Ejemplo n.º 7
0
def admin_menu_delete(req, id):
    check_login(req)
    check_right(req, module_right)
    check_token(req, req.args.get("token"))

    item = MenuItem(id)
    if item.delete(req):
        return js_items(req)

    req.status = state.HTTP_BAD_REQUEST
    req.content_type = "application/json"
    return json.dumps({"reason": "integrity_error"})
Ejemplo n.º 8
0
def admin_menu_to(req, id):
    check_login(req)
    check_right(req, module_right)
    check_token(req, req.form.get("token"))

    item = MenuItem(id)

    if req.uri.endswith("to_child"):
        status = item.to_child(req)
    else:
        status = item.to_parent(req)
    if status:
        return js_items(req)

    req.status = state.HTTP_BAD_REQUEST
    req.content_type = "application/json"
    return json.dumps({"reason": "not_possible"})
Ejemplo n.º 9
0
def admin_redirects(req):
    check_login(req)
    check_right(req, module_right)

    search = req.args.getfirst('search', fce=nuni)

    pager = Pager(order='value')
    pager.bind(req.args)

    if search:
        pager.set_params(search=search)

    items = Redirect.list(req, pager, search=search)

    return generate_page(req, "admin/redirects.html",
                         token=create_token(req),
                         pager=pager, items=items, search=search)
Ejemplo n.º 10
0
def admin_redirects_add_update(req, id=None):
    check_login(req)
    check_right(req, module_right)
    check_token(req, req.form.get('token'), uri='/admin/redirects')

    item = Redirect(id)
    item.bind(req.form)
    rv = item.mod(req) if id else item.add(req)

    if isinstance(rv, Redirect):
        return send_json(req, {})

    req.status = state.HTTP_BAD_REQUEST
    if isinstance(rv, ErrorValue):
        return send_json(req, rv, cls=ObjectEncoder)

    return send_json(req, {'reason': 'src_exist'})
Ejemplo n.º 11
0
def admin_menu_add_update(req, id=None):
    check_login(req)
    check_right(req, module_right)
    check_token(req, req.form.get("token"))

    item = MenuItem(id)
    item.bind(req.form)
    if not item.title:
        req.status = state.HTTP_BAD_REQUEST
        req.content_type = "application/json"
        return json.dumps({"reason": "empty_title"})

    status = item.mod(req) if id else item.add(req)
    if status:
        return js_items(req)

    req.status = state.HTTP_BAD_REQUEST
    req.content_type = "application/json"
    return json.dumps({"reason": "title_exist"})
Ejemplo n.º 12
0
def admin_attachments(req):
    check_login(req)
    check_right(req, R_ADMIN)

    pager = Pager(order='timestamp', sort='desc')
    pager.bind(req.args)

    kwargs = {}

    if 'obty' in req.args:
        kwargs['object_type'] = req.args.getfirst('obty', fce=uni) or None
        pager.set_params(obty=kwargs['object_type'])
    if 'obid' in req.args:
        kwargs['object_id'] = req.args.getfirst('obid', fce=int)
        pager.set_params(obid=kwargs['object_id'])

    rows = Attachment.list(req, pager, **kwargs)
    return generate_page(req, "admin/attachments.html",
                         pager=pager, rows=rows)
Ejemplo n.º 13
0
def admin_options(req):
    check_login(req)
    check_right(req, module_right)

    section = req.args.getfirst('section', '', uni)
    module = req.args.getfirst('module', '', uni)
    kwargs = {}
    if section != 'all':
        kwargs['section'] = section
    if module != 'all':
        kwargs['module'] = module

    pager = Pager()
    pager.bind(req.args)
    options = Option.list(req, pager, **kwargs)
    for option in options:
        option.defaults_json = json.dumps(list(option.defaults))

    return generate_page(req, "admin/options.html", pager=pager,
                         options=options, sections=Option.sections_list(req),
                         modules=Option.modules_list(req), section=section,
                         module=module)