diff --git a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RoleRightSetCheck.java b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RoleRightSetCheck.java index 831d678fb..ea6329442 100644 --- a/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RoleRightSetCheck.java +++ b/bundles/com.e1c.v8codestyle.right/src/com/e1c/v8codestyle/right/check/RoleRightSetCheck.java @@ -31,6 +31,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; @@ -54,12 +55,15 @@ import com._1c.g5.v8.dt.bm.index.rights.IRightsDescription; import com._1c.g5.v8.dt.common.StringUtils; import com._1c.g5.v8.dt.core.platform.IBmModelManager; +import com._1c.g5.v8.dt.core.platform.IExtensionProject; import com._1c.g5.v8.dt.core.platform.IResourceLookup; import com._1c.g5.v8.dt.core.platform.IV8Project; import com._1c.g5.v8.dt.core.platform.IV8ProjectManager; import com._1c.g5.v8.dt.mcore.NamedElement; import com._1c.g5.v8.dt.md.MdUtil; +import com._1c.g5.v8.dt.metadata.mdclass.Configuration; import com._1c.g5.v8.dt.metadata.mdclass.MdObject; +import com._1c.g5.v8.dt.metadata.mdclass.ObjectBelonging; import com._1c.g5.v8.dt.metadata.mdclass.Role; import com._1c.g5.v8.dt.metadata.mdclass.ScriptVariant; import com._1c.g5.v8.dt.rights.IRightInfosService; @@ -164,13 +168,18 @@ protected void configureCheck(CheckConfigurer builder) protected void check(Object object, ResultAcceptor resultAceptor, ICheckParameters parameters, IProgressMonitor monitor) { + if (!(object instanceof EObject eObject)) + { + return; + } + IV8Project v8Project = v8ProjectManager.getProject(eObject); if (object instanceof RoleDescription) { - check((RoleDescription)object, resultAceptor, parameters, monitor); + check((RoleDescription)eObject, resultAceptor, parameters, v8Project, monitor); } else if (object instanceof ObjectRight) { - check((ObjectRight)object, resultAceptor, parameters, monitor); + check((ObjectRight)eObject, resultAceptor, parameters, v8Project, monitor); } } @@ -195,13 +204,13 @@ protected IBmModelManager getBmModelManager() * Creates formated issue message for the right and the MD object. * * @param mdObject the MD object that has forbidden right, cannot be {@code null}. + * @param v8Project the v8-project, cannot be {@code null} * @return the formatted issue message that right set for the object, cannot return {@code null}. */ - protected String getIssueMessage(MdObject mdObject) + protected String getIssueMessage(MdObject mdObject, IV8Project v8Project) { - IV8Project project = mdObject == null ? null : v8ProjectManager.getProject(mdObject); - String rightName = getRightName(project); - String mdObjectName = getMdObjectName(mdObject, project); + String rightName = getRightName(v8Project); + String mdObjectName = getMdObjectName(mdObject, v8Project); return MessageFormat.format(Messages.RoleRightSetCheck_Role_right__0__set_for__1, rightName, mdObjectName); } @@ -216,7 +225,7 @@ protected boolean needCheckObjectRight() } private void check(RoleDescription object, ResultAcceptor resultAceptor, ICheckParameters parameters, - IProgressMonitor monitor) + IV8Project v8Project, IProgressMonitor monitor) { if (!object.isSetForNewObjects()) { @@ -225,6 +234,9 @@ private void check(RoleDescription object, ResultAcceptor resultAceptor, ICheckP Collection mdObjects = getDefaultObjectsWithRight(object, monitor); + IBmModel model = bmModelManager.getModel(object); + Role role = RightsModelUtil.getOwner(object, model); + List rights = object.getRights(); for (MdObject mdObject : mdObjects) { @@ -241,8 +253,12 @@ private void check(RoleDescription object, ResultAcceptor resultAceptor, ICheckP continue; } } - String message = getIssueMessage(mdObject); ObjectRights objectRights = RightsModelUtil.filterObjectRightsByEObject(mdObject, rights); + if (skipCheck(mdObject, v8Project, role, objectRights)) + { + continue; + } + String message = getIssueMessage(mdObject, v8Project); if (objectRights == null) { resultAceptor.addIssue(message, ROLE_DESCRIPTION__RIGHTS); @@ -256,7 +272,7 @@ private void check(RoleDescription object, ResultAcceptor resultAceptor, ICheckP } private void check(ObjectRight object, ResultAcceptor resultAceptor, ICheckParameters parameters, - IProgressMonitor monitor) + IV8Project v8Project, IProgressMonitor monitor) { Right right = object.getRight(); @@ -296,7 +312,7 @@ private void check(ObjectRight object, ResultAcceptor resultAceptor, ICheckParam } } - String message = getIssueMessage(mdObject); + String message = getIssueMessage(mdObject, v8Project); resultAceptor.addIssue(message, OBJECT_RIGHT__RIGHT); } @@ -429,6 +445,55 @@ private boolean hasRight(EClass eClass, EObject context) return rightNames.contains(getRightName().getName()); } + private boolean skipCheck(MdObject mdObject, IV8Project v8Project, Role role, + ObjectRights objectRights) + { + // Role always 'Allow all except... ' (role.isSetForNewObjects() == true) + if (v8Project instanceof IExtensionProject extensionProject) + { + // Extension role cannot contain configuration rights. + if (mdObject instanceof Configuration) + { + return true; + } + + Configuration extensionConfiguration = extensionProject.getConfiguration(); + Set defaultRoles = Set.copyOf(extensionConfiguration.getDefaultRoles()); + boolean isAdoptedObject = RightsModelUtil.isAdoptedMdObject(mdObject); + + // Default native extension role cannot contain adopted object rights. + if (role.getObjectBelonging() == ObjectBelonging.NATIVE && defaultRoles.contains(role) && isAdoptedObject) + { + return true; + } + + RightValue rightValue = null; + if (objectRights != null) + { + rightValue = objectRights.getRights() + .stream() + .filter(Objects::nonNull) + .filter(objectRight -> getRightName().getName().equals(objectRight.getRight().getName()) + || getRightName().getNameRu().equals(objectRight.getRight().getNameRu())) + .findFirst() + .map(ObjectRight::getValue) + .orElse(null); + } + + if (rightValue == null) + { + rightValue = RightsModelUtil.getDefaultRightValue(mdObject, role); + } + + if (!RightsModelUtil.getBooleanRightValue(rightValue)) + { + return true; + } + } + + return false; + } + /** * This extension is combining all changes in containments of RoleDescription and schedule TOP object if needed. * Also it reacts on adding or removing TOP MD-objects and schedule all role descriptions with SetForNewObjects. diff --git a/tests/com.e1c.v8codestyle.right.itests/src/com/e1c/v8codestyle/right/check/itests/RoleRightSetCheckTest.java b/tests/com.e1c.v8codestyle.right.itests/src/com/e1c/v8codestyle/right/check/itests/RoleRightSetCheckTest.java new file mode 100644 index 000000000..63938a9f1 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/src/com/e1c/v8codestyle/right/check/itests/RoleRightSetCheckTest.java @@ -0,0 +1,69 @@ +/******************************************************************************* + * Copyright (C) 2025, 1C-Soft LLC and others. + * + * This program and the accompanying materials are made + * available under the terms of the Eclipse Public License 2.0 + * which is available at https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Andrey Volkov - initial API and implementation + *******************************************************************************/ +package com.e1c.v8codestyle.right.check.itests; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import org.eclipse.core.runtime.CoreException; +import org.junit.Test; + +import com._1c.g5.v8.bm.core.IBmObject; +import com._1c.g5.v8.dt.core.platform.IDtProject; +import com._1c.g5.v8.dt.validation.marker.Marker; +import com.e1c.v8codestyle.internal.right.itests.CheckRights; +import com.e1c.v8codestyle.right.check.RoleRightSetCheck; + +/** + * Tests for {@link RoleRightSetCheck} check. + * + * @author Andrey Volkov + */ +public class RoleRightSetCheckTest + extends CheckRights +{ + @Test + public void testMainProjectRolesCorrect() throws Exception + { + IDtProject dtProject = openProjectAndWaitForValidationFinish("RoleRightSetCheckTest"); + assertNotNull(dtProject); + + checkMarkerCount(dtProject, "Role.Роль1AllowAll.Rights", 0); + checkMarkerCount(dtProject, "Role.Роль2DisableAll.Rights", 0); + } + + @Test + public void testExtensionProjectRolesCorrect() throws Exception + { + IDtProject dtProject = + openProjectAndWaitForValidationFinish("RoleRightSetCheckTest.RoleRightSetCheckExtensionTest"); + assertNotNull(dtProject); + + checkMarkerCount(dtProject, "Role.Расш1_ОсновнаяРоль.Rights", 6); + checkMarkerCount(dtProject, "Role.Расш1_Роль1AllowAll.Rights", 0); + checkMarkerCount(dtProject, "Role.Расш1_Роль2DisableAll.Rights", 0); + checkMarkerCount(dtProject, "Role.Роль1AllowAll.Rights", 0); + checkMarkerCount(dtProject, "Role.Роль2DisableAll.Rights", 0); + } + + private void checkMarkerCount(IDtProject dtProject, String roleDescriptionFqn, int markerCount) throws CoreException + { + IBmObject bmRoleDescription = getTopObjectByFqn(roleDescriptionFqn, dtProject); + assertNotNull(bmRoleDescription); + + Object extractedMarkerContainerId = extractMarkerContainerId(bmRoleDescription.bmGetId()); + Marker[] markers = markerManager.getMarkers(dtProject.getWorkspaceProject(), extractedMarkerContainerId); + + assertTrue(markers.length == markerCount); + } +} diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.project b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.project new file mode 100644 index 000000000..6e015a9e7 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.project @@ -0,0 +1,18 @@ + + + RoleRightSetCheckTest.RoleRightSetCheckExtensionTest + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + com._1c.g5.v8.dt.core.V8ExtensionNature + + diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.settings/com.e1c.v8codestyle.autosort.prefs b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.settings/com.e1c.v8codestyle.autosort.prefs new file mode 100644 index 000000000..23b062502 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.settings/com.e1c.v8codestyle.autosort.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +topObjects=true diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.settings/com.e1c.v8codestyle.bsl.prefs b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.settings/com.e1c.v8codestyle.bsl.prefs new file mode 100644 index 000000000..ac5ba5253 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.settings/com.e1c.v8codestyle.bsl.prefs @@ -0,0 +1,3 @@ +addModuleStrictTypesAnnotation=false +createModuleStructure=false +eclipse.preferences.version=1 diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.settings/com.e1c.v8codestyle.prefs b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.settings/com.e1c.v8codestyle.prefs new file mode 100644 index 000000000..9e9b57e54 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.settings/com.e1c.v8codestyle.prefs @@ -0,0 +1,3 @@ +commonChecks=true +eclipse.preferences.version=1 +standardChecks=true diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.settings/org.eclipse.core.resources.prefs b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 000000000..99f26c020 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/DT-INF/PROJECT.PMF b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/DT-INF/PROJECT.PMF new file mode 100644 index 000000000..bb2afb943 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/DT-INF/PROJECT.PMF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Runtime-Version: 8.5.1 +Base-Project: RoleRightSetCheckTest diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Catalogs/MainCatalog1/MainCatalog1.mdo b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Catalogs/MainCatalog1/MainCatalog1.mdo new file mode 100644 index 000000000..858fe9055 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Catalogs/MainCatalog1/MainCatalog1.mdo @@ -0,0 +1,17 @@ + + + + + + + + + + MainCatalog1 + Adopted + + Checked + + true + true + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Catalogs/\320\240\320\260\321\201\321\2101_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2722/\320\240\320\260\321\201\321\2101_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2722.mdo" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Catalogs/\320\240\320\260\321\201\321\2101_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2722/\320\240\320\260\321\201\321\2101_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2722.mdo" new file mode 100644 index 000000000..3166fe7ed --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Catalogs/\320\240\320\260\321\201\321\2101_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2722/\320\240\320\260\321\201\321\2101_\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2722.mdo" @@ -0,0 +1,36 @@ + + + + + + + + + + Расш1_Справочник2 + + ru + Справочник2 + + true + Catalog.Расш1_Справочник2.StandardAttribute.Code + Catalog.Расш1_Справочник2.StandardAttribute.Description + DontUse + Use + Use + + ru + Расш1_Справочник2 + + 2 + true + 9 + 25 + String + Variable + true + true + AsDescription + InDialog + BothWays + diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Configuration/CommandInterface.cmi b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Configuration/CommandInterface.cmi new file mode 100644 index 000000000..0cf6de8a4 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Configuration/CommandInterface.cmi @@ -0,0 +1,2 @@ + + diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Configuration/Configuration.mdo b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Configuration/Configuration.mdo new file mode 100644 index 000000000..49c2d9e69 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Configuration/Configuration.mdo @@ -0,0 +1,53 @@ + + + RoleRightSetCheckExtensionTest + + ru + Role right set check extension test + + Adopted + + Checked + Checked + Extended + Extended + Checked + Checked + Checked + Extended + Extended + + + + + + + + + true + Расш1_ + 8.5.1 + Customization + ManagedApplication + PersonalComputer + Russian + Role.Расш1_ОсновнаяРоль + Language.Русский + 8.5.1 + + Русский + Adopted + + Checked + Checked + + ru + + Role.Расш1_ОсновнаяРоль + Role.Расш1_Роль1AllowAll + Role.Расш1_Роль2DisableAll + Role.Роль1AllowAll + Role.Роль2DisableAll + Catalog.MainCatalog1 + Catalog.Расш1_Справочник2 + diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Configuration/MainSectionCommandInterface.cmi b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Configuration/MainSectionCommandInterface.cmi new file mode 100644 index 000000000..0cf6de8a4 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Configuration/MainSectionCommandInterface.cmi @@ -0,0 +1,2 @@ + + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\240\320\276\320\273\321\214/Rights.rights" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\240\320\276\320\273\321\214/Rights.rights" new file mode 100644 index 000000000..11a60b5ae --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\240\320\276\320\273\321\214/Rights.rights" @@ -0,0 +1,6 @@ + + + true + true + false + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\240\320\276\320\273\321\214/\320\240\320\260\321\201\321\2101_\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\240\320\276\320\273\321\214.mdo" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\240\320\276\320\273\321\214/\320\240\320\260\321\201\321\2101_\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\240\320\276\320\273\321\214.mdo" new file mode 100644 index 000000000..0b29a335c --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\240\320\276\320\273\321\214/\320\240\320\260\321\201\321\2101_\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\240\320\276\320\273\321\214.mdo" @@ -0,0 +1,8 @@ + + + Расш1_ОсновнаяРоль + + ru + Основная роль + + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2141AllowAll/Rights.rights" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2141AllowAll/Rights.rights" new file mode 100644 index 000000000..6b2578695 --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2141AllowAll/Rights.rights" @@ -0,0 +1,37 @@ + + + true + true + false + + Catalog.Расш1_Справочник2 + + Delete + false + + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveSetDeletionMarkPredefinedData + false + + + InteractiveClearDeletionMarkPredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2141AllowAll/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2141AllowAll.mdo" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2141AllowAll/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2141AllowAll.mdo" new file mode 100644 index 000000000..a8298ad3d --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2141AllowAll/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2141AllowAll.mdo" @@ -0,0 +1,8 @@ + + + Расш1_Роль1AllowAll + + ru + Роль1 allow all + + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2142DisableAll/Rights.rights" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2142DisableAll/Rights.rights" new file mode 100644 index 000000000..d0fe0a7bc --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2142DisableAll/Rights.rights" @@ -0,0 +1,6 @@ + + + false + true + false + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2142DisableAll/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2142DisableAll.mdo" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2142DisableAll/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2142DisableAll.mdo" new file mode 100644 index 000000000..d294e39b5 --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2142DisableAll/\320\240\320\260\321\201\321\2101_\320\240\320\276\320\273\321\2142DisableAll.mdo" @@ -0,0 +1,8 @@ + + + Расш1_Роль2DisableAll + + ru + Роль2 disable all + + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\276\320\273\321\2141AllowAll/Rights.rights" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\276\320\273\321\2141AllowAll/Rights.rights" new file mode 100644 index 000000000..6b2578695 --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\276\320\273\321\2141AllowAll/Rights.rights" @@ -0,0 +1,37 @@ + + + true + true + false + + Catalog.Расш1_Справочник2 + + Delete + false + + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveSetDeletionMarkPredefinedData + false + + + InteractiveClearDeletionMarkPredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\276\320\273\321\2141AllowAll/\320\240\320\276\320\273\321\2141AllowAll.mdo" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\276\320\273\321\2141AllowAll/\320\240\320\276\320\273\321\2141AllowAll.mdo" new file mode 100644 index 000000000..99d6c40be --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\276\320\273\321\2141AllowAll/\320\240\320\276\320\273\321\2141AllowAll.mdo" @@ -0,0 +1,9 @@ + + + Роль1AllowAll + Adopted + + Checked + Extended + + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\276\320\273\321\2142DisableAll/Rights.rights" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\276\320\273\321\2142DisableAll/Rights.rights" new file mode 100644 index 000000000..d0fe0a7bc --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\276\320\273\321\2142DisableAll/Rights.rights" @@ -0,0 +1,6 @@ + + + false + true + false + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\276\320\273\321\2142DisableAll/\320\240\320\276\320\273\321\2142DisableAll.mdo" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\276\320\273\321\2142DisableAll/\320\240\320\276\320\273\321\2142DisableAll.mdo" new file mode 100644 index 000000000..90fb9fd44 --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest.RoleRightSetCheckExtensionTest/src/Roles/\320\240\320\276\320\273\321\2142DisableAll/\320\240\320\276\320\273\321\2142DisableAll.mdo" @@ -0,0 +1,9 @@ + + + Роль2DisableAll + Adopted + + Checked + Extended + + diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.project b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.project new file mode 100644 index 000000000..7351de58e --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.project @@ -0,0 +1,18 @@ + + + RoleRightSetCheckTest + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + com._1c.g5.v8.dt.core.V8ConfigurationNature + + diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.settings/com.e1c.v8codestyle.autosort.prefs b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.settings/com.e1c.v8codestyle.autosort.prefs new file mode 100644 index 000000000..23b062502 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.settings/com.e1c.v8codestyle.autosort.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +topObjects=true diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.settings/com.e1c.v8codestyle.bsl.prefs b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.settings/com.e1c.v8codestyle.bsl.prefs new file mode 100644 index 000000000..ac5ba5253 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.settings/com.e1c.v8codestyle.bsl.prefs @@ -0,0 +1,3 @@ +addModuleStrictTypesAnnotation=false +createModuleStructure=false +eclipse.preferences.version=1 diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.settings/com.e1c.v8codestyle.prefs b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.settings/com.e1c.v8codestyle.prefs new file mode 100644 index 000000000..9e9b57e54 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.settings/com.e1c.v8codestyle.prefs @@ -0,0 +1,3 @@ +commonChecks=true +eclipse.preferences.version=1 +standardChecks=true diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.settings/org.eclipse.core.resources.prefs b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 000000000..99f26c020 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/DT-INF/PROJECT.PMF b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/DT-INF/PROJECT.PMF new file mode 100644 index 000000000..579f0fe27 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/DT-INF/PROJECT.PMF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 +Runtime-Version: 8.5.1 diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Catalogs/MainCatalog1/MainCatalog1.mdo b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Catalogs/MainCatalog1/MainCatalog1.mdo new file mode 100644 index 000000000..4a5a80dc2 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Catalogs/MainCatalog1/MainCatalog1.mdo @@ -0,0 +1,37 @@ + + + + + + + + + + MainCatalog1 + + ru + Main catalog1 + + true + Catalog.MainCatalog1.StandardAttribute.Code + Catalog.MainCatalog1.StandardAttribute.Description + DontUse + Use + Managed + Use + + ru + MainCatalog1 + + 2 + true + 9 + 25 + String + Variable + true + true + AsDescription + InDialog + BothWays + diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Configuration/CommandInterface.cmi b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Configuration/CommandInterface.cmi new file mode 100644 index 000000000..0cf6de8a4 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Configuration/CommandInterface.cmi @@ -0,0 +1,2 @@ + + diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Configuration/Configuration.mdo b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Configuration/Configuration.mdo new file mode 100644 index 000000000..c550a0157 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Configuration/Configuration.mdo @@ -0,0 +1,44 @@ + + + RoleRightSetCheckTest + + ru + Role right set check test + + + + + + + + + ManagedApplication + PersonalComputer + Russian + + + true + + + OSBackup + true + + + Language.Русский + Managed + NotAutoFree + DontUse + DontUse + 8.5.1 + + Русский + + ru + Русский + + ru + + Role.Роль1AllowAll + Role.Роль2DisableAll + Catalog.MainCatalog1 + diff --git a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Configuration/MainSectionCommandInterface.cmi b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Configuration/MainSectionCommandInterface.cmi new file mode 100644 index 000000000..0cf6de8a4 --- /dev/null +++ b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Configuration/MainSectionCommandInterface.cmi @@ -0,0 +1,2 @@ + + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Roles/\320\240\320\276\320\273\321\2141AllowAll/Rights.rights" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Roles/\320\240\320\276\320\273\321\2141AllowAll/Rights.rights" new file mode 100644 index 000000000..f675e8cd4 --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Roles/\320\240\320\276\320\273\321\2141AllowAll/Rights.rights" @@ -0,0 +1,104 @@ + + + true + true + false + + Catalog.MainCatalog1 + + Delete + false + + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveSetDeletionMarkPredefinedData + false + + + InteractiveClearDeletionMarkPredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Configuration.RoleRightSetCheckTest + + Administration + false + + + DataAdministration + false + + + UpdateDataBaseConfiguration + false + + + ExclusiveMode + false + + + ActiveUsers + false + + + EventLog + false + + + ThinClient + false + + + WebClient + false + + + ThickClient + false + + + ExternalConnection + false + + + Automation + false + + + SaveUserData + false + + + ConfigurationExtensionsAdministration + false + + + InteractiveOpenExtDataProcessors + false + + + InteractiveOpenExtReports + false + + + Output + false + + + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Roles/\320\240\320\276\320\273\321\2141AllowAll/\320\240\320\276\320\273\321\2141AllowAll.mdo" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Roles/\320\240\320\276\320\273\321\2141AllowAll/\320\240\320\276\320\273\321\2141AllowAll.mdo" new file mode 100644 index 000000000..9296350be --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Roles/\320\240\320\276\320\273\321\2141AllowAll/\320\240\320\276\320\273\321\2141AllowAll.mdo" @@ -0,0 +1,8 @@ + + + Роль1AllowAll + + ru + Роль1 allow all + + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Roles/\320\240\320\276\320\273\321\2142DisableAll/Rights.rights" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Roles/\320\240\320\276\320\273\321\2142DisableAll/Rights.rights" new file mode 100644 index 000000000..323e52974 --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Roles/\320\240\320\276\320\273\321\2142DisableAll/Rights.rights" @@ -0,0 +1,33 @@ + + + false + true + false + + Configuration.RoleRightSetCheckTest + + MainWindowModeNormal + true + + + MainWindowModeWorkplace + true + + + MainWindowModeEmbeddedWorkplace + true + + + MainWindowModeFullscreenWorkplace + true + + + MainWindowModeKiosk + true + + + AnalyticsSystemClient + true + + + diff --git "a/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Roles/\320\240\320\276\320\273\321\2142DisableAll/\320\240\320\276\320\273\321\2142DisableAll.mdo" "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Roles/\320\240\320\276\320\273\321\2142DisableAll/\320\240\320\276\320\273\321\2142DisableAll.mdo" new file mode 100644 index 000000000..334481fd4 --- /dev/null +++ "b/tests/com.e1c.v8codestyle.right.itests/workspace/RoleRightSetCheckTest/src/Roles/\320\240\320\276\320\273\321\2142DisableAll/\320\240\320\276\320\273\321\2142DisableAll.mdo" @@ -0,0 +1,8 @@ + + + Роль2DisableAll + + ru + Роль2 disable all + +