def test_check_if_workspace_can_be_changed_return_true_if_workspace_is_public_and_allow_public_is_true( self): # A global workspace is public workspace = WorkspaceFixtures.create_global_workspace(TITLE_1) data = Data(template=Template(), user_id='1', dict_content=None, title='title', workspace=workspace) # Act result = workspace_api.check_if_workspace_can_be_changed(data, True) # Assert self.assertEquals(result, True)
def test_check_if_workspace_can_be_changed_return_true_if_workspace_is_none_and_allow_public_is_false( self): # A global workspace is public data = Data(template=Template(), user_id='1', dict_content=None, title='title', workspace=None) # Act result = workspace_api.check_if_workspace_can_be_changed(data, False) # Assert self.assertEquals(result, True)
def _format_data_context(self, data_list): data_context_list = [] for data in data_list: data_context_list.append( { "data": data, "can_read": True, "can_write": True, "is_owner": True, "can_change_workspace": check_if_workspace_can_be_changed(data), } ) return data_context_list
def test_check_if_workspace_can_be_changed_return_false_if_workspace_is_public_and_allow_public_is_false( self, ): # A global workspace is public workspace = WorkspaceFixtures.create_global_workspace(TITLE_1) data = Data( template=Template(), user_id="1", dict_content=None, title="title", workspace=workspace, ) # Act result = workspace_api.check_if_workspace_can_be_changed(data, False) # Assert self.assertEquals(result, False)
def get(self, request, *args, **kwargs): """Method GET Args: request: args: kwargs: Returns: """ if self.administration: try: files = blob_api.get_all(request.user) except AccessControlError as ace: files = blob_api.get_none() else: files = blob_api.get_all_by_user(request.user) # Paginator page = request.GET.get("page", 1) results_paginator = ResultsPaginator.get_results( files, page, settings.FILE_PER_PAGE_PAGINATION ) detailed_file = [] for file in results_paginator: try: username = user_api.get_user_by_id(file.user_id).username except ObjectDoesNotExist: username = "******" detailed_file.append( { "user": username, "date": file.id.generation_time, "file": file, "url": blob_utils.get_blob_download_uri(file, request), "can_change_workspace": check_if_workspace_can_be_changed(file), "is_owner": True, } ) # Add user_form for change owner user_form = UserForm(request.user) context = { "administration": self.administration, "number_total": files.count(), "user_data": detailed_file, "user_form": user_form, "document": dashboard_constants.FUNCTIONAL_OBJECT_ENUM.FILE.value, "template": dashboard_constants.DASHBOARD_FILES_TEMPLATE_TABLE, "menu": self.administration, "share_pid_button": "core_linked_records_app" in settings.INSTALLED_APPS, "pagination": _get_pagination_document( page, results_paginator, files.count(), settings.FILE_PER_PAGE_PAGINATION, ), } if self.administration: context.update( { "action_form": ActionForm( [ ("1", "Delete selected files"), ("2", "Change owner of selected files"), ] ) } ) modals = [ "core_main_app/user/workspaces/list/modals/assign_workspace.html", dashboard_constants.MODALS_COMMON_DELETE, dashboard_constants.MODALS_COMMON_CHANGE_OWNER, ] assets = { "css": dashboard_constants.CSS_COMMON, "js": [ { "path": "core_dashboard_common_app/user/js/init.raw.js", "is_raw": True, }, { "path": dashboard_constants.JS_COMMON_FUNCTION_DELETE, "is_raw": False, }, {"path": dashboard_constants.JS_USER_SELECTED_ELEMENT, "is_raw": True}, { "path": "core_main_app/user/js/workspaces/list/modals/assign_workspace.js", "is_raw": False, }, { "path": "core_main_app/user/js/workspaces/list/modals/assign_blob_workspace.raw.js", "is_raw": True, }, { "path": dashboard_constants.JS_COMMON_FUNCTION_CHANGE_OWNER, "is_raw": False, }, { "path": "core_dashboard_common_app/common/js/init_pagination.js", "is_raw": False, }, ], } if "core_file_preview_app" in INSTALLED_APPS: assets["js"].extend( [ { "path": "core_file_preview_app/user/js/file_preview.js", "is_raw": False, } ] ) assets["css"].append("core_file_preview_app/user/css/file_preview.css") modals.append("core_file_preview_app/user/file_preview_modal.html") if context["share_pid_button"]: modals.append("core_linked_records_app/user/sharing/data_detail/modal.html") assets["js"] += [ { "path": "core_main_app/user/js/sharing_modal.js", "is_raw": False, }, { "path": "core_linked_records_app/user/js/sharing/common_list.js", "is_raw": False, }, { "path": "core_linked_records_app/user/js/sharing/blob_list.js", "is_raw": False, }, ] # Admin if self.administration: assets["js"].append( { "path": "core_dashboard_common_app/common/js/init_pagination.js", "is_raw": False, } ) assets["js"].append( {"path": dashboard_constants.JS_ADMIN_ACTION_DASHBOARD, "is_raw": True} ) assets["js"].append( {"path": dashboard_constants.JS_ADMIN_COUNT_CHECK, "is_raw": True} ) assets["js"].append( {"path": dashboard_constants.JS_ADMIN_RESET_CHECKBOX, "is_raw": True} ) assets["js"].append( {"path": dashboard_constants.JS_ADMIN_SELECT_ALL, "is_raw": True} ) assets["js"].append( {"path": dashboard_constants.JS_ADMIN_SELETED_ELEMENT, "is_raw": False} ) assets["js"].append( {"path": dashboard_constants.JS_ADMIN_INIT_MENU, "is_raw": False} ) return self.common_render( request, self.template, context=context, assets=assets, modals=modals )