Example #1
0
	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)
Example #2
0
 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)
Example #3
0
    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)
Example #4
0
	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)