示例#1
0
 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')
示例#2
0
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()
示例#3
0
 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()