示例#1
0
def apply_proposal(
    sender, obj=None, src=None, service=None,
    event=None, initial_state=None):  # noqa
  """Apply proposal procedure hook."""
  if not is_status_changed_to(obj.STATES.APPLIED, obj):
    return
  obj.applied_by = login.get_current_user()
  obj.apply_datetime = datetime.datetime.now()
  for field, value in obj.content.get("fields", {}).iteritems():
    if hasattr(obj.instance, field):
      setattr(obj.instance, field, value)
  applier.apply_action(obj.instance, obj.content)
  add_comment_about(obj, obj.STATES.APPLIED, obj.apply_reason)
示例#2
0
def apply_proposal(
    sender, obj=None, src=None, service=None,
    event=None, initial_state=None):  # noqa
  """Apply proposal procedure hook."""
  if not is_status_changed_to(obj.STATES.APPLIED, obj):
    return
  current_user = login.get_current_user()
  now = datetime.datetime.now()
  obj.applied_by = current_user
  obj.apply_datetime = now
  if applier.apply_action(obj.instance, obj.content):
    obj.instance.modified_by = current_user
    obj.instance.updated_at = now
  add_comment_about(obj, obj.STATES.APPLIED, obj.apply_reason)
示例#3
0
    def _apply_proposal(self):
        """Apply proposal procedure hook."""
        from ggrc.utils.revisions_diff import applier

        current_user = login.get_current_user()
        now = datetime.datetime.utcnow()
        # pylint: disable=attribute-defined-outside-init
        self.applied_by = current_user
        # pylint: enable=attribute-defined-outside-init
        self.apply_datetime = now
        if applier.apply_action(self.instance, self.content):
            self.instance.modified_by = current_user
            self.instance.updated_at = now
        self._add_comment_about(self.STATES.APPLIED, self.apply_reason)
        # notify proposalable instance that proposal applied
        signals.Proposal.proposal_applied.send(self.instance.__class__,
                                               instance=self.instance)
示例#4
0
def apply_proposal(sender,
                   obj=None,
                   src=None,
                   service=None,
                   event=None,
                   initial_state=None):  # noqa
    """Apply proposal procedure hook."""
    if not is_status_changed_to(obj.STATES.APPLIED, obj):
        return
    current_user = login.get_current_user()
    now = datetime.datetime.now()
    obj.applied_by = current_user
    obj.apply_datetime = now
    if applier.apply_action(obj.instance, obj.content):
        obj.instance.modified_by = current_user
        obj.instance.updated_at = now
    add_comment_about(obj, obj.STATES.APPLIED, obj.apply_reason)