def showAddForm(self, req, reposname, errormsg=''): templatevars = {} templatevars['errormsg'] = errormsg templatevars['repository'] = reposname templatevars["systems"] = vcs_list() formatted = evaluate_main('newrepository.html', templatevars, request=req) return Response(formatted)
def add(self, req, path, templatevars): base_url = options.url_path('base_url_submin') reposname = '' if req.post and req.post['repository']: import re reposname = req.post.get('repository').strip() if re.findall('[^a-zA-Z0-9_-]', reposname): return self.showAddForm( req, reposname, 'Invalid characters in repository name') if "vcs" not in req.post or req.post.get("vcs").strip() == "": return self.showAddForm( req, reposname, "No repository type selected. Please select a repository type." ) vcs_type = req.post.get("vcs").strip() if reposname == '': return self.showAddForm(req, reposname, 'Repository name not supplied') if vcs_type not in vcs_list(): return self.showAddForm(req, reposname, "Invalid repository type supplied.") try: a = Repository(reposname, vcs_type) return self.showAddForm( req, reposname, 'Repository %s already exists' % reposname) except DoesNotExistError: pass try: asking_user = user.User(req.session['user']['name']) Repository.add(vcs_type, reposname, asking_user) except PermissionError as e: return ErrorResponse('could not create repository', request=req, details=str(e)) url = '%s/repositories/show/%s/%s' % (base_url, vcs_type, reposname) return Redirect(url, req) return self.showAddForm(req, reposname)
def add(self, req, path, templatevars): base_url = options.url_path('base_url_submin') reposname = '' if req.post and req.post['repository']: import re, commands reposname = req.post.get('repository').strip() if re.findall('[^a-zA-Z0-9_-]', reposname): return self.showAddForm(req, reposname, 'Invalid characters in repository name') if "vcs" not in req.post or req.post.get("vcs").strip() == "": return self.showAddForm(req, reposname, "No repository type selected. Please select a repository type.") vcs_type = req.post.get("vcs").strip() if reposname == '': return self.showAddForm(req, reposname, 'Repository name not supplied') if vcs_type not in vcs_list(): return self.showAddForm(req, reposname, "Invalid repository type supplied.") try: a = Repository(reposname, vcs_type) return self.showAddForm(req, reposname, 'Repository %s already exists' % reposname) except DoesNotExistError: pass try: asking_user = user.User(req.session['user']['name']) Repository.add(vcs_type, reposname, asking_user) except PermissionError as e: return ErrorResponse('could not create repository', request=req, details=str(e)) url = '%s/repositories/show/%s/%s' % (base_url, vcs_type, reposname) return Redirect(url, req) return self.showAddForm(req, reposname)