def transition_handler(event): """Handle Assignment transition events.""" event_name = event.event_name if not event_name.startswith('assignment.workflow'): return handlers = { 'assignment.workflow.submit': assignment_submit, 'assignment.workflow.perm_reject': assignment_perm_reject, 'assignment.workflow.complete': assignment_complete, 'assignment.workflow.self_assign': assignment_self_assign, 'assignment.workflow.assign_pool': assignment_self_assign, 'assignment.workflow.scheduling_issues': assignment_scheduling_issues, 'assignment.workflow.cancel': assignment_cancel, 'assignment.workflow.reject': assignment_reject, 'assignment.workflow.upload': assignment_upload, 'assignment.workflow.invalidate_assets': assignment_invalidate_assets, 'assignment.workflow.return_to_qa': assignment_return_to_qa, 'assignment.workflow.refuse': assignment_refuse, 'assignment.workflow.remove_schedule': assignment_remove_schedule, 'assignment.workflow.reschedule': assignment_reschedule, 'assignment.workflow.schedule': assignment_schedule, 'assignment.workflow.approve': assignment_approve, 'assignment.workflow.retract_rejection': assignment_retract_rejection } handler = handlers.get(event_name, None) if handler: handler(event) cache_manager.refresh(event.obj)
def transition_handler(event): """Handle LeadOrder transition events.""" event_name = event.event_name if not event_name.startswith('leadorder.workflow'): return handlers = { 'leadorder.workflow.cancel': order_subscribers.order_cancel, 'leadorder.workflow.perm_refuse': order_subscribers.order_perm_refuse, 'leadorder.workflow.remove_schedule': order_subscribers.order_remove_schedule, 'leadorder.workflow.refuse': order_subscribers.order_refuse, 'leadorder.workflow.new_shoot': order_subscribers.order_new_shoot_or_reshoot, 'leadorder.workflow.reshoot': order_subscribers.order_new_shoot_or_reshoot, 'leadorder.workflow.unassign': order_subscribers.order_unassign_reassign, 'leadorder.workflow.reassign': order_subscribers.order_unassign_reassign, } handler = handlers.get(event_name, None) if handler: handler(event) cache_manager.refresh(event.obj)
def order_created_handler(event): """Handle Order created event.""" order = event.obj request = event.request project = order.project # First set price and price_currency based on the project price = request.validated.get('price') or project.price order.price = price order.actual_order_price = price price_currency = project.price_currency order.price_currency = price_currency if not order.asset_types: order.asset_types = project.asset_types[:1] add_roles = ('customer_users', 'project_managers') apply_local_roles_from_parent(order, project, add_roles) location = request.validated.get('location', None) if not order.location and location: # force this because sometimes the obj.id is not available before the flush order.location = location # submit the order order.workflow.submit() create_new_assignment_from_order(order, request) cache_manager.refresh(order)
def project_updated_handler(event): """Handle Project updated event.""" project = event.obj cache_manager.refresh(project)
def assignment_after_update(mapper, connection, target): """Invalidate Assignment cache after instance update.""" cache_manager.refresh(target) cache_manager.refresh(target.order)
def assignment_updated_handler(event): """Handle Assignment updated event.""" assignment = event.obj cache_manager.refresh(assignment) cache_manager.refresh(assignment.order)
def comment_created_handler(event): """Handle Comment created event.""" comment = event.obj cache_manager.refresh(comment) if comment.entity: cache_manager.refresh(comment.entity)
def order_after_update(mapper, connection, target): """Invalidate Order cache after instance update.""" cache_manager.refresh(target) for assignment in target.assignments: cache_manager.refresh(assignment)
def leadorder_updated_handler(event): """Handle LeadOrder updated event.""" leadorder = event.obj cache_manager.refresh(leadorder)
def order_updated_handler(event): """Handle Order updated event.""" order = event.obj cache_manager.refresh(order)