def faq_edited(faq, event): """Assign karma to user who edited a FAQ.""" user = IPerson(event.user) old_faq = event.object_before_modification context = get_karma_context_parameters(faq.target) if old_faq.content != faq.content or old_faq.title != faq.title: user.assignKarma('faqedited', **context)
def spec_modified(spec, event): """Check changes made to the spec and assign karma if needed.""" user = IPerson(event.user) spec_delta = event.object.getDelta(event.object_before_modification, user) if spec_delta is None: return # easy 1-1 mappings from attribute changing to karma attrs_actionnames = { 'title': 'spectitlechanged', 'summary': 'specsummarychanged', 'specurl': 'specurlchanged', 'priority': 'specpriority', 'productseries': 'specseries', 'distroseries': 'specseries', 'milestone': 'specmilestone', } for attr, actionname in attrs_actionnames.items(): if getattr(spec_delta, attr, None) is not None: user.assignKarma( actionname, product=spec.product, distribution=spec.distribution)
def spec_modified(spec, event): """Check changes made to the spec and assign karma if needed.""" user = IPerson(event.user) spec_delta = event.object.getDelta(event.object_before_modification, user) if spec_delta is None: return # easy 1-1 mappings from attribute changing to karma attrs_actionnames = { 'title': 'spectitlechanged', 'summary': 'specsummarychanged', 'specurl': 'specurlchanged', 'priority': 'specpriority', 'productseries': 'specseries', 'distroseries': 'specseries', 'milestone': 'specmilestone', } for attr, actionname in attrs_actionnames.items(): if getattr(spec_delta, attr, None) is not None: user.assignKarma(actionname, product=spec.product, distribution=spec.distribution)