本文整理汇总了Python中website.conferences.utils.provision_node函数的典型用法代码示例。如果您正苦于以下问题:Python provision_node函数的具体用法?Python provision_node怎么用?Python provision_node使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了provision_node函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_provision_spam
def test_provision_spam(self):
with self.make_context(data={'X-Mailgun-Sscore': message.SSCORE_MAX_VALUE + 1}):
msg = message.ConferenceMessage()
utils.provision_node(self.conference, msg, self.node, self.user)
assert_false(self.node.is_public)
assert_in(self.conference.admins.first(), self.node.contributors)
assert_in('emailed', self.node.system_tags)
assert_in('spam', self.node.system_tags)
开发者ID:CenterForOpenScience,项目名称:osf.io,代码行数:8,代码来源:test_conferences.py
示例2: test_provision_private
def test_provision_private(self):
self.conference.public_projects = False
self.conference.save()
with self.make_context():
msg = message.ConferenceMessage()
utils.provision_node(self.conference, msg, self.node, self.user)
assert_false(self.node.is_public)
assert_in(self.conference.admins.first(), self.node.contributors)
assert_in('emailed', self.node.system_tags)
assert_not_in('spam', self.node.system_tags)
开发者ID:CenterForOpenScience,项目名称:osf.io,代码行数:10,代码来源:test_conferences.py
示例3: test_provision
def test_provision(self):
with self.make_context():
msg = message.ConferenceMessage()
utils.provision_node(self.conference, msg, self.node, self.user)
assert_true(self.node.is_public)
assert_in(self.conference.admins.first(), self.node.contributors)
assert_in('emailed', self.node.system_tags)
assert_in(self.conference.endpoint, self.node.system_tags)
assert_true(self.node.tags.filter(name=self.conference.endpoint).exists())
assert_not_in('spam', self.node.system_tags)
开发者ID:CenterForOpenScience,项目名称:osf.io,代码行数:10,代码来源:test_conferences.py
示例4: add_poster_by_email
def add_poster_by_email(conference, message):
"""
:param Conference conference:
:param ConferenceMessage message:
"""
# Fail if no attachments
if not message.attachments:
return send_mail(message.sender_email, CONFERENCE_FAILED, fullname=message.sender_display)
created = []
with TokuTransaction():
user, user_created = utils.get_or_create_user(message.sender_display, message.sender_email, message.is_spam)
if user_created:
created.append(user)
set_password_url = web_url_for("reset_password", verification_key=user.verification_key, _absolute=True)
else:
set_password_url = None
node, node_created = utils.get_or_create_node(message.subject, user)
if node_created:
created.append(node)
utils.provision_node(conference, message, node, user)
utils.record_message(message, created)
utils.upload_attachments(user, node, message.attachments)
download_url = node.web_url_for(
"addon_view_or_download_file",
path=message.attachments[0].filename,
provider="osfstorage",
action="download",
_absolute=True,
)
# Send confirmation email
send_mail(
message.sender_email,
CONFERENCE_SUBMITTED,
conf_full_name=conference.name,
conf_view_url=web_url_for("conference_results", meeting=message.conference_name, _absolute=True),
fullname=message.sender_display,
user_created=user_created,
set_password_url=set_password_url,
profile_url=user.absolute_url,
node_url=node.absolute_url,
file_url=download_url,
presentation_type=message.conference_category.lower(),
is_spam=message.is_spam,
)
开发者ID:danielneis,项目名称:osf.io,代码行数:51,代码来源:views.py
示例5: add_poster_by_email
def add_poster_by_email(conference, message):
"""
:param Conference conference:
:param ConferenceMessage message:
"""
# Fail if no attachments
if not message.attachments:
return send_mail(
message.sender_email,
CONFERENCE_FAILED,
fullname=message.sender_display,
can_change_preferences=False,
logo=settings.OSF_MEETINGS_LOGO
)
with transaction.atomic():
user, user_created = get_or_create_user(
message.sender_display,
message.sender_email,
is_spam=message.is_spam,
)
if user_created:
if utils.is_valid_email(user.fullname):
user.fullname = user._id # Users cannot use an email as their full name
user.save() # need to save in order to access m2m fields (e.g. tags)
user.add_system_tag('osf4m')
user.update_date_last_login()
user.save()
# must save the user first before accessing user._id
set_password_url = web_url_for(
'reset_password_get',
uid=user._id,
token=user.verification_key_v2['token'],
_absolute=True,
)
else:
set_password_url = None
# Always create a new meeting node
node = Node.objects.create(
title=message.subject,
creator=user
)
node.add_system_tag('osf4m')
node.save()
utils.provision_node(conference, message, node, user)
created_user = user if user_created else None
utils.record_message(message, node, created_user)
# Prevent circular import error
from framework.auth import signals as auth_signals
if user_created:
auth_signals.user_confirmed.send(user)
utils.upload_attachments(user, node, message.attachments)
download_url = node.web_url_for(
'addon_view_or_download_file',
path=message.attachments[0].filename,
provider='osfstorage',
action='download',
_absolute=True,
)
# Send confirmation email
send_mail(
message.sender_email,
CONFERENCE_SUBMITTED,
conf_full_name=conference.name,
conf_view_url=web_url_for(
'conference_results',
meeting=message.conference_name,
_absolute=True,
),
fullname=message.sender_display,
user_created=user_created,
set_password_url=set_password_url,
profile_url=user.absolute_url,
node_url=node.absolute_url,
file_url=download_url,
presentation_type=message.conference_category.lower(),
is_spam=message.is_spam,
can_change_preferences=False,
logo=settings.OSF_MEETINGS_LOGO
)
if user_created:
signals.osf4m_user_created.send(user, conference=conference, node=node)
开发者ID:CenterForOpenScience,项目名称:osf.io,代码行数:89,代码来源:views.py
示例6: add_poster_by_email
def add_poster_by_email(conference, message):
"""
:param Conference conference:
:param ConferenceMessage message:
"""
# Fail if no attachments
if not message.attachments:
return send_mail(
message.sender_email,
CONFERENCE_FAILED,
fullname=message.sender_display,
)
created = []
with TokuTransaction():
user, user_created = get_or_create_user(
message.sender_display,
message.sender_email,
message.is_spam,
)
if user_created:
created.append(user)
user.system_tags.append('osf4m')
set_password_url = web_url_for(
'reset_password',
verification_key=user.verification_key,
_absolute=True,
)
user.date_last_login = datetime.utcnow()
user.save()
else:
set_password_url = None
node, node_created = utils.get_or_create_node(message.subject, user)
if node_created:
created.append(node)
node.system_tags.append('osf4m')
node.save()
utils.provision_node(conference, message, node, user)
utils.record_message(message, created)
# Prevent circular import error
from framework.auth import signals as auth_signals
if user_created:
auth_signals.user_confirmed.send(user)
utils.upload_attachments(user, node, message.attachments)
download_url = node.web_url_for(
'addon_view_or_download_file',
path=message.attachments[0].filename,
provider='osfstorage',
action='download',
_absolute=True,
)
# Send confirmation email
send_mail(
message.sender_email,
CONFERENCE_SUBMITTED,
conf_full_name=conference.name,
conf_view_url=web_url_for(
'conference_results',
meeting=message.conference_name,
_absolute=True,
),
fullname=message.sender_display,
user_created=user_created,
set_password_url=set_password_url,
profile_url=user.absolute_url,
node_url=node.absolute_url,
file_url=download_url,
presentation_type=message.conference_category.lower(),
is_spam=message.is_spam,
)
if node_created and user_created:
signals.osf4m_user_created.send(user, conference=conference, node=node)
开发者ID:DataConservancy,项目名称:osf.io,代码行数:78,代码来源:views.py
示例7: add_poster_by_email
def add_poster_by_email(conference, message):
"""
:param Conference conference:
:param ConferenceMessage message:
"""
# Fail if no attachments
if not message.attachments:
return send_mail(
message.sender_email,
CONFERENCE_FAILED,
fullname=message.sender_display,
)
nodes_created = []
users_created = []
with transaction.atomic():
user, user_created = get_or_create_user(
message.sender_display,
message.sender_email,
is_spam=message.is_spam,
)
if user_created:
user.save() # need to save in order to access m2m fields (e.g. tags)
users_created.append(user)
user.add_system_tag('osf4m')
user.update_date_last_login()
user.save()
# must save the user first before accessing user._id
set_password_url = web_url_for(
'reset_password_get',
uid=user._id,
token=user.verification_key_v2['token'],
_absolute=True,
)
else:
set_password_url = None
node, node_created = Node.objects.get_or_create(
title__iexact=message.subject,
is_deleted=False,
_contributors__guids___id=user._id,
defaults={
'title': message.subject,
'creator': user
}
)
if node_created:
nodes_created.append(node)
node.add_system_tag('osf4m')
node.save()
utils.provision_node(conference, message, node, user)
utils.record_message(message, nodes_created, users_created)
# Prevent circular import error
from framework.auth import signals as auth_signals
if user_created:
auth_signals.user_confirmed.send(user)
utils.upload_attachments(user, node, message.attachments)
download_url = node.web_url_for(
'addon_view_or_download_file',
path=message.attachments[0].filename,
provider='osfstorage',
action='download',
_absolute=True,
)
# Send confirmation email
send_mail(
message.sender_email,
CONFERENCE_SUBMITTED,
conf_full_name=conference.name,
conf_view_url=web_url_for(
'conference_results',
meeting=message.conference_name,
_absolute=True,
),
fullname=message.sender_display,
user_created=user_created,
set_password_url=set_password_url,
profile_url=user.absolute_url,
node_url=node.absolute_url,
file_url=download_url,
presentation_type=message.conference_category.lower(),
is_spam=message.is_spam,
)
if node_created and user_created:
signals.osf4m_user_created.send(user, conference=conference, node=node)
开发者ID:mfraezz,项目名称:osf.io,代码行数:91,代码来源:views.py
注:本文中的website.conferences.utils.provision_node函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论