Example #1
0
 def create_request(self, pkg_id):
     pkg = Package.get(pkg_id)
     user = c.userobj if c.userobj else None
     if user:
         req = KataAccessRequest(user.id, pkg.id)
         req.save()
         url = h.url_for(controller='package', action='read', id=pkg_id)
         h.flash_success(_("You now requested editor rights to package %s" % pkg.name))
         redirect(url)
     else:
         url = h.url_for(controller='package', action='read', id=pkg_id)
         h.flash_error(_("Please log in!"))
         redirect(url)
Example #2
0
def accessreq_show(context, data_dict):
    ret = {}
    ret['title'] = _('Request edit rights')
    smtp = config.get('smtp.server', '')
    if not len(smtp):
        ret['ret'] = 'Yes'
        return ret
    pkg = Package.get(data_dict['id'])
    selrole = False
    ret['id'] = pkg.id
    for role in pkg.roles:
        if role.role == "admin":
            selrole = True
    ret['no_owner'] = not selrole
    if c.userobj:
        if 'id' in data_dict:
            req = KataAccessRequest.is_requesting(c.userobj.id, data_dict['id'])
            if req:
                ret['ret'] = 'Yes'
                return ret
            else:
                ret['ret'] = 'No'
                return ret
        else:
            ret['ret'] = 'No'
            return ret
    ret['ret'] = 'No'
    return ret
Example #3
0
 def request_access(self, pkg_id):
     # If the user is logged in show the access request button
     pkg = Package.get(pkg_id)
     if c.user and not user_has_role(c.userobj, 'admin', pkg) and\
                     not user_has_role(c.userobj, 'editor', pkg) and\
                     not c.userobj.sysadmin and\
                     not config.get('smtp_server', False):
         following = KataAccessRequest.is_requesting(c.userobj.id, pkg_id)
         if not following:
             return snippet('snippets/access_button.html',
                        obj_id=pkg_id,
                        following=following)
     return ''