def read(self, id): c.auth_for_update = self.authz.am_authorized(c, Action.CHANGE_STATE, System()) c.auth_for_delete = self.authz.am_authorized(c, Action.PURGE, System()) c.app = Application.by_name(id) if not c.app: abort(404) return render('app/read.html')
def delete_application(application_name): application = Application.by_name(application_name) if not application_name: abort(404) app_tags = Session.query(ApplicationTag) \ .filter(ApplicationTag.application_id==application.id) \ .all() for app_tag in app_tags: app_tag.delete() application.delete() Session.commit()
def edit(self, id, data={}, errors={}, error_summary={}): c.auth_for_update = self.authorizer.am_authorized(c, Action.CHANGE_STATE, System()) if not c.auth_for_update: abort(401, _('Unauthorized to edit application')) c.app = Application.by_name(id) if c.app is None: abort(404) data = c.app.as_dict() data['images'] = c.app.images data['tags'] = [t.tag.name for t in c.app.tags] if request.method == 'POST' and not errors: try: data_dict = dict(request.params) app = edit_application(c.app, data_dict, request.POST.get('image'), request.POST.getall('keep_images')) redirect('/app/%s' % app.name) except ValidationError, e: errors = e.error_dict error_summary = e.error_summary return self.edit(data_dict, errors, error_summary)
def delete_application(application_name): application = Application.by_name(application_name) if not application_name: abort(404) application.delete() Session.commit()