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)
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
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 ''