def post(self): """ Callers should supply 'action' Callers can supply 'redirect_url' Action and response will be be delivered to redirect_url """ if not self.site: logging.info('/admin-post: Denying admin access') return self.error(403) action = self.request.POST.get('action').lower() nexturl = self.request.POST.get('redirect_url', admin_url()) gov = controller.get_current_site_controller() logging.debug('Admin/post, action =%s, nexturl: %s'%(action, nexturl)) response = '' assert(action in ['save', 'flush', 'reload', 'verify', 'delete', 'sync']) if action == 'save': self.save_config_path() elif action == 'flush': cache.flush_all() elif action == 'reload': models.flush_resources(self.site) elif action == 'verify': gov.do_verify_database_consistency() elif action == 'sync': models.schedule_sync(gov) elif action == 'delete': #todo raise NotImplemented('Delte not implemented') self.redirect('%s?%s'%(nexturl, urllib.urlencode({'action': action, 'response': response})))
def resource_access_notify(self, resource=None, url=None): BaseController.resource_access_notify(self, resource, url) # TODO cache here! entry = None if (not resource) and url: resource = models.Resource.get_resource_by_url(url) if resource: entry = resource.parent() models.schedule_sync(self, entry=entry)
def resource_access_notify(self, resource=None, url=None): BaseController.resource_access_notify(self, resource, url) #TODO cache here! entry = None if (not resource) and url: resource = models.Resource.get_resource_by_url(url) if resource: entry = resource.parent() models.schedule_sync(self, entry=entry)
def post(self): """ Callers should supply 'action' Callers can supply 'redirect_url' Action and response will be be delivered to redirect_url """ if not self.site: logging.info('/admin-post: Denying admin access') return self.error(403) action = self.request.POST.get('action').lower() nexturl = self.request.POST.get('redirect_url', admin_url()) gov = controller.get_current_site_controller() logging.debug('Admin/post, action =%s, nexturl: %s' % (action, nexturl)) response = '' assert (action in ['save', 'flush', 'reload', 'verify', 'delete', 'sync']) if action == 'save': self.save_config_path() elif action == 'flush': cache.flush_all() elif action == 'reload': models.flush_resources(self.site) elif action == 'verify': gov.do_verify_database_consistency() elif action == 'sync': models.schedule_sync(gov) elif action == 'delete': #todo raise NotImplemented('Delte not implemented') self.redirect( '%s?%s' % (nexturl, urllib.urlencode({ 'action': action, 'response': response })))