Beispiel #1
0
def create_adminactivities_menu(req, uid, navmenuid, ln="en"):
    """Create admin activities menu.

    @param req: request object
    @param uid: user id
    @type uid: int
    @param navmenuid: the section of the website this page belongs (search, submit, baskets, etc.)
    @type navmenuid: string
    @param ln: language
    @type ln: string
    @return: HTML menu of the user activities
    @rtype: string
    """
    _ = gettext_set_language(ln)
    if req:
        if req.subprocess_env.has_key('HTTPS') \
           and req.subprocess_env['HTTPS'] == 'on':
            url_referer = CFG_SITE_SECURE_URL + req.unparsed_uri
        else:
            url_referer = CFG_SITE_URL + req.unparsed_uri
        if '/youraccount/logout' in url_referer:
            url_referer = ''
    else:
        url_referer = CFG_SITE_URL

    user_info = collect_user_info(req)
    activities = acc_find_possible_activities(user_info, ln)

    # For BibEdit and BibDocFile menu items, take into consideration
    # current record whenever possible
    if activities.has_key(_("Run Record Editor")) or \
           activities.has_key(_("Run Document File Manager")) and \
           user_info['uri'].startswith('/' + CFG_SITE_RECORD + '/'):
        try:
            # Get record ID and try to cast it to an int
            current_record_id = int(urlparse.urlparse(user_info['uri'])[2].split('/')[2])
        except:
            pass
        else:
            if activities.has_key(_("Run Record Editor")):
                activities[_("Run Record Editor")] = activities[_("Run Record Editor")] + '&#state=edit&recid=' + str(current_record_id)
            if activities.has_key(_("Run Document File Manager")):
                activities[_("Run Document File Manager")] = activities[_("Run Document File Manager")] + '&recid=' + str(current_record_id)

    try:
        return tmpl.tmpl_create_adminactivities_menu(
            ln=ln,
            selected=navmenuid == 'admin',
            url_referer=url_referer,
            guest=isGuestUser(uid),
            username=get_nickname_or_email(uid),
            submitter=user_info['precached_viewsubmissions'],
            referee=user_info['precached_useapprove'],
            admin=user_info['precached_useadmin'],
            usebaskets=user_info['precached_usebaskets'],
            usemessages=user_info['precached_usemessages'],
            usealerts=user_info['precached_usealerts'],
            usegroups=user_info['precached_usegroups'],
            useloans=user_info['precached_useloans'],
            usestats=user_info['precached_usestats'],
            activities=activities
            )
    except OperationalError:
        return ""
Beispiel #2
0
def create_adminactivities_menu(req, uid, navmenuid, ln="en"):
    """Create admin activities menu.

    @param req: request object
    @param uid: user id
    @type uid: int
    @param navmenuid: the section of the website this page belongs (search, submit, baskets, etc.)
    @type navmenuid: string
    @param ln: language
    @type ln: string
    @return: HTML menu of the user activities
    @rtype: string
    """
    _ = gettext_set_language(ln)
    if req:
        if req.subprocess_env.has_key('HTTPS') \
           and req.subprocess_env['HTTPS'] == 'on':
            url_referer = CFG_SITE_SECURE_URL + req.unparsed_uri
        else:
            url_referer = CFG_SITE_URL + req.unparsed_uri
        if '/youraccount/logout' in url_referer:
            url_referer = ''
    else:
        url_referer = CFG_SITE_URL

    user_info = collect_user_info(req)
    activities = acc_find_possible_activities(user_info, ln)

    # For BibEdit and BibDocFile menu items, take into consideration
    # current record whenever possible
    if activities.has_key(_("Run Record Editor")) or \
           activities.has_key(_("Run Document File Manager")) and \
           user_info['uri'].startswith('/record/'):
        try:
            # Get record ID and try to cast it to an int
            current_record_id = int(
                urlparse.urlparse(user_info['uri'])[2].split('/')[2])
        except:
            pass
        else:
            if activities.has_key(_("Run Record Editor")):
                activities[_("Run Record Editor")] = activities[_(
                    "Run Record Editor"
                )] + '&#state=edit&recid=' + str(current_record_id)
            if activities.has_key(_("Run Document File Manager")):
                activities[_("Run Document File Manager")] = activities[_(
                    "Run Document File Manager")] + '&recid=' + str(
                        current_record_id)

    try:
        return tmpl.tmpl_create_adminactivities_menu(
            ln=ln,
            selected=navmenuid == 'admin',
            url_referer=url_referer,
            guest=isGuestUser(uid),
            username=get_nickname_or_email(uid),
            submitter=user_info['precached_viewsubmissions'],
            referee=user_info['precached_useapprove'],
            admin=user_info['precached_useadmin'],
            usebaskets=user_info['precached_usebaskets'],
            usemessages=user_info['precached_usemessages'],
            usealerts=user_info['precached_usealerts'],
            usegroups=user_info['precached_usegroups'],
            useloans=user_info['precached_useloans'],
            usestats=user_info['precached_usestats'],
            activities=activities)
    except OperationalError:
        return ""
Beispiel #3
0
def isUserAdmin(user_info):
    """Return True if the user has some admin rights; False otherwise."""
    return acc_find_possible_activities(user_info) != {}
Beispiel #4
0
def isUserAdmin(user_info):
    """Return True if the user has some admin rights; False otherwise."""
    return acc_find_possible_activities(user_info) != {}