Exemple #1
0
def create_public_workspace():
    """Create and save a public workspace for registry. It will also create permissions.

    Returns:
    """
    logger.info("START create public workspace.")

    # We need the app to be ready to access the Group model
    from core_main_app.components.workspace import api as workspace_api
    from core_main_app.commons import exceptions

    try:
        try:
            # Test if global public workspace exists
            workspace_api.get_global_workspace()
        except exceptions.DoesNotExist:
            # Create workspace public global
            workspace_api.create_and_save("Global Public Workspace",
                                          is_public=True)
            logger.info("Public workspace created.")

    except Exception as e:
        logger.error("Impossible to create global public workspace: %s" %
                     str(e))

    logger.info("FINISH create public workspace.")
Exemple #2
0
 def test_create_two_workspaces_same_name_different_case_same_user(self):
     # Context
     user1 = UserFixtures().create_user()
     # Act
     workspace_api.create_and_save(TITLE_1, user1.id)
     with self.assertRaises(exceptions.NotUniqueError):
         workspace_api.create_and_save(TITLE_1.upper(), user1.id)
Exemple #3
0
 def test_create_two_workspaces_same_name_different_user(self):
     # Context
     number_workspace = len(workspace_api.get_all())
     user1 = UserFixtures().create_user(username="******")
     user2 = UserFixtures().create_user(username="******")
     # Act
     workspace_api.create_and_save(TITLE_1, user1.id)
     workspace_api.create_and_save(TITLE_1, user2.id)
     # Assert
     self.assertEqual(number_workspace + 2, len(workspace_api.get_all()))
Exemple #4
0
    def generate_workspace_with_perm(self):
        """Generate the workspaces and the perm object.

        Returns:

        """
        try:
            self.workspace_1 = workspace_api.create_and_save("Workspace 1")
            self.workspace_2 = workspace_api.create_and_save("Workspace 2")
            self.data_3.workspace = self.workspace_1
            self.data_4.workspace = self.workspace_2
            self.data_5.workspace = self.workspace_1
        except Exception as e:
            print(e.message)
Exemple #5
0
 def create_global_workspace(title):
     workspace = workspace_api.create_and_save(title, is_public=True)
     permission_api.add_permission_to_group(group_api.get_anonymous_group(),
                                            workspace.read_perm_id)
     permission_api.add_permission_to_group(group_api.get_default_group(),
                                            workspace.read_perm_id)
     return workspace
Exemple #6
0
 def test_create_one_workspace(self):
     # Context
     user1 = UserFixtures().create_user()
     # Act
     workspace = workspace_api.create_and_save(TITLE_1, user1.id)
     # Assert
     self.assertEqual(workspace.title, TITLE_1)
     self.assertEqual(workspace.owner, str(user1.id))
Exemple #7
0
def create_public_workspace():
    """ Create and save a public workspace for registry. It will also create permissions.

    Returns:
    """
    # We need the app to be ready to access the Group model
    from core_main_app.components.workspace import api as workspace_api
    from core_main_app.commons import exceptions

    try:
        try:
            # Test if global public workspace exists
            workspace_api.get_global_workspace()
        except exceptions.DoesNotExist, dne:
            # Create workspace public global
            workspace_api.create_and_save("Global Public Workspace", is_public=True)

    except Exception, e:
        print('ERROR : Impossible to create global public workspace : ' + e.message)
Exemple #8
0
def create_workspace(request):
    """ Create a workspace.

    Args:
        request

    Returns:
    """
    name_workspace = request.POST.get('name_workspace', None)
    try:
        workspace_api.create_and_save(name_workspace, request.user.id)
    except NotUniqueError:
        return HttpResponseBadRequest(
            "You already have a workspace called " + name_workspace +
            ". Please change the name and try again.")
    except Exception:
        return HttpResponseBadRequest(
            "A problem occurred while creating the workspace.")
    return HttpResponse(json.dumps({}), content_type='application/javascript')
Exemple #9
0
 def create(self, validated_data):
     """
     Create and return a new `workspace` instance, given the validated data.
     """
     return workspace_api.create_and_save(
         title=validated_data["title"],
         owner_id=validated_data["user"].id,
         is_public=validated_data["is_public"]
         if "is_public" in validated_data
         else False,
     )
Exemple #10
0
 def create_workspace(owner_id, title):
     return workspace_api.create_and_save(title, owner_id)
Exemple #11
0
 def test_create_workspace_without_owner(self):
     # Act
     workspace = workspace_api.create_and_save(TITLE_1)
     # Assert
     self.assertEqual(workspace.title, TITLE_1)
     self.assertIsNone(workspace.owner)
Exemple #12
0
 def create(self, validated_data):
     """
     Create and return a new `workspace` instance, given the validated data.
     """
     return workspace_api.create_and_save(validated_data['title'],
                                          validated_data['owner'])