def delete_flag_handler(self, env, data): insure_is_xhr(env) if env.request.method != 'POST': return DeleteItemHandler.__call__(self, env, data) self.stream.insure_has_permission(env, 'd') data.item.delete() env.db.commit() stream_url = self.stream.url_for(env).qs_set( data.filter_form.get_data()) return env.json({'result': 'success', 'location': stream_url})
def delete_flag_handler(self, env, data): #insure_is_xhr(env) if env.request.method != 'POST': return DeleteItemHandler.__call__(self, env, data) self.stream.insure_has_permission(env, 'd') data.item.delete() log = self.stream.create_log_entry(env, data.item, 'delete') if log is not None: env.db.add(log) self.clear_tray(env, data.item) env.db.commit() stream_url = self.stream.url_for(env).qs_set( data.filter_form.get_data()) return env.json({'success': True, 'location': stream_url})
def is_available(self, env, item): if not hasattr(item, 'state'): return False return env.version == 'admin' and \ DeleteItemHandler.is_available(self, env, item) and \ item.state not in (item.ABSENT, item.DELETED)