本文整理汇总了Python中reviewboard.changedescs.models.ChangeDescription.get_user方法的典型用法代码示例。如果您正苦于以下问题:Python ChangeDescription.get_user方法的具体用法?Python ChangeDescription.get_user怎么用?Python ChangeDescription.get_user使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reviewboard.changedescs.models.ChangeDescription
的用法示例。
在下文中一共展示了ChangeDescription.get_user方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_determine_user_for_review_request
# 需要导入模块: from reviewboard.changedescs.models import ChangeDescription [as 别名]
# 或者: from reviewboard.changedescs.models.ChangeDescription import get_user [as 别名]
def test_determine_user_for_review_request(self):
"""Testing ChangeDescription.get_user for change descriptions for
review requests
"""
review_request = self.create_review_request(publish=True)
doc = review_request.submitter
grumpy = User.objects.get(username='grumpy')
change1 = ChangeDescription()
change1.record_field_change('foo', ['bar'], ['baz'])
change1.save()
review_request.changedescs.add(change1)
change2 = ChangeDescription()
change2.record_field_change('submitter', doc, grumpy, 'username')
change2.save()
review_request.changedescs.add(change2)
change3 = ChangeDescription()
change3.record_field_change('foo', ['bar'], ['baz'])
change3.save()
review_request.changedescs.add(change3)
change4 = ChangeDescription()
change4.record_field_change('submitter', grumpy, doc, 'username')
change4.save()
review_request.changedescs.add(change4)
self.assertIsNone(change1.user)
self.assertIsNone(change2.user)
self.assertIsNone(change3.user)
self.assertIsNone(change4.user)
self.assertEqual(change1.get_user(review_request), doc)
self.assertEqual(change2.get_user(review_request), doc)
self.assertEqual(change3.get_user(review_request), grumpy)
self.assertEqual(change4.get_user(review_request), grumpy)
self.assertEqual(change1.user, doc)
self.assertEqual(change2.user, doc)
self.assertEqual(change3.user, grumpy)
self.assertEqual(change4.user, grumpy)
示例2: ReviewRequestDraft
# 需要导入模块: from reviewboard.changedescs.models import ChangeDescription [as 别名]
# 或者: from reviewboard.changedescs.models.ChangeDescription import get_user [as 别名]
#.........这里部分代码省略.........
This parameter is intended for internal use **only**.
validate_fields (bool, optional):
Whether or not the fields should be validated.
This should only be ``False`` in the case of programmatic
publishes, e.g., from close as submitted hooks.
timestamp (datetime.datetime, optional):
The datetime that should be used for all timestamps for objects
published
(:py:class:`~reviewboard.diffviewer.models.diff_set.DiffSet`,
:py:class:`~reviewboard.changedescs.models.ChangeDescription`)
over the course of the method.
Returns:
reviewboard.changedescs.models.ChangeDescription:
The change description that results from this publish (if any).
If this is an initial publish, there will be no change description
(and this function will return ``None``).
"""
if timestamp is None:
timestamp = timezone.now()
if not review_request:
review_request = self.review_request
if not self.changedesc and review_request.public:
self.changedesc = ChangeDescription()
if not user:
if self.changedesc:
user = self.changedesc.get_user(self)
else:
user = review_request.submitter
self.copy_fields_to_request(review_request)
# If no changes were made, raise exception and do not save
if self.changedesc and not self.changedesc.has_modified_fields():
raise NotModifiedError()
if validate_fields:
if not (self.target_groups.exists() or
self.target_people.exists()):
raise PublishError(
ugettext('There must be at least one reviewer before this '
'review request can be published.'))
if not review_request.summary.strip():
raise PublishError(
ugettext('The draft must have a summary.'))
if not review_request.description.strip():
raise PublishError(
ugettext('The draft must have a description.'))
if (review_request.created_with_history and
self.diffset and
self.diffset.commit_count == 0):
raise PublishError(
ugettext('There are no commits attached to the diff.'))
if self.diffset:
if (review_request.created_with_history and not
示例3: ReviewRequestDraft
# 需要导入模块: from reviewboard.changedescs.models import ChangeDescription [as 别名]
# 或者: from reviewboard.changedescs.models.ChangeDescription import get_user [as 别名]
#.........这里部分代码省略.........
* ``target_groups``
* ``target_people``
* ``screenshots``
* ``screenshot_captions``
* ``diff``
* Any custom field IDs
Each field in 'fields_changed' represents a changed field. This will
save fields in the standard formats as defined by the
'ChangeDescription' documentation, with the exception of the
'screenshot_captions' and 'diff' fields.
For the 'screenshot_captions' field, the value will be a dictionary
of screenshot ID/dict pairs with the following fields:
* ``old``: The old value of the field
* ``new``: The new value of the field
For the ``diff`` field, there is only ever an ``added`` field,
containing the ID of the new diffset.
The ``send_notification`` parameter is intended for internal use only,
and is there to prevent duplicate notifications when being called by
ReviewRequest.publish.
"""
if not review_request:
review_request = self.review_request
if not self.changedesc and review_request.public:
self.changedesc = ChangeDescription()
if not user:
if self.changedesc:
user = self.changedesc.get_user(self)
else:
user = review_request.submitter
self.copy_fields_to_request(review_request)
if self.diffset:
self.diffset.history = review_request.diffset_history
self.diffset.save(update_fields=['history'])
# If no changes were made, raise exception and do not save
if self.changedesc and not self.changedesc.has_modified_fields():
raise NotModifiedError()
if validate_fields:
if not (self.target_groups.exists() or
self.target_people.exists()):
raise PublishError(
ugettext('There must be at least one reviewer before this '
'review request can be published.'))
if not review_request.summary.strip():
raise PublishError(
ugettext('The draft must have a summary.'))
if not review_request.description.strip():
raise PublishError(
ugettext('The draft must have a description.'))
if self.changedesc:
self.changedesc.user = user
self.changedesc.timestamp = timezone.now()
self.changedesc.public = True