def delete(self, id): environment = Environments.first(id=id) msg = "The jail could not be deleted." if environment: if Environments.delete(jail): msg = "Jail Type deleted." cherrypy.session['flash'] = msg raise cherrypy.HTTPRedirect('/environments')
def add(self, **post): environment = Environments.new(id="", code="", name="") if post: fields = ['code', 'name' ] data = self._get_data('environment', fields, post) self._set_data(environment, data) if environment.validates() and Environments.add(environment): cherrypy.session['flash'] = "Environment successfully added." raise cherrypy.HTTPRedirect("/environments") cherrypy.session['flash'] = "Invalid data." env = dict( environment = environment ) return self.render("/environments/add.html", crumbs=self.crumbs, **env)
def view(self, environment): repo = YumRepositories.first(environment=environment) if not repo: cherrypy.session['flash'] = '404 Repository Not Found' raise cherrypy.HTTPRedirect('/repos/index') env = dict( repo=repo, env=Environments.first(id=repo.environment) ) return self.render("/repos/view.html", crumbs=self.crumbs, **env)
def edit(self, id, **post): environment = Environments.first(id=id) if not environment: cherrypy.session['flash'] = "404 Environment Not Found" raise cherrypy.HTTPRedirect('/environments') if post: fields = ['name', 'code'] data = self._get_data('environment', fields, post) if environment.update(data, fields): cherrypy.session['flash'] = "Environment successfully updated." raise cherrypy.HTTPRedirect('/environments') env=dict(environment = environment) return self.render("/environments/edit.html", crumbs=self.crumbs, **env)
def edit(self, id, **post): repo = YumRepositories.first(id=id) if not repo: raise cherrypy.HTTPRedirect('/repos') if 'repo' in post: if repo.validates(post['repo']): for k in post['repo']: setattr(repo, k, post['repo'][k]) YumRepositories.update(repo, ['data']) raise cherrypy.HTTPRedirect('/repos/view/%s' % id) env = dict( repo=repo, env=Environments.first(id=repo.environment) ) return self.render("/repos/edit.html", crumbs=self.crumbs, **env)
def retrieve(self, request, pk=None): """ get an entry detail by giving the pk key :param request: rest framework request :param pk: primary key :return: rest framework reaponse """ if not pk: raise ParamNotEnoughException('id') try: instance = Environments.view(pk) except ObjectDoesNotExist: raise ObjectNotExistException(pk) # add the module information instance.details = instance.entries.all() serializer = EnvironmentSerializer(instance) return Response(serializer.data)
def add(self, **post): repo = YumRepositories.new(data="", environment="") if post: fields = ['data', 'environment'] data = self._get_data('repo', fields, post) self._set_data(repo, data) if repo.validates() and YumRepositories.add(repo): cherrypy.session['flash'] = "Repo successfully added" raise cherrypy.HTTPRedirect("/repos/index") cherrypy.session['flash'] = "The repository data contains errors." # Only list environments not having a repo. repos = YumRepositories.all() environments = Environments.all() envs = [env.code for env in environments] repos = [repo.environment for repo in repos] available = set(envs) - set(repos) return self.render("/repos/add.html", crumbs=self.crumbs, environments=environments, available=available, repo=repo)
def add(self, **post): jail = Jails.new(id="", url="", name="", ip="", jail_type="", netmask="", environment="") if post: fields = ['name', 'url', 'ip', 'jail_type', 'netmask', 'environment'] data = self._get_data('jail', fields, post) self._set_data(jail, data) if jail.validates() and Jails.add(jail): cherrypy.session['flash'] = "Jail successfully added" raise cherrypy.HTTPRedirect("/jails") cherrypy.session['flash'] = "The jail could not be created." env = dict( environments=Environments.all(), jailTypes=JailTypes.all(), jail=jail ) return self.render("jails/add.html", crumbs=self.crumbs, **env)
def list(self, request): """ get the environment list :param request: rest framework request :return: """ try: index = int(request.query_params.get('index', 0)) except ValueError: raise ParamTypeException('index') try: limit = int(request.query_params.get('limit', 8)) except ValueError: raise ParamTypeException('limit') raw = Environments.list(index=index, limit=limit) serializer = EnvironmentSerializer(raw['datalist'], many=True) raw['datalist'] = serializer.data return Response(raw)
def edit(self, id, **post): jail = Jails.first(id=id) if not jail: cherrpy.session['flash'] = '404 Jail Not Found' raise cherrypy.HTTPRedirect('/jails/index') if post: fields = ['name', 'url', 'ip', 'jail_type', 'netmask', 'environment'] data = self._get_data('jail', fields, post) tmp = Jails.new() self._set_data(tmp, data) if tmp.validates() and jail.update(data, fields): cherrypy.session['flash'] = "Jail successfully updated." raise cherrypy.HTTPRedirect("/jails") cherrypy.session['flash'] = "The jail could not be updated." env = dict( environments=Environments.all(), jailTypes=JailTypes.all(), jail=jail ) return self.render("jails/edit.html", crumbs=self.crumbs, **env)
def update(self, request, pk=None): """ update a :param request: :param pk: :return: """ if not pk: raise ParamNotEnoughException('id') try: instance = Environments.view(pk=pk) except ObjectDoesNotExist: raise ObjectNotExistException(pk) serializer = EnvironmentSerializer(data=request.data) if serializer.is_valid(raise_exception=True): instance.name = serializer.validated_data['name'] instance.description = serializer.validated_data.get( 'description', instance.description) try: instance.save() except IntegrityError: raise DBIntegrityException(instance.name) return Response(EnvironmentSerializer(instance).data)
def GET(self): envs = Environments.all() return [e.to_dict() for e in envs]
def index(self): env = dict( repos=YumRepositories.all(), environments=Environments.all() ) return self.render("/repos/index.html", crumbs=self.crumbs[:-1], **env)
def index(self): env = dict(environments=Environments.all()) return self.render("/environments/index.html", crumbs=self.crumbs[:-1], **env)