diff --git a/tailbone/views/employees.py b/tailbone/views/employees.py index 46375bb4..e42d32fa 100644 --- a/tailbone/views/employees.py +++ b/tailbone/views/employees.py @@ -304,6 +304,11 @@ class EmployeeView(MasterView): items.append(HTML.tag('li', c=six.text_type(department))) return HTML.tag('ul', c=items) + def touch_instance(self, employee): + app = self.get_rattail_app() + employment = app.get_employment_handler() + employment.touch_employee(self.Session(), employee) + def get_version_child_classes(self): return [ (model.Person, 'uuid', 'person_uuid'), diff --git a/tailbone/views/master.py b/tailbone/views/master.py index b182c839..a9e2110f 100644 --- a/tailbone/views/master.py +++ b/tailbone/views/master.py @@ -1159,11 +1159,8 @@ class MasterView(View): """ Perform actual "touch" logic for the given object. """ - change = model.Change() - change.class_name = obj.__class__.__name__ - change.instance_uuid = obj.uuid - change = self.Session.merge(change) - change.deleted = False + app = self.get_rattail_app() + app.touch_object(self.Session(), obj) def versions(self): """ @@ -4795,7 +4792,12 @@ class MasterView(View): if cls.touchable: config.add_tailbone_permission(permission_prefix, '{}.touch'.format(permission_prefix), "\"Touch\" a {} to trigger datasync for it".format(model_title)) - config.add_route('{}.touch'.format(route_prefix), '{}/touch'.format(instance_url_prefix)) + config.add_route('{}.touch'.format(route_prefix), + '{}/touch'.format(instance_url_prefix), + # TODO: should add this restriction after the old + # jquery theme is no longer in use + #request_method='POST' + ) config.add_view(cls, attr='touch', route_name='{}.touch'.format(route_prefix), permission='{}.touch'.format(permission_prefix))