Coverage report: 78%

Files Functions Classes

coverage.py v7.13.1, created at 2026-05-04 12:41 +0000

File function   statements missing excluded   coverage
src / mesh / __init__.py (no function)   0 0 0   100%
src / mesh / admin.py get_file_wrapper_inline   7 0 0   100%
src / mesh / admin.py BaseUserChangeTrackingAdmin.save_model   4 4 0   0%
src / mesh / admin.py SubmissionAdmin.get_readonly_fields   1 1 0   0%
src / mesh / admin.py SubmissionVersionAdmin.get_readonly_fields   1 1 0   0%
src / mesh / admin.py ReviewAdmin.get_readonly_fields   1 1 0   0%
src / mesh / admin.py EditorialDecisionAdmin.get_readonly_fields   1 1 0   0%
src / mesh / admin.py (no function)   89 0 0   100%
src / mesh / app_settings.py AppSettings.__init__   9 3 0   67%
src / mesh / app_settings.py AppSettings._setting   1 0 0   100%
src / mesh / app_settings.py AppSettings.ENABLED_ROLES   1 1 0   0%
src / mesh / app_settings.py AppSettings.BLIND_MODE   5 2 0   60%
src / mesh / app_settings.py AppSettings.FILES_DIRECTORY   1 0 0   100%
src / mesh / app_settings.py AppSettings.USER_TOKEN_EXPIRATION_DAYS   1 0 0   100%
src / mesh / app_settings.py AppSettings.EMAIL_PREFIX   4 1 0   75%
src / mesh / app_settings.py AppSettings.JOURNAL_EMAIL_CONTACT   1 1 0   0%
src / mesh / app_settings.py AppSettings.COLID   1 0 0   100%
src / mesh / app_settings.py (no function)   30 0 0   100%
src / mesh / apps.py (no function)   4 0 0   100%
src / mesh / migrations / 0001_initial.py (no function)   11 0 0   100%
src / mesh / migrations / __init__.py (no function)   0 0 0   100%
src / mesh / models / __init__.py (no function)   8 0 0   100%
src / mesh / models / crud.py create_submission   24 11 0   54%
src / mesh / models / crud.py send_review_request   12 2 0   83%
src / mesh / models / crud.py create_review_request   10 2 0   80%
src / mesh / models / crud.py (no function)   10 0 2   100%
src / mesh / models / exceptions.py (no function)   6 0 0   100%
src / mesh / models / file_helpers.py file_name   3 1 0   67%
src / mesh / models / file_helpers.py file_exists   1 1 0   0%
src / mesh / models / file_helpers.py MeshFileSystemStorage.__init__   2 0 0   100%
src / mesh / models / file_helpers.py MeshFileSystemStorage.get_available_name   2 0 0   100%
src / mesh / models / file_helpers.py post_delete_model_file   67 57 0   15%
src / mesh / models / file_helpers.py (no function)   20 0 2   100%
src / mesh / models / filters.py is_collection   1 0 0   100%
src / mesh / models / filters.py FieldGetter.get_value   8 3 0   62%
src / mesh / models / filters.py Filter.value_field   1 0 0   100%
src / mesh / models / filters.py Filter.name_field   1 0 0   100%
src / mesh / models / filters.py Filter.set_active_value   10 2 0   80%
src / mesh / models / filters.py Filter.active   1 0 0   100%
src / mesh / models / filters.py Filter.get_item_value   6 0 0   100%
src / mesh / models / filters.py Filter.get_item_name   4 0 0   100%
src / mesh / models / filters.py Filter.active_values   1 0 0   100%
src / mesh / models / filters.py Filter.filter   7 1 0   86%
src / mesh / models / filters.py Filter.value_exists   1 0 0   100%
src / mesh / models / filters.py Filter._add_single_value   2 0 0   100%
src / mesh / models / filters.py Filter.add_value   7 2 0   71%
src / mesh / models / filters.py Filter.get_query_param   1 1 0   0%
src / mesh / models / filters.py Filter.sort_values   1 0 0   100%
src / mesh / models / filters.py FilterSet.init_filters   4 0 0   100%
src / mesh / models / filters.py FilterSet.get_filter   5 1 0   80%
src / mesh / models / filters.py FilterSet.populate_filters   6 0 0   100%
src / mesh / models / filters.py FilterSet.parse_query_filters   5 1 0   80%
src / mesh / models / filters.py FilterSet.sort_filters   3 0 0   100%
src / mesh / models / filters.py FilterSet.applied_filters   1 0 0   100%
src / mesh / models / filters.py FilterSet.active   1 1 0   0%
src / mesh / models / filters.py FilterSet.filter   13 0 0   100%
src / mesh / models / filters.py (no function)   63 0 0   100%
src / mesh / models / orm / __init__.py (no function)   10 0 0   100%
src / mesh / models / orm / base_models.py BaseChangeTrackingModel.override_saved_date   9 0 0   100%
src / mesh / models / orm / base_models.py BaseChangeTrackingModel.save   12 0 0   100%
src / mesh / models / orm / base_models.py BaseSubmittableModel.is_submittable   1 1 0   0%
src / mesh / models / orm / base_models.py (no function)   24 0 2   100%
src / mesh / models / orm / editorial_models.py EditorialDecision.can_delete_file   5 5 0   0%
src / mesh / models / orm / editorial_models.py EditorialDecision.get_decision_display   7 7 0   0%
src / mesh / models / orm / editorial_models.py EditorialDecisionFile.get_upload_path   1 0 0   100%
src / mesh / models / orm / editorial_models.py EditorialDecisionFile.check_access_right   5 5 0   0%
src / mesh / models / orm / editorial_models.py EditorialDecisionFile.get_absolute_url   6 1 0   83%
src / mesh / models / orm / editorial_models.py (no function)   36 0 3   100%
src / mesh / models / orm / factories.py BaseTypingFactory.create   1 0 0   100%
src / mesh / models / orm / factories.py BaseTypingFactory.build   1 0 0   100%
src / mesh / models / orm / factories.py (no function)   58 0 0   100%
src / mesh / models / orm / file_models.py BaseModelWithFiles.can_delete_file   1 1 0   0%
src / mesh / models / orm / file_models.py get_upload_path_from_model   1 0 0   100%
src / mesh / models / orm / file_models.py BaseFileWrapperModel.__class_getitem__   1 0 0   100%
src / mesh / models / orm / file_models.py BaseFileWrapperModel.get_help_text   5 0 0   100%
src / mesh / models / orm / file_models.py BaseFileWrapperModel.get_upload_path   1 1 0   0%
src / mesh / models / orm / file_models.py BaseFileWrapperModel.instance_valid_file   1 0 0   100%
src / mesh / models / orm / file_models.py BaseFileWrapperModel.run_file_validators   2 0 0   100%
src / mesh / models / orm / file_models.py BaseFileWrapperModel.file_validators   1 0 0   100%
src / mesh / models / orm / file_models.py BaseFileWrapperModel.validate_file_extension   5 0 0   100%
src / mesh / models / orm / file_models.py BaseFileWrapperModel.validate_file_name_length   4 0 0   100%
src / mesh / models / orm / file_models.py BaseFileWrapperModel.validate_file_size   2 0 0   100%
src / mesh / models / orm / file_models.py BaseFileWrapperModel.save   11 0 0   100%
src / mesh / models / orm / file_models.py BaseFileWrapperModel.delete   5 0 0   100%
src / mesh / models / orm / file_models.py BaseFileWrapperModel.check_access_right   1 1 0   0%
src / mesh / models / orm / file_models.py BaseFileWrapperModel.get_file_identifier   1 0 0   100%
src / mesh / models / orm / file_models.py (no function)   45 0 0   100%
src / mesh / models / orm / journal_models.py JournalSectionManager.get_queryset   1 0 0   100%
src / mesh / models / orm / journal_models.py JournalSectionManager.all_journal_sections   3 0 0   100%
src / mesh / models / orm / journal_models.py JournalSectionManager.all_journal_sections_parents   3 0 0   100%
src / mesh / models / orm / journal_models.py JournalSectionManager.all_journal_sections_children   10 0 0   100%
src / mesh / models / orm / journal_models.py JournalSectionManager.get_children_recursive   4 0 0   100%
src / mesh / models / orm / journal_models.py JournalSectionManager.get_parents_recursive   7 0 0   100%
src / mesh / models / orm / journal_models.py JournalSectionManager.clean_cache   3 0 0   100%
src / mesh / models / orm / journal_models.py JournalSection.__str__   1 0 0   100%
src / mesh / models / orm / journal_models.py JournalSection.save   4 0 0   100%
src / mesh / models / orm / journal_models.py JournalSection.delete   10 0 0   100%
src / mesh / models / orm / journal_models.py JournalSection.top_level_journal_section   11 11 0   0%
src / mesh / models / orm / journal_models.py JournalSection.all_children   3 0 0   100%
src / mesh / models / orm / journal_models.py (no function)   30 0 0   100%
src / mesh / models / orm / log_models.py ModelLog.add_message   19 2 0   89%
src / mesh / models / orm / log_models.py (no function)   25 0 2   100%
src / mesh / models / orm / review_models.py ReviewManager.get_queryset   1 0 0   100%
src / mesh / models / orm / review_models.py Review.__str__   1 1 0   0%
src / mesh / models / orm / review_models.py Review.is_response_overdue   1 0 0   100%
src / mesh / models / orm / review_models.py Review.is_report_overdue   1 0 0   100%
src / mesh / models / orm / review_models.py Review.is_completed   1 0 0   100%
src / mesh / models / orm / review_models.py Review.is_editable   7 0 0   100%
src / mesh / models / orm / review_models.py Review.accept   14 3 0   79%
src / mesh / models / orm / review_models.py Review.is_submittable   1 0 0   100%
src / mesh / models / orm / review_models.py Review.submit   7 0 0   100%
src / mesh / models / orm / review_models.py ReviewAdditionalFile.get_upload_path   1 0 0   100%
src / mesh / models / orm / review_models.py ReviewAdditionalFile.check_access_right   5 5 0   0%
src / mesh / models / orm / review_models.py ReviewAdditionalFile.get_absolute_url   7 7 0   0%
src / mesh / models / orm / review_models.py (no function)   70 0 2   100%
src / mesh / models / orm / submission_models.py SubmissionQuerySet.annotate_last_activity   1 0 0   100%
src / mesh / models / orm / submission_models.py SubmissionQuerySet.prefetch_data   1 0 0   100%
src / mesh / models / orm / submission_models.py SubmissionQuerySet.select_data   1 0 0   100%
src / mesh / models / orm / submission_models.py PrefetchedSubmissionManager.get_queryset   1 0 0   100%
src / mesh / models / orm / submission_models.py Submission.__str__   1 1 0   0%
src / mesh / models / orm / submission_models.py Submission.get_current_version   3 0 0   100%
src / mesh / models / orm / submission_models.py Submission.date_submission   1 0 0   100%
src / mesh / models / orm / submission_models.py Submission.state_order   1 1 0   0%
src / mesh / models / orm / submission_models.py Submission.all_assigned_editors   1 0 0   100%
src / mesh / models / orm / submission_models.py Submission.is_submittable   19 2 0   89%
src / mesh / models / orm / submission_models.py Submission.is_draft   1 0 0   100%
src / mesh / models / orm / submission_models.py Submission.submit   18 1 0   94%
src / mesh / models / orm / submission_models.py Submission.is_reviewable   2 0 0   100%
src / mesh / models / orm / submission_models.py Submission.start_review_process   11 1 0   91%
src / mesh / models / orm / submission_models.py Submission.apply_editorial_decision   13 0 0   100%
src / mesh / models / orm / submission_models.py Submission.get_absolute_url   1 0 0   100%
src / mesh / models / orm / submission_models.py SubmissionVersion.save   6 0 0   100%
src / mesh / models / orm / submission_models.py SubmissionMainFile.get_upload_path   1 0 0   100%
src / mesh / models / orm / submission_models.py SubmissionMainFile.check_access_right   3 3 0   0%
src / mesh / models / orm / submission_models.py SubmissionMainFile.get_absolute_url   6 1 0   83%
src / mesh / models / orm / submission_models.py SubmissionAdditionalFile.get_upload_path   1 0 0   100%
src / mesh / models / orm / submission_models.py SubmissionAdditionalFile.check_access_right   5 5 0   0%
src / mesh / models / orm / submission_models.py SubmissionAdditionalFile.get_absolute_url   6 6 0   0%
src / mesh / models / orm / submission_models.py SubmissionAuthor.__str__   1 1 0   0%
src / mesh / models / orm / submission_models.py SubmissionAuthor.full_name   1 1 0   0%
src / mesh / models / orm / submission_models.py (no function)   119 0 6   100%
src / mesh / models / orm / suggestion_model.py (no function)   10 0 0   100%
src / mesh / models / orm / user_models.py UserManager._create_user   7 1 0   86%
src / mesh / models / orm / user_models.py UserManager.create_user   4 0 0   100%
src / mesh / models / orm / user_models.py UserManager.create_superuser   8 8 0   0%
src / mesh / models / orm / user_models.py User.__str__   1 0 0   100%
src / mesh / models / orm / user_models.py User.is_token_authentication_allowed   1 0 0   100%
src / mesh / models / orm / user_models.py UserToken.save   3 0 0   100%
src / mesh / models / orm / user_models.py UserToken.reset_refreshed_date   1 0 0   100%
src / mesh / models / orm / user_models.py UserToken.is_expired   1 0 0   100%
src / mesh / models / orm / user_models.py UserToken.get_token   19 3 0   84%
src / mesh / models / orm / user_models.py SuggestedReviewer.__str__   1 0 0   100%
src / mesh / models / orm / user_models.py (no function)   48 0 3   100%
src / mesh / models / roles / __init__.py (no function)   8 0 0   100%
src / mesh / models / roles / author.py Author.__init__   6 0 0   100%
src / mesh / models / roles / author.py Author._get_is_active   1 0 0   100%
src / mesh / models / roles / author.py Author.get_submissions   1 0 0   100%
src / mesh / models / roles / author.py Author.can_access_submission   1 0 0   100%
src / mesh / models / roles / author.py Author.can_edit_submission   3 0 0   100%
src / mesh / models / roles / author.py Author.can_create_submission   1 0 0   100%
src / mesh / models / roles / author.py Author.can_create_version   6 1 0   83%
src / mesh / models / roles / author.py Author.can_access_version   1 1 0   0%
src / mesh / models / roles / author.py Author.can_edit_version   1 0 0   100%
src / mesh / models / roles / author.py Author.can_access_reviews   1 0 0   100%
src / mesh / models / roles / author.py Author.can_access_review   1 0 0   100%
src / mesh / models / roles / author.py Author.can_access_review_file   1 0 0   100%
src / mesh / models / roles / author.py Author.get_submission_status   15 1 0   93%
src / mesh / models / roles / author.py Author.can_access_last_activity   1 0 0   100%
src / mesh / models / roles / author.py (no function)   30 0 0   100%
src / mesh / models / roles / base_role.py RoleSummary.serialize   1 0 0   100%
src / mesh / models / roles / base_role.py Role.__init__   8 0 0   100%
src / mesh / models / roles / base_role.py Role._get_is_active   1 1 0   0%
src / mesh / models / roles / base_role.py Role.code   1 0 0   100%
src / mesh / models / roles / base_role.py Role.name   1 0 0   100%
src / mesh / models / roles / base_role.py Role.icon_class   1 0 0   100%
src / mesh / models / roles / base_role.py Role.submissions_list_title   1 0 0   100%
src / mesh / models / roles / base_role.py Role.summary   1 0 0   100%
src / mesh / models / roles / base_role.py Role.accept   1 1 0   0%
src / mesh / models / roles / base_role.py Role.get_submissions   1 1 0   0%
src / mesh / models / roles / base_role.py Role.get_current_open_review   1 0 0   100%
src / mesh / models / roles / base_role.py Role.get_submission_status   1 1 0   0%
src / mesh / models / roles / base_role.py Role.can_create_submission   1 1 0   0%
src / mesh / models / roles / base_role.py Role.can_access_submission   1 1 0   0%
src / mesh / models / roles / base_role.py Role.can_edit_submission   1 0 0   100%
src / mesh / models / roles / base_role.py Role.can_submit_submission   1 0 0   100%
src / mesh / models / roles / base_role.py Role.can_create_version   1 0 0   100%
src / mesh / models / roles / base_role.py Role.can_edit_version   1 0 0   100%
src / mesh / models / roles / base_role.py Role.can_access_version   1 1 0   0%
src / mesh / models / roles / base_role.py Role.can_start_review_process   1 0 0   100%
src / mesh / models / roles / base_role.py Role.can_create_editorial_decision   1 0 0   100%
src / mesh / models / roles / base_role.py Role.can_edit_editorial_decision   1 0 0   100%
src / mesh / models / roles / base_role.py Role.can_access_reviews   1 1 0   0%
src / mesh / models / roles / base_role.py Role.can_access_review   1 1 0   0%
src / mesh / models / roles / base_role.py Role.can_edit_review   1 1 0   0%
src / mesh / models / roles / base_role.py Role.can_submit_review   1 1 0   0%
src / mesh / models / roles / base_role.py Role.can_access_review_author   1 1 0   0%
src / mesh / models / roles / base_role.py Role.can_access_review_file   1 1 0   0%
src / mesh / models / roles / base_role.py Role.can_access_review_details   1 1 0   0%
src / mesh / models / roles / base_role.py Role.can_invite_reviewer   1 0 0   100%
src / mesh / models / roles / base_role.py Role.can_impersonate   1 0 0   100%
src / mesh / models / roles / base_role.py Role.can_access_submission_log   1 0 0   100%
src / mesh / models / roles / base_role.py Role.can_assign_editor   1 0 0   100%
src / mesh / models / roles / base_role.py Role.can_filter_submissions   1 1 0   0%
src / mesh / models / roles / base_role.py Role.can_access_journal_sections   1 0 0   100%
src / mesh / models / roles / base_role.py Role.can_edit_journal_sections   1 1 0   0%
src / mesh / models / roles / base_role.py Role.can_edit_review_file_right   1 1 0   0%
src / mesh / models / roles / base_role.py Role.can_access_last_activity   1 0 0   100%
src / mesh / models / roles / base_role.py Role.can_access_shortcut_actions   1 1 0   0%
src / mesh / models / roles / base_role.py Role._annotate_submission_query   1 0 0   100%
src / mesh / models / roles / base_role.py (no function)   90 0 6   100%
src / mesh / models / roles / editor.py Editor.__init__   8 1 0   88%
src / mesh / models / roles / editor.py Editor._get_is_active   1 0 0   100%
src / mesh / models / roles / editor.py Editor._get_all_journal_sections   6 0 0   100%
src / mesh / models / roles / editor.py Editor.get_journal_sections   5 5 0   0%
src / mesh / models / roles / editor.py Editor.get_submissions   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_submit_submission   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_access_submission   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_access_reviews   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_access_review   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_access_review_file   1 1 0   0%
src / mesh / models / roles / editor.py Editor.can_access_review_details   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_invite_reviewer   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_access_version   1 0 0   100%
src / mesh / models / roles / editor.py Editor.get_managed_users   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_impersonate   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_access_submission_log   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_create_editorial_decision   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_edit_editorial_decision   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_start_review_process   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_assign_editor   1 0 0   100%
src / mesh / models / roles / editor.py Editor.get_submission_status   21 3 0   86%
src / mesh / models / roles / editor.py Editor.can_filter_submissions   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_access_journal_sections   1 0 0   100%
src / mesh / models / roles / editor.py Editor.can_edit_review_file_right   5 2 0   60%
src / mesh / models / roles / editor.py get_section_editors   4 1 0   75%
src / mesh / models / roles / editor.py (no function)   46 0 0   100%
src / mesh / models / roles / journal_manager.py JournalManager.__init__   2 0 0   100%
src / mesh / models / roles / journal_manager.py JournalManager._get_is_active   1 0 0   100%
src / mesh / models / roles / journal_manager.py JournalManager.get_submissions   1 0 0   100%
src / mesh / models / roles / journal_manager.py JournalManager.get_managed_users   1 0 0   100%
src / mesh / models / roles / journal_manager.py JournalManager.can_edit_journal_sections   1 0 0   100%
src / mesh / models / roles / journal_manager.py JournalManager.can_access_shortcut_actions   1 1 0   0%
src / mesh / models / roles / journal_manager.py JournalManager.can_impersonate   1 0 0   100%
src / mesh / models / roles / journal_manager.py (no function)   21 0 0   100%
src / mesh / models / roles / reviewer.py Reviewer.__init__   8 0 0   100%
src / mesh / models / roles / reviewer.py Reviewer._get_is_active   1 0 0   100%
src / mesh / models / roles / reviewer.py Reviewer.get_submissions   1 0 0   100%
src / mesh / models / roles / reviewer.py Reviewer.can_access_submission   1 0 0   100%
src / mesh / models / roles / reviewer.py Reviewer.can_access_reviews   1 0 0   100%
src / mesh / models / roles / reviewer.py Reviewer.can_access_review   1 0 0   100%
src / mesh / models / roles / reviewer.py Reviewer.can_access_review_file   1 1 0   0%
src / mesh / models / roles / reviewer.py Reviewer.can_access_review_details   1 0 0   100%
src / mesh / models / roles / reviewer.py Reviewer.get_current_open_review   1 0 0   100%
src / mesh / models / roles / reviewer.py Reviewer.can_edit_review   1 0 0   100%
src / mesh / models / roles / reviewer.py Reviewer.can_submit_review   1 0 0   100%
src / mesh / models / roles / reviewer.py Reviewer.can_access_version   1 0 0   100%
src / mesh / models / roles / reviewer.py Reviewer.get_submission_status   18 2 0   89%
src / mesh / models / roles / reviewer.py (no function)   31 0 0   100%
src / mesh / models / roles / role_handler.py get_role_class_from_code   6 2 0   67%
src / mesh / models / roles / role_handler.py RoleData.get_roles   1 0 0   100%
src / mesh / models / roles / role_handler.py RoleData.__getitem__   1 0 0   100%
src / mesh / models / roles / role_handler.py RoleData.default_role   4 1 0   75%
src / mesh / models / roles / role_handler.py RoleData.get_active_roles   1 0 0   100%
src / mesh / models / roles / role_handler.py RoleData.from_user   1 0 0   100%
src / mesh / models / roles / role_handler.py RoleHandler.impersonate_data   3 0 0   100%
src / mesh / models / roles / role_handler.py RoleHandler.__init__   5 0 0   100%
src / mesh / models / roles / role_handler.py RoleHandler.complete_init   7 0 0   100%
src / mesh / models / roles / role_handler.py RoleHandler.get_current_active_role   13 3 0   77%
src / mesh / models / roles / role_handler.py RoleHandler.get_active_roles   1 1 0   0%
src / mesh / models / roles / role_handler.py RoleHandler.set_current_role   10 2 0   80%
src / mesh / models / roles / role_handler.py RoleHandler.init_user_roles   1 0 0   100%
src / mesh / models / roles / role_handler.py RoleHandler.switch_role   7 1 0   86%
src / mesh / models / roles / role_handler.py RoleHandler.execute_rights_function   6 2 0   67%
src / mesh / models / roles / role_handler.py RoleHandler.check_rights   1 1 0   0%
src / mesh / models / roles / role_handler.py RoleHandler.check_global_rights   5 1 0   80%
src / mesh / models / roles / role_handler.py RoleHandler.get_from_rights   1 1 0   0%
src / mesh / models / roles / role_handler.py RoleHandler.get_attribute   3 3 0   0%
src / mesh / models / roles / role_handler.py RoleHandler.token_authentication_allowed   2 0 0   100%
src / mesh / models / roles / role_handler.py RoleVisitor.__init__   2 2 0   0%
src / mesh / models / roles / role_handler.py RoleVisitor.visit   5 5 0   0%
src / mesh / models / roles / role_handler.py RoleVisitor.visit_author   0 0 1   100%
src / mesh / models / roles / role_handler.py RoleVisitor.visit_editor   0 0 1   100%
src / mesh / models / roles / role_handler.py RoleVisitor.visit_journal_manager   0 0 1   100%
src / mesh / models / roles / role_handler.py RoleVisitor.visit_reviewer   0 0 1   100%
src / mesh / models / roles / role_handler.py (no function)   56 2 9   96%
src / mesh / models / roles / visitor.py RoleVisitor.__init__   2 0 0   100%
src / mesh / models / roles / visitor.py RoleVisitor.visit   5 1 0   80%
src / mesh / models / roles / visitor.py RoleVisitor.visit_author   0 0 1   100%
src / mesh / models / roles / visitor.py RoleVisitor.visit_editor   0 0 1   100%
src / mesh / models / roles / visitor.py RoleVisitor.visit_journal_manager   0 0 1   100%
src / mesh / models / roles / visitor.py RoleVisitor.visit_reviewer   0 0 1   100%
src / mesh / models / roles / visitor.py (no function)   7 0 9   100%
src / mesh / models / submission_status.py (no function)   16 0 2   100%
src / mesh / models / user / __init__.py (no function)   0 0 0   100%
src / mesh / models / user / auth.py TokenBackend.authenticate   16 2 0   88%
src / mesh / models / user / auth.py (no function)   7 0 0   100%
src / mesh / models / user / user_interfaces.py UserInfo.__str__   1 1 0   0%
src / mesh / models / user / user_interfaces.py UserInfo.from_user   1 0 0   100%
src / mesh / models / user / user_interfaces.py ImpersonateData.__post_init__   5 0 0   100%
src / mesh / models / user / user_interfaces.py ImpersonateData.from_session   7 2 0   71%
src / mesh / models / user / user_interfaces.py ImpersonateData.clean_session   3 0 0   100%
src / mesh / models / user / user_interfaces.py ImpersonateData.serialize   1 0 0   100%
src / mesh / models / user / user_interfaces.py ImpersonateData.is_valid   1 0 0   100%
src / mesh / models / user / user_interfaces.py (no function)   29 0 0   100%
src / mesh / ojs / __init__.py (no function)   10 10 0   0%
src / mesh / ojs / import_file.py CreateFileLogic.__call__   0 0 1   100%
src / mesh / ojs / import_file.py version_main_file_factory   2 2 0   0%
src / mesh / ojs / import_file.py version_main_file_factory.inner   8 8 0   0%
src / mesh / ojs / import_file.py version_additional_file_factory   2 2 0   0%
src / mesh / ojs / import_file.py version_additional_file_factory.inner   3 3 0   0%
src / mesh / ojs / import_file.py review_file_factory   2 2 0   0%
src / mesh / ojs / import_file.py review_file_factory.inner   3 3 0   0%
src / mesh / ojs / import_file.py import_ojs_file   10 10 0   0%
src / mesh / ojs / import_file.py (no function)   12 12 7   0%
src / mesh / ojs / import_review.py import_ojs_reviews   38 38 0   0%
src / mesh / ojs / import_review.py (no function)   9 9 3   0%
src / mesh / ojs / import_round.py create_editorial_decision   11 11 0   0%
src / mesh / ojs / import_round.py import_ojs_round_files   13 13 0   0%
src / mesh / ojs / import_round.py import_ojs_round_decision   5 5 0   0%
src / mesh / ojs / import_round.py (no function)   11 11 2   0%
src / mesh / ojs / import_submission.py import_ojs_article   106 106 0   0%
src / mesh / ojs / import_submission.py (no function)   16 16 3   0%
src / mesh / ojs / import_user.py import_ojs_user   20 20 0   0%
src / mesh / ojs / import_user.py get_user_or_create_fake_one   10 10 0   0%
src / mesh / ojs / import_user.py (no function)   11 11 0   0%
src / mesh / ojs / import_xml.py import_ojs_xml   28 28 0   0%
src / mesh / ojs / import_xml.py (no function)   12 12 0   0%
src / mesh / ojs / lxml_utils.py str_to_datetime   4 4 0   0%
src / mesh / ojs / lxml_utils.py get_or_raise   4 4 0   0%
src / mesh / ojs / lxml_utils.py find_or_raise   4 4 0   0%
src / mesh / ojs / lxml_utils.py findtext_or_raise   4 4 0   0%
src / mesh / ojs / lxml_utils.py findall_xpath   1 1 0   0%
src / mesh / ojs / lxml_utils.py find_xpath_or_raise   4 4 0   0%
src / mesh / ojs / lxml_utils.py find_and_make_test_email_or_raise   2 2 0   0%
src / mesh / ojs / lxml_utils.py get_and_make_test_email_or_raise   2 2 0   0%
src / mesh / ojs / lxml_utils.py (no function)   12 12 0   0%
src / mesh / settings.py (no function)   0 0 0   100%
src / mesh / templatetags / mesh_tags.py file_name   1 1 0   0%
src / mesh / templatetags / mesh_tags.py role_switch_form   1 1 0   0%
src / mesh / templatetags / mesh_tags.py check_rights   6 2 0   67%
src / mesh / templatetags / mesh_tags.py get_impersonate_data   1 0 0   100%
src / mesh / templatetags / mesh_tags.py filter_email   2 2 0   0%
src / mesh / templatetags / mesh_tags.py get_delay   41 20 0   51%
src / mesh / templatetags / mesh_tags.py get_state_display   4 0 0   100%
src / mesh / templatetags / mesh_tags.py (no function)   34 0 2   100%
src / mesh / tests / __init__.py (no function)   0 0 0   100%
src / mesh / tests / base_test_case.py reset_user_files_directory   7 1 0   86%
src / mesh / tests / base_test_case.py BaseTestCase.dummy_request   4 0 0   100%
src / mesh / tests / base_test_case.py BaseTestCase.setUpClass   3 0 0   100%
src / mesh / tests / base_test_case.py BaseTestCase.tearDownClass   2 0 0   100%
src / mesh / tests / base_test_case.py BaseTestCase.clear_tables   2 0 0   100%
src / mesh / tests / base_test_case.py BaseTestCase.tearDown   2 0 0   100%
src / mesh / tests / base_test_case.py BaseTestCase.reset_user_files_directory   1 0 0   100%
src / mesh / tests / base_test_case.py (no function)   28 0 1   100%
src / mesh / tests / conftest.py auto_resource   2 0 0   100%
src / mesh / tests / conftest.py (no function)   5 0 0   100%
src / mesh / tests / interfaces / __init__.py (no function)   0 0 0   100%
src / mesh / tests / interfaces / test_user_interfaces.py get_dummy_session   1 0 0   100%
src / mesh / tests / interfaces / test_user_interfaces.py test_user_info   6 0 0   100%
src / mesh / tests / interfaces / test_user_interfaces.py test_impersonate_data   17 0 0   100%
src / mesh / tests / interfaces / test_user_interfaces.py (no function)   11 0 0   100%
src / mesh / tests / models / __init__.py (no function)   0 0 0   100%
src / mesh / tests / models / test_base_models.py test_base_change_tracking_model   33 0 0   100%
src / mesh / tests / models / test_base_models.py (no function)   6 0 0   100%
src / mesh / tests / models / test_file_models.py BaseFileWrapperTestCase.setUp   3 0 0   100%
src / mesh / tests / models / test_file_models.py BaseFileWrapperTestCase.test_file_path   12 0 0   100%
src / mesh / tests / models / test_file_models.py BaseFileWrapperTestCase.test_validate_file_extension   6 0 0   100%
src / mesh / tests / models / test_file_models.py BaseFileWrapperTestCase.test_validate_file_size   4 0 0   100%
src / mesh / tests / models / test_file_models.py BaseFileWrapperTestCase.test_validate_file_name_length   4 0 0   100%
src / mesh / tests / models / test_file_models.py BaseFileWrapperTestCase.test_base_run_file_validators   17 0 0   100%
src / mesh / tests / models / test_file_models.py BaseFileWrapperTestCase.test_file_update   14 0 0   100%
src / mesh / tests / models / test_file_models.py BaseFileWrapperTestCase.test_delete   17 0 0   100%
src / mesh / tests / models / test_file_models.py BaseFileWrapperTestCase.test_get_upload_path_from_model   4 0 0   100%
src / mesh / tests / models / test_file_models.py (no function)   20 0 0   100%
src / mesh / tests / models / test_review_models.py ReviewTestCase.setUpClass   2 0 0   100%
src / mesh / tests / models / test_review_models.py ReviewTestCase.test_unique_reviewer_per_round   4 0 0   100%
src / mesh / tests / models / test_review_models.py ReviewTestCase.test_is_response_overdue   7 0 0   100%
src / mesh / tests / models / test_review_models.py ReviewTestCase.test_is_report_overdue   14 0 0   100%
src / mesh / tests / models / test_review_models.py ReviewTestCase.test_is_completed   11 0 0   100%
src / mesh / tests / models / test_review_models.py ReviewTestCase.test_is_editable   8 0 0   100%
src / mesh / tests / models / test_review_models.py ReviewTestCase.test_accept   31 0 0   100%
src / mesh / tests / models / test_review_models.py ReviewTestCase.test_submit   17 0 0   100%
src / mesh / tests / models / test_review_models.py (no function)   22 0 0   100%
src / mesh / tests / models / test_submission_container_model.py JournalSectionTestCase.sort_journal_section_list   1 0 0   100%
src / mesh / tests / models / test_submission_container_model.py JournalSectionTestCase.setUp   6 0 0   100%
src / mesh / tests / models / test_submission_container_model.py JournalSectionTestCase.test_all_journal_sections   4 0 0   100%
src / mesh / tests / models / test_submission_container_model.py JournalSectionTestCase.test_all_journal_sections_children   6 0 0   100%
src / mesh / tests / models / test_submission_container_model.py JournalSectionTestCase.test_all_journal_sections_parent   7 0 0   100%
src / mesh / tests / models / test_submission_container_model.py JournalSectionTestCase.test_get_children_recursive   6 0 0   100%
src / mesh / tests / models / test_submission_container_model.py JournalSectionTestCase.test_get_parents_recursive   6 0 0   100%
src / mesh / tests / models / test_submission_container_model.py JournalSectionTestCase.test_build_tree_recursive   17 0 0   100%
src / mesh / tests / models / test_submission_container_model.py JournalSectionTestCase.test_clean_cache   10 0 0   100%
src / mesh / tests / models / test_submission_container_model.py JournalSectionTestCase.test_update_submission_journal_section   14 0 0   100%
src / mesh / tests / models / test_submission_container_model.py JournalSectionTestCase.test_delete_submission_journal_section   5 0 0   100%
src / mesh / tests / models / test_submission_container_model.py (no function)   18 0 0   100%
src / mesh / tests / models / test_submission_models.py SubmissionTestCase.setUpClass   2 0 0   100%
src / mesh / tests / models / test_submission_models.py SubmissionTestCase.test_date_submission   7 0 0   100%
src / mesh / tests / models / test_submission_models.py SubmissionTestCase.test_is_draft   4 0 0   100%
src / mesh / tests / models / test_submission_models.py SubmissionTestCase.test_version_attributes   21 0 0   100%
src / mesh / tests / models / test_submission_models.py SubmissionTestCase.test_all_authors   10 0 0   100%
src / mesh / tests / models / test_submission_models.py SubmissionTestCase.test_all_assigned_editors   9 0 0   100%
src / mesh / tests / models / test_submission_models.py SubmissionWorkflowTestCase.setUpClass   6 0 0   100%
src / mesh / tests / models / test_submission_models.py SubmissionWorkflowTestCase.tearDownClass   2 0 0   100%
src / mesh / tests / models / test_submission_models.py SubmissionWorkflowTestCase.setUp   1 0 0   100%
src / mesh / tests / models / test_submission_models.py SubmissionWorkflowTestCase.test_is_submittable   31 0 0   100%
src / mesh / tests / models / test_submission_models.py SubmissionWorkflowTestCase.test_submit   47 0 0   100%
src / mesh / tests / models / test_submission_models.py SubmissionWorkflowTestCase.test_is_reviewable   40 0 0   100%
src / mesh / tests / models / test_submission_models.py SubmissionWorkflowTestCase.test_start_review_process   22 0 0   100%
src / mesh / tests / models / test_submission_models.py SubmissionWorkflowTestCase.test_apply_editorial_decision   80 0 0   100%
src / mesh / tests / models / test_submission_models.py (no function)   31 0 0   100%
src / mesh / tests / models / test_user_models.py UserTestCase.test_token_authentication_allowed   8 0 0   100%
src / mesh / tests / models / test_user_models.py UserTokenTestCase.setUp   2 0 0   100%
src / mesh / tests / models / test_user_models.py UserTokenTestCase.test_expiration_date   5 0 0   100%
src / mesh / tests / models / test_user_models.py UserTokenTestCase.test_get_token   7 0 0   100%
src / mesh / tests / models / test_user_models.py (no function)   14 0 0   100%
src / mesh / tests / random_users.py create_user   12 12 0   0%
src / mesh / tests / random_users.py (no function)   4 4 0   0%
src / mesh / tests / roles / __init__.py (no function)   0 0 0   100%
src / mesh / tests / roles / test_author.py AuthorTestCase.setUpClass   3 0 0   100%
src / mesh / tests / roles / test_author.py AuthorTestCase.test_submissions   12 0 0   100%
src / mesh / tests / roles / test_author.py AuthorTestCase.test_can_create_version   32 0 0   100%
src / mesh / tests / roles / test_author.py AuthorTestCase.test_can_access_review   29 0 0   100%
src / mesh / tests / roles / test_author.py AuthorTestCase.test_submission_status   25 0 0   100%
src / mesh / tests / roles / test_author.py (no function)   16 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.setUpClass   3 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_submissions_from_direct_right   13 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_submissions_from_journal_sections   23 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_all_submissions   16 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_can_invite_reviewer   14 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_can_access_version   13 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_managed_users   23 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_can_impersonate   2 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_can_access_submission_log   8 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_can_create_editorial_decision   33 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_can_start_review_process   11 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_can_assign_editor   8 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_can_filter_submissions   2 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_can_access_journal_sections   2 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_can_edit_review_file_right   12 0 0   100%
src / mesh / tests / roles / test_editor.py EditorTestCase.test_editor_submission_status   64 0 0   100%
src / mesh / tests / roles / test_editor.py EditorUtilsTestCase.test_section_editors   19 0 0   100%
src / mesh / tests / roles / test_editor.py (no function)   32 0 0   100%
src / mesh / tests / roles / test_journal_manager.py JournalManagerTestCase.setUpClass   2 0 0   100%
src / mesh / tests / roles / test_journal_manager.py JournalManagerTestCase.test_submissions   17 0 0   100%
src / mesh / tests / roles / test_journal_manager.py JournalManagerTestCase.test_managed_users   23 0 0   100%
src / mesh / tests / roles / test_journal_manager.py JournalManagerTestCase.test_can_edit_journal_sections   2 0 0   100%
src / mesh / tests / roles / test_journal_manager.py (no function)   14 0 0   100%
src / mesh / tests / roles / test_reviewer.py ReviewerTestCase.setUpClass   3 0 0   100%
src / mesh / tests / roles / test_reviewer.py ReviewerTestCase.test_submissions   29 0 0   100%
src / mesh / tests / roles / test_reviewer.py ReviewerTestCase.test_get_current_open_review   29 0 0   100%
src / mesh / tests / roles / test_reviewer.py ReviewerTestCase.test_can_edit_review   13 0 0   100%
src / mesh / tests / roles / test_reviewer.py ReviewerTestCase.test_can_access_submission_author   16 0 0   100%
src / mesh / tests / roles / test_reviewer.py ReviewerTestCase.test_submission_status   50 0 0   100%
src / mesh / tests / roles / test_reviewer.py (no function)   19 0 0   100%
src / mesh / tests / settings.py (no function)   25 0 0   100%
src / mesh / tests / test_auth.py TokenBackendTestCase.setUp   5 0 0   100%
src / mesh / tests / test_auth.py TokenBackendTestCase.test_no_token   5 0 0   100%
src / mesh / tests / test_auth.py TokenBackendTestCase.test_base_user   5 0 0   100%
src / mesh / tests / test_auth.py TokenBackendTestCase.test_staff_user   4 0 0   100%
src / mesh / tests / test_auth.py TokenBackendTestCase.test_admin_user   4 0 0   100%
src / mesh / tests / test_auth.py TokenBackendTestCase.test_journal_manager_user   4 0 0   100%
src / mesh / tests / test_auth.py TokenBackendTestCase.test_role_unauthorized_user   8 0 0   100%
src / mesh / tests / test_auth.py (no function)   15 0 0   100%
src / mesh / tests / test_ckeditor_related.py test_sanitize_html_input   2 0 0   100%
src / mesh / tests / test_ckeditor_related.py test_ckeditor_sanitizer   3 0 0   100%
src / mesh / tests / test_ckeditor_related.py test_ckeditor_allowed_content   7 0 0   100%
src / mesh / tests / test_ckeditor_related.py test_ckeditor_form_field   5 0 0   100%
src / mesh / tests / test_ckeditor_related.py (no function)   13 0 0   100%
src / mesh / tests / test_middleware.py ImpersonateMiddlewareTestCase.setUp   7 0 0   100%
src / mesh / tests / test_middleware.py ImpersonateMiddlewareTestCase.test_processing_impersonate_data_anonymous_user   2 0 0   100%
src / mesh / tests / test_middleware.py ImpersonateMiddlewareTestCase.test_processing_impersonate_data_normal_use   7 0 0   100%
src / mesh / tests / test_middleware.py ImpersonateMiddlewareTestCase.test_processing_impersonate_data_user_not_found   6 0 0   100%
src / mesh / tests / test_middleware.py ImpersonateMiddlewareTestCase.test_processing_impersonate_data_invalid   7 0 0   100%
src / mesh / tests / test_middleware.py (no function)   13 0 0   100%
src / mesh / tests / test_mixins.py NaiveDispatcher.dispatch   1 0 0   100%
src / mesh / tests / test_mixins.py TestRoleMixin.setUpClass   6 0 0   100%
src / mesh / tests / test_mixins.py TestRoleMixin.test_dispatch_no_authenticated_user   8 0 0   100%
src / mesh / tests / test_mixins.py TestRoleMixin.test_base_dispatch   8 0 0   100%
src / mesh / tests / test_mixins.py TestRoleMixin.test_cached_role_handler   18 0 0   100%
src / mesh / tests / test_mixins.py TestRoleMixin.test_restrict_dispatch   18 0 0   100%
src / mesh / tests / test_mixins.py TestRoleMixin.test_force_role   27 0 0   100%
src / mesh / tests / test_mixins.py TestRoleMixin.test_force_role_when_switching   13 0 0   100%
src / mesh / tests / test_mixins.py (no function)   28 0 0   100%
src / mesh / tests / urls.py (no function)   5 0 0   100%
src / mesh / tests / views / __init__.py (no function)   0 0 0   100%
src / mesh / tests / views / test_submission_views.py create_global_submissions   15 0 0   100%
src / mesh / tests / views / test_submission_views.py generate_grouped_function   9 0 0   100%
src / mesh / tests / views / test_submission_views.py generate_grouped_function.grouped_submissions_per_status   1 0 0   100%
src / mesh / tests / views / test_submission_views.py submission_list_config_in_filters   1 0 0   100%
src / mesh / tests / views / test_submission_views.py submission_list_config_display   1 0 0   100%
src / mesh / tests / views / test_submission_views.py SubmissionViewsTestCase.setUpClass   3 0 0   100%
src / mesh / tests / views / test_submission_views.py SubmissionViewsTestCase.test_group_submissions_per_status   10 0 0   100%
src / mesh / tests / views / test_submission_views.py SubmissionViewsTestCase.test_submissions_list_grouping   20 0 0   100%
src / mesh / tests / views / test_submission_views.py SubmissionViewsTestCase.test_submissions_list_filtering   74 0 0   100%
src / mesh / tests / views / test_submission_views.py SubmissionViewsTestCase.test_submissions_list_filtering_settings   36 0 0   100%
src / mesh / tests / views / test_submission_views.py SubmissionViewsTestCase.test_review_summary   41 0 0   100%
src / mesh / tests / views / test_submission_views.py (no function)   35 0 0   100%
src / mesh / tests / workflow / helpers / author_request_helpers.py create_submission_first_step   5 0 0   100%
src / mesh / tests / workflow / helpers / author_request_helpers.py create_submission_second_step   3 0 0   100%
src / mesh / tests / workflow / helpers / author_request_helpers.py create_submission_third_step   3 0 0   100%
src / mesh / tests / workflow / helpers / author_request_helpers.py create_submission_fourth_step   3 0 0   100%
src / mesh / tests / workflow / helpers / author_request_helpers.py create_submission_workflow   7 0 0   100%
src / mesh / tests / workflow / helpers / author_request_helpers.py make_revision   3 0 0   100%
src / mesh / tests / workflow / helpers / author_request_helpers.py confirm_revision   2 0 0   100%
src / mesh / tests / workflow / helpers / author_request_helpers.py make_revision_workflow   7 0 0   100%
src / mesh / tests / workflow / helpers / author_request_helpers.py (no function)   15 0 0   100%
src / mesh / tests / workflow / helpers / base_helpers.py get_version_pk   4 0 0   100%
src / mesh / tests / workflow / helpers / base_helpers.py check_submission_detail_page   2 0 0   100%
src / mesh / tests / workflow / helpers / base_helpers.py check_revision_detail_page   2 2 0   0%
src / mesh / tests / workflow / helpers / base_helpers.py get_reviewer_user   3 0 0   100%
src / mesh / tests / workflow / helpers / base_helpers.py assert_submission_state   6 2 0   67%
src / mesh / tests / workflow / helpers / base_helpers.py assert_submission_status   8 2 0   75%
src / mesh / tests / workflow / helpers / base_helpers.py assert_version_main_file   9 4 0   56%
src / mesh / tests / workflow / helpers / base_helpers.py assert_review_recommendation   9 2 0   78%
src / mesh / tests / workflow / helpers / base_helpers.py assert_review_state   9 2 0   78%
src / mesh / tests / workflow / helpers / base_helpers.py assert_round_number   7 2 0   71%
src / mesh / tests / workflow / helpers / base_helpers.py assert_decision_comment   2 0 0   100%
src / mesh / tests / workflow / helpers / base_helpers.py get_review   3 0 0   100%
src / mesh / tests / workflow / helpers / base_helpers.py (no function)   21 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py create_reviewer   2 2 0   0%
src / mesh / tests / workflow / helpers / editor_request_helpers.py get_reviewer_shortlist_page   2 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py add_reviewer_to_shortlist   2 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py add_reviewer_to_shortlist_workflow   2 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py make_editorial_decision   3 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py update_editorial_decision   2 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py reject_submission_workflow   4 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py accept_submission_workflow   4 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py request_revision_workflow   4 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py edit_revision_workflow   7 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py get_request_review_page   2 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py get_decision_edit_page   2 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py remove_reviewer_to_review_shortlist   2 2 0   0%
src / mesh / tests / workflow / helpers / editor_request_helpers.py request_review   2 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py submission_add_reviewer_to_shortlist   2 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py request_review_workflow   7 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py request_review_with_shortlist_workflow   9 0 0   100%
src / mesh / tests / workflow / helpers / editor_request_helpers.py (no function)   24 0 0   100%
src / mesh / tests / workflow / helpers / journal_manager_request_helpers.py get_assign_editor_page   2 0 0   100%
src / mesh / tests / workflow / helpers / journal_manager_request_helpers.py assign_editor   2 0 0   100%
src / mesh / tests / workflow / helpers / journal_manager_request_helpers.py assign_editor_workflow   4 0 0   100%
src / mesh / tests / workflow / helpers / journal_manager_request_helpers.py (no function)   8 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py get_submission_page_with_token   2 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py access_decline_review_page   2 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py decline_review   2 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py access_accept_review_page   2 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py accept_review   2 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py accept_review_invite_with_token_workflow   5 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py decline_review_invite_with_token_workflow   5 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py accept_review_invite_workflow   4 4 0   0%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py get_review_update_page   2 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py make_review   2 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py confirm_review   2 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py access_review_details   2 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py recommend_accept_submission_workflow   10 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py recommend_reject_submission_workflow   10 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py recommend_revision_workflow   11 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py recommend_resubmission_workflow   11 0 0   100%
src / mesh / tests / workflow / helpers / reviewer_request_helpers.py (no function)   23 0 2   100%
src / mesh / tests / workflow / helpers / workflow_state_initiators.py WorkflowStateInitiators.init_submittable_submission   9 0 0   100%
src / mesh / tests / workflow / helpers / workflow_state_initiators.py WorkflowStateInitiators.init_user_asked_for_review_on_submission   5 5 0   0%
src / mesh / tests / workflow / helpers / workflow_state_initiators.py WorkflowStateInitiators.init_to_be_reviewed_submission   3 3 0   0%
src / mesh / tests / workflow / helpers / workflow_state_initiators.py (no function)   8 0 0   100%
src / mesh / tests / workflow / tests / test_workflow_base.py WorkflowBaseTest.setUp   14 0 0   100%
src / mesh / tests / workflow / tests / test_workflow_base.py WorkflowBaseTest.get_reviewer_token_url   3 0 0   100%
src / mesh / tests / workflow / tests / test_workflow_base.py WorkflowBaseTest.get_pdf   6 0 0   100%
src / mesh / tests / workflow / tests / test_workflow_base.py WorkflowBaseTest.create_fake_reviewer_data   6 0 0   100%
src / mesh / tests / workflow / tests / test_workflow_base.py WorkflowBaseTest.get_request_reviewer_data   15 2 0   87%
src / mesh / tests / workflow / tests / test_workflow_base.py (no function)   18 0 0   100%
src / mesh / urls.py (no function)   15 0 0   100%
src / mesh / views / __init__.py (no function)   0 0 0   100%
src / mesh / views / components / __init__.py (no function)   0 0 0   100%
src / mesh / views / components / breadcrumb.py get_base_breadcrumb   1 0 0   100%
src / mesh / views / components / breadcrumb.py get_submission_breadcrumb   4 0 0   100%
src / mesh / views / components / breadcrumb.py (no function)   7 0 2   100%
src / mesh / views / components / button.py Button.is_form   1 0 0   100%
src / mesh / views / components / button.py Button.is_link   1 0 0   100%
src / mesh / views / components / button.py Button.is_modal_link   1 0 0   100%
src / mesh / views / components / button.py Button.add_attr   6 6 0   0%
src / mesh / views / components / button.py Button.set_attr   1 1 0   0%
src / mesh / views / components / button.py Button.remove_attr   2 2 0   0%
src / mesh / views / components / button.py build_submission_actions   59 8 0   86%
src / mesh / views / components / button.py (no function)   25 0 2   100%
src / mesh / views / components / ckeditor_config.py sanitize_html_input   8 1 0   88%
src / mesh / views / components / ckeditor_config.py CKEditorConfig.allowed_content   24 3 0   88%
src / mesh / views / components / ckeditor_config.py CKEditorConfig.javascript_config   3 0 0   100%
src / mesh / views / components / ckeditor_config.py CKEditorConfig.sanitize_value   1 0 0   100%
src / mesh / views / components / ckeditor_config.py (no function)   42 0 0   100%
src / mesh / views / components / review_summary.py CountWithTotal.__post_init__   2 1 0   50%
src / mesh / views / components / review_summary.py build_review_summary   11 0 0   100%
src / mesh / views / components / review_summary.py (no function)   14 0 2   100%
src / mesh / views / components / stepper.py StepperConfig.get_step   1 1 0   0%
src / mesh / views / components / stepper.py StepperConfig.set_active_step   7 7 0   0%
src / mesh / views / components / stepper.py StepperConfig.get_next_step   8 8 0   0%
src / mesh / views / components / stepper.py StepperConfig.get_previous_step   8 8 0   0%
src / mesh / views / components / stepper.py StepperConfig.set_completed_steps   2 2 0   0%
src / mesh / views / components / stepper.py StepperConfig.get_next_button   13 13 0   0%
src / mesh / views / components / stepper.py StepperConfig.get_previous_button   6 6 0   0%
src / mesh / views / components / stepper.py get_submission_stepper   20 20 0   0%
src / mesh / views / components / stepper.py add_stepper_button   11 11 0   0%
src / mesh / views / components / stepper.py (no function)   34 0 2   100%
src / mesh / views / components / submission_list.py SubmissionListConfig.id   1 0 0   100%
src / mesh / views / components / submission_list.py get_submission_list_config   1 0 0   100%
src / mesh / views / components / submission_list.py get_done_submission_list_config   1 1 0   0%
src / mesh / views / components / submission_list.py get_all_submission_list_config   1 1 0   0%
src / mesh / views / components / submission_list.py get_submission_by_state_config   1 1 0   0%
src / mesh / views / components / submission_list.py (no function)   27 0 0   100%
src / mesh / views / components / submission_tooltip.py build_submission_tooltip   3 0 0   100%
src / mesh / views / components / submission_tooltip.py (no function)   2 0 2   100%
src / mesh / views / components / tree_node.py build_tree_recursive   7 0 0   100%
src / mesh / views / components / tree_node.py (no function)   13 0 0   100%
src / mesh / views / forms / __init__.py (no function)   0 0 0   100%
src / mesh / views / forms / base_forms.py FileModelForm.__init__   15 2 0   87%
src / mesh / views / forms / base_forms.py FileModelForm.save   17 1 0   94%
src / mesh / views / forms / base_forms.py SubmittableModelForm.__init__   9 5 0   44%
src / mesh / views / forms / base_forms.py HiddenModelChoiceForm.__init__   4 4 0   0%
src / mesh / views / forms / base_forms.py (no function)   32 0 0   100%
src / mesh / views / forms / editorial_forms.py StartReviewProcessForm.clean_process   4 4 0   0%
src / mesh / views / forms / editorial_forms.py EditorialDecisionCreateForm.clean   14 4 0   71%
src / mesh / views / forms / editorial_forms.py EditorialDecisionUpdateForm.__init__   6 0 0   100%
src / mesh / views / forms / editorial_forms.py (no function)   27 0 0   100%
src / mesh / views / forms / fields.py FileField.__init__   14 0 0   100%
src / mesh / views / forms / fields.py FileField.bound_data   1 1 0   0%
src / mesh / views / forms / fields.py FileField.clean   9 1 0   89%
src / mesh / views / forms / fields.py FileField.has_changed   1 0 0   100%
src / mesh / views / forms / fields.py CKEditorFormField.__init__   3 0 0   100%
src / mesh / views / forms / fields.py CKEditorFormField.clean   3 0 0   100%
src / mesh / views / forms / fields.py (no function)   22 0 3   100%
src / mesh / views / forms / review_forms.py ReviewCreateForm.__init__   13 0 0   100%
src / mesh / views / forms / review_forms.py ReviewCreateForm.clean_date_response_due   4 1 0   75%
src / mesh / views / forms / review_forms.py ReviewCreateForm.clean_date_review_due   4 1 0   75%
src / mesh / views / forms / review_forms.py ReviewCreateForm.clean_reviewer_email   8 2 0   75%
src / mesh / views / forms / review_forms.py ReviewCreateForm.clean   25 8 0   68%
src / mesh / views / forms / review_forms.py ReviewAcceptForm.__init__   3 0 0   100%
src / mesh / views / forms / review_forms.py ReviewAcceptForm.clean   2 0 0   100%
src / mesh / views / forms / review_forms.py ReviewDeclineForm.__init__   1 0 0   100%
src / mesh / views / forms / review_forms.py ReviewDeclineForm.clean   4 1 0   75%
src / mesh / views / forms / review_forms.py ReviewSubmitForm.__init__   2 0 0   100%
src / mesh / views / forms / review_forms.py ReviewSubmitForm.clean   4 1 0   75%
src / mesh / views / forms / review_forms.py ReviewAutoCreateForm.__init__   4 4 0   0%
src / mesh / views / forms / review_forms.py ReviewAutoCreateForm.clean_date_review_due   4 4 0   0%
src / mesh / views / forms / review_forms.py (no function)   73 0 2   100%
src / mesh / views / forms / reviewer_forms.py SuggestedReviewerForm.__init__   1 0 0   100%
src / mesh / views / forms / reviewer_forms.py SuggestedReviewerForm.clean_email   4 1 0   75%
src / mesh / views / forms / reviewer_forms.py SuggestedReviewerForm.clean   4 1 0   75%
src / mesh / views / forms / reviewer_forms.py (no function)   27 0 0   100%
src / mesh / views / forms / role_forms.py RoleSelectForm.__init__   3 3 0   0%
src / mesh / views / forms / role_forms.py RoleSwitchForm.clean   5 5 0   0%
src / mesh / views / forms / role_forms.py (no function)   9 0 0   100%
src / mesh / views / forms / submission_forms.py SubmissionEditForm.__init__   6 1 0   83%
src / mesh / views / forms / submission_forms.py SubmissionEditArticleMetadataForm.__init__   2 2 0   0%
src / mesh / views / forms / submission_forms.py SubmissionInfoForm.__init__   2 0 0   100%
src / mesh / views / forms / submission_forms.py SubmissionVersionForm.__init__   2 0 0   100%
src / mesh / views / forms / submission_forms.py SubmissionAuthorForm.__init__   2 2 0   0%
src / mesh / views / forms / submission_forms.py SubmissionAuthorForm.clean_email   4 4 0   0%
src / mesh / views / forms / submission_forms.py JournalSectionForm.__init__   3 3 0   0%
src / mesh / views / forms / submission_forms.py (no function)   54 0 0   100%
src / mesh / views / forms / user_forms.py UserForm.__init__   9 9 0   0%
src / mesh / views / forms / user_forms.py SignupForm.clean_email   4 4 0   0%
src / mesh / views / forms / user_forms.py (no function)   12 0 0   100%
src / mesh / views / forms / widgets.py FileInput.__init__   5 0 0   100%
src / mesh / views / forms / widgets.py FileInput.get_context   16 2 0   88%
src / mesh / views / forms / widgets.py (no function)   13 0 2   100%
src / mesh / views / middlewares / impersonate.py process_impersonate_session   14 0 0   100%
src / mesh / views / middlewares / impersonate.py ImpersonateMiddleware.__init__   1 0 0   100%
src / mesh / views / middlewares / impersonate.py ImpersonateMiddleware.__call__   8 3 0   62%
src / mesh / views / middlewares / impersonate.py (no function)   11 0 0   100%
src / mesh / views / middlewares / role.py _get_default_role   5 1 0   80%
src / mesh / views / middlewares / role.py get_user_role   18 6 0   67%
src / mesh / views / middlewares / role.py CurrentRoleMiddleware.__init__   1 0 0   100%
src / mesh / views / middlewares / role.py CurrentRoleMiddleware.__call__   15 4 0   73%
src / mesh / views / middlewares / role.py (no function)   18 0 5   100%
src / mesh / views / mixins.py BaseRoleMixin.dispatch   21 1 0   95%
src / mesh / views / mixins.py BaseRoleMixin.restrict_dispatch   1 0 0   100%
src / mesh / views / mixins.py BaseRoleMixin.force_role   13 1 0   92%
src / mesh / views / mixins.py BaseRoleMixin.get_fail_redirect_uri   1 0 0   100%
src / mesh / views / mixins.py BaseRoleMixin.get_context_data   6 6 0   0%
src / mesh / views / mixins.py BaseRoleMixin.get_access_restricted_message   1 0 0   100%
src / mesh / views / mixins.py (no function)   24 0 0   100%
src / mesh / views / utils.py group_by   7 0 0   100%
src / mesh / views / utils.py create_new_user   3 0 0   100%
src / mesh / views / utils.py get_review_request_email   5 0 0   100%
src / mesh / views / utils.py send_review_request_email   19 0 0   100%
src / mesh / views / utils.py get_suggestion   10 1 0   90%
src / mesh / views / utils.py assign_editor   5 2 0   60%
src / mesh / views / utils.py remove_editor   2 2 0   0%
src / mesh / views / utils.py (no function)   26 0 2   100%
src / mesh / views / viewmodel / __init__.py (no function)   11 0 2   100%
src / mesh / views / viewmodel / model_proxy.py RoleModelProxy.__init__   2 0 0   100%
src / mesh / views / viewmodel / model_proxy.py RoleModelProxy.__getattr__   2 0 0   100%
src / mesh / views / viewmodel / model_proxy.py (no function)   9 0 2   100%
src / mesh / views / viewmodel / review.py (no function)   13 13 0   0%
src / mesh / views / viewmodel / review_proxy.py ReviewProxy.__init__   7 2 0   71%
src / mesh / views / viewmodel / review_proxy.py (no function)   5 0 0   100%
src / mesh / views / viewmodel / submission_proxy.py SubmissionProxy.__init__   7 0 0   100%
src / mesh / views / viewmodel / submission_proxy.py SubmissionProxy.__eq__   3 3 0   0%
src / mesh / views / viewmodel / submission_proxy.py BuildSubmissionProxyVisitor.visit   6 0 0   100%
src / mesh / views / viewmodel / submission_proxy.py BuildSubmissionProxyVisitor.visit_author   1 0 0   100%
src / mesh / views / viewmodel / submission_proxy.py BuildSubmissionProxyVisitor.visit_editor   7 0 0   100%
src / mesh / views / viewmodel / submission_proxy.py BuildSubmissionProxyVisitor.visit_journal_manager   1 0 0   100%
src / mesh / views / viewmodel / submission_proxy.py BuildSubmissionProxyVisitor.visit_reviewer   1 0 0   100%
src / mesh / views / viewmodel / submission_proxy.py (no function)   19 0 0   100%
src / mesh / views / viewmodel / submission_version_proxy.py SubmissionVersionProxy.__init__   5 0 0   100%
src / mesh / views / viewmodel / submission_version_proxy.py (no function)   6 0 0   100%
src / mesh / views / viewmodel / submissiondata.py (no function)   12 12 3   0%
src / mesh / views / views_base.py SubmittableModelFormMixin.submit_url   1 1 0   0%
src / mesh / views / views_base.py SubmittableModelFormMixin.form_pre_save   1 0 0   100%
src / mesh / views / views_base.py SubmittableModelFormMixin.form_post_save   1 0 0   100%
src / mesh / views / views_base.py SubmittableModelFormMixin.form_valid   15 5 0   67%
src / mesh / views / views_base.py SubmittableModelFormMixin.get_context_data   3 0 0   100%
src / mesh / views / views_base.py SubmittableModelFormMixin.get   2 0 0   100%
src / mesh / views / views_base.py SubmittableModelFormMixin.get_form_kwargs   4 1 0   75%
src / mesh / views / views_base.py MeshObjectMixin.get_queryset   1 0 0   100%
src / mesh / views / views_base.py MeshObjectMixin.get_submission   10 2 0   80%
src / mesh / views / views_base.py MeshObjectMixin.get_version   8 2 0   75%
src / mesh / views / views_base.py MeshObjectMixin.get_review   8 2 0   75%
src / mesh / views / views_base.py MeshObjectMixin.get_decision   7 2 0   71%
src / mesh / views / views_base.py (no function)   32 0 0   100%
src / mesh / views / views_editorial.py SendToReviewView.setup   4 4 0   0%
src / mesh / views / views_editorial.py SendToReviewView.get_success_url   1 1 0   0%
src / mesh / views / views_editorial.py SendToReviewView.form_valid   3 3 0   0%
src / mesh / views / views_editorial.py EditorialDecisionCreateView.setup   4 1 0   75%
src / mesh / views / views_editorial.py EditorialDecisionCreateView.get_success_url   1 0 0   100%
src / mesh / views / views_editorial.py EditorialDecisionCreateView.form_valid   6 0 0   100%
src / mesh / views / views_editorial.py EditorialDecisionCreateView.get_context_data   10 10 0   0%
src / mesh / views / views_editorial.py EditorialDecisionUpdateView.setup   4 1 0   75%
src / mesh / views / views_editorial.py EditorialDecisionUpdateView.get_object   1 0 0   100%
src / mesh / views / views_editorial.py EditorialDecisionUpdateView.get_success_url   1 0 0   100%
src / mesh / views / views_editorial.py EditorialDecisionUpdateView.form_valid   9 1 0   89%
src / mesh / views / views_editorial.py EditorialDecisionUpdateView.get_context_data   10 0 0   100%
src / mesh / views / views_editorial.py EditorialDecisionUpdateView.post   5 2 0   60%
src / mesh / views / views_editorial.py AssignEditorView.setup   4 4 0   0%
src / mesh / views / views_editorial.py AssignEditorView.get_context_data   21 21 0   0%
src / mesh / views / views_editorial.py AssignEditorView.post   18 18 0   0%
src / mesh / views / views_editorial.py AssignEditorAPIView.setup   4 1 0   75%
src / mesh / views / views_editorial.py AssignEditorAPIView.get   6 1 0   83%
src / mesh / views / views_editorial.py AssignEditorAPIView.post   13 3 0   77%
src / mesh / views / views_editorial.py (no function)   56 0 0   100%
src / mesh / views / views_file.py MeshGetFile.get_object   0 0 1   100%
src / mesh / views / views_file.py MeshGetFile.get   16 16 0   0%
src / mesh / views / views_file.py VersionMainFileView.get_object   2 2 0   0%
src / mesh / views / views_file.py VersionAdditionalFileView.get_object   7 7 0   0%
src / mesh / views / views_file.py ReviewAdditionalFileView.get_object   7 7 0   0%
src / mesh / views / views_file.py EditorialDecisionFileView.get_object   7 7 0   0%
src / mesh / views / views_file.py ReviewFileAccessAPIView.post   4 4 0   0%
src / mesh / views / views_file.py (no function)   27 0 2   100%
src / mesh / views / views_home.py HomeView.get   1 1 0   0%
src / mesh / views / views_home.py (no function)   8 0 0   100%
src / mesh / views / views_journal_section.py JournalSectionListView.get_form_kwargs   3 3 0   0%
src / mesh / views / views_journal_section.py JournalSectionListView.setup   3 3 0   0%
src / mesh / views / views_journal_section.py JournalSectionListView.post   3 3 0   0%
src / mesh / views / views_journal_section.py JournalSectionListView.get_success_url   1 1 0   0%
src / mesh / views / views_journal_section.py JournalSectionListView.get_context_data   7 7 0   0%
src / mesh / views / views_journal_section.py JournalSectionListView.form_valid   2 2 0   0%
src / mesh / views / views_journal_section.py JournalSectionEditView.setup   4 4 0   0%
src / mesh / views / views_journal_section.py JournalSectionEditView.get_success_url   1 1 0   0%
src / mesh / views / views_journal_section.py JournalSectionEditView.get_form   3 3 0   0%
src / mesh / views / views_journal_section.py JournalSectionEditView.get_form_kwargs   3 3 0   0%
src / mesh / views / views_journal_section.py JournalSectionEditView.form_valid   2 2 0   0%
src / mesh / views / views_journal_section.py JournalSectionEditView.get_context_data   13 13 0   0%
src / mesh / views / views_journal_section.py JournalSectionEditView.post   5 5 0   0%
src / mesh / views / views_journal_section.py (no function)   36 0 0   100%
src / mesh / views / views_review.py ReviewCreateView.setup   4 1 0   75%
src / mesh / views / views_review.py ReviewCreateView.get_form_kwargs   6 0 0   100%
src / mesh / views / views_review.py ReviewCreateView.get_initial   1 0 0   100%
src / mesh / views / views_review.py ReviewCreateView.get_context_data   32 8 0   75%
src / mesh / views / views_review.py ReviewCreateView.form_valid   29 1 0   97%
src / mesh / views / views_review.py ReviewCreateView.get_success_url   1 0 0   100%
src / mesh / views / views_review.py ReviewEditBaseView.setup   4 1 0   75%
src / mesh / views / views_review.py ReviewEditBaseView.get_object   1 0 0   100%
src / mesh / views / views_review.py ReviewEditBaseView.get_initial   1 0 0   100%
src / mesh / views / views_review.py ReviewAnswerBaseView.get_context_data   8 0 0   100%
src / mesh / views / views_review.py ReviewAnswerBaseView.get_success_url   1 0 0   100%
src / mesh / views / views_review.py ReviewAcceptView.get_context_data   7 0 0   100%
src / mesh / views / views_review.py ReviewAcceptView.get_success_url   3 1 0   67%
src / mesh / views / views_review.py ReviewAcceptView.form_valid   4 0 0   100%
src / mesh / views / views_review.py ReviewDeclineView.get_context_data   7 0 0   100%
src / mesh / views / views_review.py ReviewDeclineView.form_valid   6 0 0   100%
src / mesh / views / views_review.py ReviewSubmitView.get   3 1 0   67%
src / mesh / views / views_review.py ReviewSubmitView.get_success_url   3 1 0   67%
src / mesh / views / views_review.py ReviewSubmitView.submit_url   1 1 0   0%
src / mesh / views / views_review.py ReviewSubmitView.get_context_data   13 0 0   100%
src / mesh / views / views_review.py ReviewSubmitView.form_pre_save   1 0 0   100%
src / mesh / views / views_review.py ReviewSubmitView.post   5 2 0   60%
src / mesh / views / views_review.py ReviewConfirmView.setup   5 1 0   80%
src / mesh / views / views_review.py ReviewConfirmView.get_success_url   1 0 0   100%
src / mesh / views / views_review.py ReviewConfirmView.get_context_data   11 11 0   0%
src / mesh / views / views_review.py ReviewConfirmView.form_valid   3 0 0   100%
src / mesh / views / views_review.py ReviewDetails.setup   6 1 0   83%
src / mesh / views / views_review.py ReviewDetails.get_context_data   8 0 0   100%
src / mesh / views / views_review.py ReviewFileAccessUpdate.setup   4 4 0   0%
src / mesh / views / views_review.py ReviewFileAccessUpdate.post   42 42 0   0%
src / mesh / views / views_review.py ReviewAutoCreateView.setup   10 10 0   0%
src / mesh / views / views_review.py ReviewAutoCreateView.get_initial   1 1 0   0%
src / mesh / views / views_review.py ReviewAutoCreateView.get_context_data   15 15 0   0%
src / mesh / views / views_review.py ReviewAutoCreateView.form_valid   19 19 0   0%
src / mesh / views / views_review.py ReviewAutoCreateView.get_success_url   1 1 0   0%
src / mesh / views / views_review.py (no function)   102 0 0   100%
src / mesh / views / views_reviewer.py busy   1 1 0   0%
src / mesh / views / views_reviewer.py ReviewerListView.setup   3 1 0   67%
src / mesh / views / views_reviewer.py ReviewerListView.get_success_url   1 0 0   100%
src / mesh / views / views_reviewer.py ReviewerListView.set_success_message   1 0 0   100%
src / mesh / views / views_reviewer.py ReviewerListView.get_form_kwargs   2 0 0   100%
src / mesh / views / views_reviewer.py ReviewerListView.get_context_data   16 8 0   50%
src / mesh / views / views_reviewer.py ReviewerListView.form_valid   3 0 0   100%
src / mesh / views / views_reviewer.py ReviewerListView.form_invalid   3 3 0   0%
src / mesh / views / views_reviewer.py ReviewerDeleteView.setup   3 3 0   0%
src / mesh / views / views_reviewer.py ReviewerEditAPIView.setup   3 3 0   0%
src / mesh / views / views_reviewer.py ReviewerEditAPIView.get_context_data   4 4 0   0%
src / mesh / views / views_reviewer.py ReviewerEditAPIView.get   6 6 0   0%
src / mesh / views / views_reviewer.py ReviewerEditAPIView.post   12 12 0   0%
src / mesh / views / views_reviewer.py ReviewerEditAPIView.form_valid   1 1 0   0%
src / mesh / views / views_reviewer.py ReviewerEditAPIView.form_invalid   3 3 0   0%
src / mesh / views / views_reviewer.py add_suggestion   5 0 0   100%
src / mesh / views / views_reviewer.py add_suggestion_from_person   11 10 0   9%
src / mesh / views / views_reviewer.py SuggestionView.setup   4 4 0   0%
src / mesh / views / views_reviewer.py SuggestionView.get_success_url   1 1 0   0%
src / mesh / views / views_reviewer.py SuggestionView.get_context_data   4 4 0   0%
src / mesh / views / views_reviewer.py SuggestionView.form_valid   3 3 0   0%
src / mesh / views / views_reviewer.py SuggestionAPIView.setup   5 1 0   80%
src / mesh / views / views_reviewer.py SuggestionAPIView.add_suggestion   6 1 0   83%
src / mesh / views / views_reviewer.py SuggestionAPIView.remove_suggestion   3 3 0   0%
src / mesh / views / views_reviewer.py SuggestionAPIView.post   9 3 0   67%
src / mesh / views / views_reviewer.py SuggestionAPIView.get_context_data   5 0 0   100%
src / mesh / views / views_reviewer.py (no function)   64 0 0   100%
src / mesh / views / views_role.py RoleSwitchView.post   15 15 0   0%
src / mesh / views / views_role.py (no function)   10 0 0   100%
src / mesh / views / views_submission.py get_submission_message_if_no_actions   5 2 0   60%
src / mesh / views / views_submission.py SubmissionDetailsView.setup   1 0 0   100%
src / mesh / views / views_submission.py SubmissionDetailsView.get_object   9 6 0   33%
src / mesh / views / views_submission.py SubmissionDetailsView.get_context_data   6 0 0   100%
src / mesh / views / views_submission.py submission_list_filters   1 0 0   100%
src / mesh / views / views_submission.py group_submissions_per_status   1 0 0   100%
src / mesh / views / views_submission.py group_submissions_per_state   1 1 0   0%
src / mesh / views / views_submission.py one_group_submissions   1 1 0   0%
src / mesh / views / views_submission.py prepare_submissions_lists   31 4 0   87%
src / mesh / views / views_submission.py SubmissionListView.get_context_data   6 6 0   0%
src / mesh / views / views_submission.py AllSubmissionsListView.get_context_data   5 5 0   0%
src / mesh / views / views_submission.py SubmissionsByStateListView.get_context_data   5 5 0   0%
src / mesh / views / views_submission.py DoneSubmissionListView.get_context_data   7 7 0   0%
src / mesh / views / views_submission.py SubmissionLogView.get_object   1 1 0   0%
src / mesh / views / views_submission.py SubmissionLogView.get_context_data   16 16 0   0%
src / mesh / views / views_submission.py SubmissionInListAPIView.get   5 5 0   0%
src / mesh / views / views_submission.py SubmissionNotesAPIView.post   8 8 0   0%
src / mesh / views / views_submission.py (no function)   62 0 4   100%
src / mesh / views / views_submission_edit.py SubmissionCreateView.setup   4 1 0   75%
src / mesh / views / views_submission_edit.py SubmissionCreateView.get_success_url   1 0 0   100%
src / mesh / views / views_submission_edit.py SubmissionCreateView.form_valid   2 0 0   100%
src / mesh / views / views_submission_edit.py SubmissionCreateView.get_context_data   10 10 0   0%
src / mesh / views / views_submission_edit.py SubmissionPreprintUpdateView.setup   4 4 0   0%
src / mesh / views / views_submission_edit.py SubmissionPreprintUpdateView.get_object   1 1 0   0%
src / mesh / views / views_submission_edit.py SubmissionPreprintUpdateView.get_success_url   1 1 0   0%
src / mesh / views / views_submission_edit.py SubmissionPreprintUpdateView.form_valid   19 19 0   0%
src / mesh / views / views_submission_edit.py SubmissionPreprintUpdateView.get_context_data   10 10 0   0%
src / mesh / views / views_submission_edit.py SubmissionEditArticleMetadataVuejsAPIView.__init__   7 0 0   100%
src / mesh / views / views_submission_edit.py SubmissionEditArticleMetadataVuejsAPIView.setup   4 1 0   75%
src / mesh / views / views_submission_edit.py SubmissionEditArticleMetadataVuejsAPIView.get   8 8 0   0%
src / mesh / views / views_submission_edit.py SubmissionEditArticleMetadataVuejsAPIView.get.obj_to_dict   1 1 0   0%
src / mesh / views / views_submission_edit.py SubmissionEditArticleMetadataVuejsAPIView.handle_pdf_for_vuejs3   11 5 0   55%
src / mesh / views / views_submission_edit.py SubmissionEditArticleMetadataVuejsAPIView.handle_titles_for_vuejs3   3 1 0   67%
src / mesh / views / views_submission_edit.py SubmissionEditArticleMetadataVuejsAPIView.handle_contributors_for_vuejs3   11 9 0   18%
src / mesh / views / views_submission_edit.py SubmissionEditArticleMetadataVuejsAPIView.handle_abstracts_for_vuejs3   3 1 0   67%
src / mesh / views / views_submission_edit.py SubmissionEditArticleMetadataVuejsAPIView.post   21 1 0   95%
src / mesh / views / views_submission_edit.py SubmissionRedirectFromVue.get_context_data   3 3 0   0%
src / mesh / views / views_submission_edit.py SubmissionRedirectFromVue.get   2 2 0   0%
src / mesh / views / views_submission_edit.py SubmissionInfoView.setup   4 1 0   75%
src / mesh / views / views_submission_edit.py SubmissionInfoView.get_success_url   1 0 0   100%
src / mesh / views / views_submission_edit.py SubmissionInfoView.get_fail_redirect_uri   1 1 0   0%
src / mesh / views / views_submission_edit.py SubmissionInfoView.get_object   1 0 0   100%
src / mesh / views / views_submission_edit.py SubmissionInfoView.get_context_data   15 15 0   0%
src / mesh / views / views_submission_edit.py SubmissionInfoView.form_valid   7 1 0   86%
src / mesh / views / views_submission_edit.py SubmissionEditArticleMetadataView.setup   4 4 0   0%
src / mesh / views / views_submission_edit.py SubmissionEditArticleMetadataView.get_object   1 1 0   0%
src / mesh / views / views_submission_edit.py SubmissionEditArticleMetadataView.get_context_data   10 10 0   0%
src / mesh / views / views_submission_edit.py SubmissionEditArticleMetadataView.get_success_url   3 3 0   0%
src / mesh / views / views_submission_edit.py SubmissionVersionCreateView.setup   4 1 0   75%
src / mesh / views / views_submission_edit.py SubmissionVersionCreateView.get_form_kwargs   3 0 0   100%
src / mesh / views / views_submission_edit.py SubmissionVersionCreateView.form_valid   2 0 0   100%
src / mesh / views / views_submission_edit.py SubmissionVersionCreateView.get_success_url   3 1 0   67%
src / mesh / views / views_submission_edit.py SubmissionVersionCreateView.submit_url   1 0 0   100%
src / mesh / views / views_submission_edit.py SubmissionVersionCreateView.get_context_data   16 16 0   0%
src / mesh / views / views_submission_edit.py SubmissionVersionUpdateView.setup   4 4 0   0%
src / mesh / views / views_submission_edit.py SubmissionVersionUpdateView.get_fail_redirect_uri   1 1 0   0%
src / mesh / views / views_submission_edit.py SubmissionVersionUpdateView.get_object   1 1 0   0%
src / mesh / views / views_submission_edit.py SubmissionVersionUpdateView.get_form_kwargs   4 4 0   0%
src / mesh / views / views_submission_edit.py SubmissionVersionUpdateView.get_success_url   3 3 0   0%
src / mesh / views / views_submission_edit.py SubmissionVersionUpdateView.submit_url   1 1 0   0%
src / mesh / views / views_submission_edit.py SubmissionVersionUpdateView.form_pre_save   1 1 0   0%
src / mesh / views / views_submission_edit.py SubmissionVersionUpdateView.get_context_data   12 12 0   0%
src / mesh / views / views_submission_edit.py SubmissionVersionUpdateView.post   5 5 0   0%
src / mesh / views / views_submission_edit.py SubmissionResumeView.setup   4 4 0   0%
src / mesh / views / views_submission_edit.py SubmissionResumeView.get   6 6 0   0%
src / mesh / views / views_submission_edit.py SubmissionAuthorView.setup   4 4 0   0%
src / mesh / views / views_submission_edit.py SubmissionAuthorView.get_context_data   17 17 0   0%
src / mesh / views / views_submission_edit.py SubmissionAuthorView.post   5 5 0   0%
src / mesh / views / views_submission_edit.py SubmissionAuthorView.add_author   11 11 0   0%
src / mesh / views / views_submission_edit.py SubmissionAuthorView.remove_author   14 14 0   0%
src / mesh / views / views_submission_edit.py SubmissionAuthorView.toggle_primary_author   11 11 0   0%
src / mesh / views / views_submission_edit.py SubmissionConfirmView.setup   4 1 0   75%
src / mesh / views / views_submission_edit.py SubmissionConfirmView.get_success_url   1 0 0   100%
src / mesh / views / views_submission_edit.py SubmissionConfirmView.get   3 3 0   0%
src / mesh / views / views_submission_edit.py SubmissionConfirmView.get_object   1 1 0   0%
src / mesh / views / views_submission_edit.py SubmissionConfirmView.get_context_data   13 13 0   0%
src / mesh / views / views_submission_edit.py SubmissionConfirmView.form_valid   13 0 0   100%
src / mesh / views / views_submission_edit.py SubmissionDeleteView.setup   4 4 0   0%
src / mesh / views / views_submission_edit.py SubmissionDeleteView.get_object   1 1 0   0%
src / mesh / views / views_submission_edit.py SubmissionDeleteView.get_success_url   1 1 0   0%
src / mesh / views / views_submission_edit.py SubmissionDeleteView.get_context_data   4 4 0   0%
src / mesh / views / views_submission_edit.py (no function)   152 0 0   100%
src / mesh / views / views_user.py InitImpersonateSessionView.restrict_dispatch   3 3 0   0%
src / mesh / views / views_user.py InitImpersonateSessionView.get_form_kwargs   3 3 0   0%
src / mesh / views / views_user.py InitImpersonateSessionView.get_success_url   1 1 0   0%
src / mesh / views / views_user.py InitImpersonateSessionView.form_valid   5 5 0   0%
src / mesh / views / views_user.py InitImpersonateSessionView.get_context_data   6 6 0   0%
src / mesh / views / views_user.py CloseImpersonateSessionView.post   3 3 0   0%
src / mesh / views / views_user.py TokenLoginView.get   18 4 0   78%
src / mesh / views / views_user.py (no function)   28 0 0   100%
Total     7878 1702 115   78%

No items found using the specified filter.