本文整理汇总了Python中website.project.model.Node.find_one方法的典型用法代码示例。如果您正苦于以下问题:Python Node.find_one方法的具体用法?Python Node.find_one怎么用?Python Node.find_one使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类website.project.model.Node
的用法示例。
在下文中一共展示了Node.find_one方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _view_url_context
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def _view_url_context(self, user_id, node):
from website.project.model import Node
registration = Node.find_one(Q('retraction', 'eq', self))
return {
'node_id': registration._id
}
示例2: _email_template_context
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def _email_template_context(self, user, node, is_authorizer=False, urls=None):
urls = urls or self.stashed_urls.get(user._id, {})
registration_link = urls.get('view', self._view_url(user._id, node))
if is_authorizer:
from website.project.model import Node
approval_link = urls.get('approve', '')
disapproval_link = urls.get('reject', '')
approval_time_span = settings.RETRACTION_PENDING_TIME.days * 24
registration = Node.find_one(Q('retraction', 'eq', self))
return {
'is_initiator': self.initiated_by == user,
'initiated_by': self.initiated_by.fullname,
'project_name': registration.title,
'registration_link': registration_link,
'approval_link': approval_link,
'disapproval_link': disapproval_link,
'approval_time_span': approval_time_span,
}
else:
return {
'initiated_by': self.initiated_by.fullname,
'registration_link': registration_link,
}
示例3: _on_complete
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def _on_complete(self, user):
from website.project.model import Node, NodeLog
parent_registration = Node.find_one(Q('retraction', 'eq', self))
parent_registration.registered_from.add_log(
action=NodeLog.RETRACTION_APPROVED,
params={
'node': parent_registration.registered_from_id,
'retraction_id': self._id,
'registration': parent_registration._id
},
auth=Auth(self.initiated_by),
)
# Remove any embargoes associated with the registration
if parent_registration.embargo_end_date or parent_registration.is_pending_embargo:
parent_registration.embargo.state = self.REJECTED
parent_registration.registered_from.add_log(
action=NodeLog.EMBARGO_CANCELLED,
params={
'node': parent_registration.registered_from_id,
'registration': parent_registration._id,
'embargo_id': parent_registration.embargo._id,
},
auth=Auth(self.initiated_by),
)
parent_registration.embargo.save()
# Ensure retracted registration is public
# Pass auth=None because the registration initiator may not be
# an admin on components (component admins had the opportunity
# to disapprove the retraction by this point)
for node in parent_registration.node_and_primary_descendants():
node.set_privacy('public', auth=None, save=True, log=False)
node.update_search()
示例4: _approval_url_context
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def _approval_url_context(self, user_id):
user_approval_state = self.approval_state.get(user_id, {})
approval_token = user_approval_state.get("approval_token")
if approval_token:
from website.project.model import Node
root_registration = Node.find_one(Q("retraction", "eq", self))
node_id = user_approval_state.get("node_id", root_registration._id)
return {"node_id": node_id, "token": approval_token}
示例5: _on_reject
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def _on_reject(self, user):
from website.project.model import Node, NodeLog
parent_registration = Node.find_one(Q("retraction", "eq", self))
parent_registration.registered_from.add_log(
action=NodeLog.RETRACTION_CANCELLED,
params={"node": parent_registration._id, "retraction_id": self._id},
auth=Auth(user),
save=True,
)
示例6: __repr__
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def __repr__(self):
from website.project.model import Node
parent_registration = None
try:
parent_registration = Node.find_one(Q("retraction", "eq", self))
except NoResultsFound:
pass
return ("<Retraction(parent_registration={0}, initiated_by={1}) " "with _id {2}>").format(
parent_registration, self.initiated_by, self._id
)
示例7: _approval_url_context
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def _approval_url_context(self, user_id):
user_approval_state = self.approval_state.get(user_id, {})
approval_token = user_approval_state.get('approval_token')
if approval_token:
from website.project.model import Node
root_registration = Node.find_one(Q('retraction', 'eq', self))
node_id = user_approval_state.get('node_id', root_registration._id)
return {
'node_id': node_id,
'token': approval_token,
}
示例8: _on_reject
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def _on_reject(self, user):
from website.project.model import Node, NodeLog
parent_registration = Node.find_one(Q('retraction', 'eq', self))
parent_registration.registered_from.add_log(
action=NodeLog.RETRACTION_CANCELLED,
params={
'node': parent_registration.registered_from_id,
'registration': parent_registration._id,
'retraction_id': self._id,
},
auth=Auth(user),
save=True,
)
示例9: _email_template_context
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def _email_template_context(self, user, node, is_authorizer=False, urls=None):
urls = urls or self.stashed_urls.get(user._id, {})
registration_link = urls.get("view", self._view_url(user._id, node))
if is_authorizer:
from website.project.model import Node
approval_link = urls.get("approve", "")
disapproval_link = urls.get("reject", "")
approval_time_span = settings.RETRACTION_PENDING_TIME.days * 24
registration = Node.find_one(Q("retraction", "eq", self))
return {
"is_initiator": self.initiated_by == user,
"initiated_by": self.initiated_by.fullname,
"project_name": registration.title,
"registration_link": registration_link,
"approval_link": approval_link,
"disapproval_link": disapproval_link,
"approval_time_span": approval_time_span,
}
else:
return {"initiated_by": self.initiated_by.fullname, "registration_link": registration_link}
示例10: test_sanction_registration_approval
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def test_sanction_registration_approval(self):
registration_approval = factories.RegistrationApprovalFactory()
registration = Node.find_one(Q('registration_approval', 'eq', registration_approval))
assert_equal(registration.sanction, registration_approval)
示例11: _view_url_context
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def _view_url_context(self, user_id, node):
from website.project.model import Node
registration = Node.find_one(Q("retraction", "eq", self))
return {"node_id": registration._id}
示例12: test_sanction_embargo_termination_first
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def test_sanction_embargo_termination_first(self):
embargo_termination_approval = factories.EmbargoTerminationApprovalFactory()
registration = Node.find_one(Q('embargo_termination_approval', 'eq', embargo_termination_approval))
assert_equal(registration.sanction, embargo_termination_approval)
示例13: test_is_pending_embargo
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def test_is_pending_embargo(self):
embargo = factories.EmbargoFactory()
registration = Node.find_one(Q('embargo', 'eq', embargo))
assert_true(embargo.is_pending_approval)
assert_true(registration.is_pending_embargo)
示例14: test_is_embargoed
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def test_is_embargoed(self):
embargo = factories.EmbargoFactory()
registration = Node.find_one(Q('embargo', 'eq', embargo))
with mock.patch('website.project.sanctions.Sanction.is_approved', mock.Mock(return_value=True)):
assert_true(registration.is_embargoed)
示例15: test_embargo_end_date
# 需要导入模块: from website.project.model import Node [as 别名]
# 或者: from website.project.model.Node import find_one [as 别名]
def test_embargo_end_date(self):
embargo = factories.EmbargoFactory()
registration = Node.find_one(Q('embargo', 'eq', embargo))
assert_equal(registration.embargo_end_date, embargo.end_date)