예제 #1
0
def new_node(category, title, user, description='', parent=None, campaign=None):
    """Create a new project or component.

    :param str category: Node category
    :param str title: Node title
    :param User user: User object
    :param str description: Node description
    :param Node project: Optional parent object
    :return Node: Created node

    """
    # We use apps.get_model rather than import .model.Node
    # because we want the concrete Node class, not AbstractNode
    Node = apps.get_model('osf.Node')
    category = category
    title = strip_html(title.strip())
    if description:
        description = strip_html(description.strip())

    node = Node(
        title=title,
        category=category,
        creator=user,
        description=description,
        parent=parent
    )

    node.save()

    if campaign:
        from framework.auth.campaigns import system_tag_for_campaign
        node.add_system_tag(system_tag_for_campaign(campaign))

    return node
예제 #2
0
파일: core.py 프로젝트: Alpani/osf.io
 def create_unconfirmed(cls, username, password, fullname, do_confirm=True,
                        campaign=None):
     """Create a new user who has begun registration but needs to verify
     their primary email address (username).
     """
     user = cls.create(username, password, fullname)
     user.add_unconfirmed_email(username)
     user.is_registered = False
     if campaign:
         # needed to prevent cirular import
         from framework.auth.campaigns import system_tag_for_campaign  # skipci
         user.system_tags.append(system_tag_for_campaign(campaign))
     return user
예제 #3
0
 def create_unconfirmed(cls,
                        username,
                        password,
                        fullname,
                        do_confirm=True,
                        campaign=None):
     """Create a new user who has begun registration but needs to verify
     their primary email address (username).
     """
     user = cls.create(username, password, fullname)
     user.add_unconfirmed_email(username)
     user.is_registered = False
     if campaign:
         # needed to prevent cirular import
         from framework.auth.campaigns import system_tag_for_campaign  # skipci
         user.system_tags.append(system_tag_for_campaign(campaign))
     return user
예제 #4
0
 def create_unconfirmed(cls,
                        username,
                        password,
                        fullname,
                        external_identity=None,
                        do_confirm=True,
                        campaign=None):
     """Create a new user who has begun registration but needs to verify
     their primary email address (username).
     """
     user = cls.create(username, password, fullname)
     user.add_unconfirmed_email(username,
                                external_identity=external_identity)
     user.is_registered = False
     if external_identity:
         user.external_identity.update(external_identity)
     if campaign:
         # needed to prevent cirular import
         from framework.auth.campaigns import system_tag_for_campaign  # skipci
         # User needs to be saved before adding system tags (due to m2m relationship)
         user.save()
         user.add_system_tag(system_tag_for_campaign(campaign))
     return user
예제 #5
0
 def test_system_tag_for_campaign(self):
     for campaign in self.campaign_lists:
         tag = campaigns.system_tag_for_campaign(campaign)
         assert_true(tag is not None)
     tag = campaigns.system_tag_for_campaign(self.invalid_campaign)
     assert_true(tag is None)
예제 #6
0
 def test_system_tag_for_campaign(self):
     for campaign in self.campaign_lists:
         tag = campaigns.system_tag_for_campaign(campaign)
         assert_true(tag is not None)
     tag = campaigns.system_tag_for_campaign(self.invalid_campaign)
     assert_true(tag is None)