diff --git a/README.md b/README.md index 64c8d07..f061337 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ cp .env.example .env Установить модули для работы js ```bash sudo apt install npm -cd static/main/js/control_page +cd main/control_page_js_modules/ npm install sudo npm -g install npx npx webpack @@ -75,7 +75,7 @@ sudo apt install npm ``` 2. Перейти в static папку со страницей управления: ```bash -cd static/main/js/control_page +cd main/control_page_js_modules/ ``` 3. Выполнить установку модулей для js ```bash diff --git a/access_controller/settings.py b/access_controller/settings.py index 6f95414..6ef35a2 100644 --- a/access_controller/settings.py +++ b/access_controller/settings.py @@ -186,5 +186,5 @@ ACTRL_API_EMAIL = os.getenv('ACTRL_API_EMAIL') or os.getenv('ACCESS_CONTROLLER_A ACTRL_API_TOKEN = os.getenv('ACTRL_API_TOKEN') or os.getenv('ACCESS_CONTROLLER_API_TOKEN') ACTRL_API_PASSWORD = os.getenv('ACTRL_API_PASSWORD') or os.getenv('ACCESS_CONTROLLER_API_PASSWORD') -NODE_PACKAGE_JSON = BASE_DIR / 'static/main/js/control_page/package.json' -NODE_MODULES_ROOT = BASE_DIR / 'static/main/js/control_page/node_modules' +NODE_PACKAGE_JSON = BASE_DIR / 'static/main/js/control_page_js_modules/package.json' +NODE_MODULES_ROOT = BASE_DIR / 'static/main/js/control_page_js_modules/node_modules' diff --git a/static/main/js/control_page/.babelrc b/main/control_page_js_modules/.babelrc similarity index 100% rename from static/main/js/control_page/.babelrc rename to main/control_page_js_modules/.babelrc diff --git a/static/main/js/control_page/__tests__/control.test.js b/main/control_page_js_modules/__tests__/control.test.js similarity index 100% rename from static/main/js/control_page/__tests__/control.test.js rename to main/control_page_js_modules/__tests__/control.test.js diff --git a/static/main/js/control_page/__tests__/test_users.json b/main/control_page_js_modules/__tests__/test_users.json similarity index 100% rename from static/main/js/control_page/__tests__/test_users.json rename to main/control_page_js_modules/__tests__/test_users.json diff --git a/static/main/js/control_page/jest.config.js b/main/control_page_js_modules/jest.config.js similarity index 100% rename from static/main/js/control_page/jest.config.js rename to main/control_page_js_modules/jest.config.js diff --git a/static/main/js/control_page/package-lock.json b/main/control_page_js_modules/package-lock.json similarity index 99% rename from static/main/js/control_page/package-lock.json rename to main/control_page_js_modules/package-lock.json index bb62707..0aff67c 100644 --- a/static/main/js/control_page/package-lock.json +++ b/main/control_page_js_modules/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "control_page", "version": "1.0.0", "license": "ISC", "dependencies": { diff --git a/static/main/js/control_page/package.json b/main/control_page_js_modules/package.json similarity index 90% rename from static/main/js/control_page/package.json rename to main/control_page_js_modules/package.json index e52e92d..a192a6d 100644 --- a/static/main/js/control_page/package.json +++ b/main/control_page_js_modules/package.json @@ -2,7 +2,7 @@ "name": "control_page", "version": "1.0.0", "description": "", - "main": "dist/index_bundle.js", + "main": "../static/main/js/control_page/dist/index_bundle.js", "scripts": { "test": "jest" }, diff --git a/static/main/js/control_page/src/control.js b/main/control_page_js_modules/src/control.js similarity index 98% rename from static/main/js/control_page/src/control.js rename to main/control_page_js_modules/src/control.js index b56df2e..ad5115b 100644 --- a/static/main/js/control_page/src/control.js +++ b/main/control_page_js_modules/src/control.js @@ -1,6 +1,5 @@ -import React, {useState} from "react"; +import React from "react"; import axios from "axios"; -import * as ReactDOM from "react-dom"; function FreeWorkplaces(props) { return ( diff --git a/main/control_page_js_modules/src/index.js b/main/control_page_js_modules/src/index.js new file mode 100644 index 0000000..44cdea8 --- /dev/null +++ b/main/control_page_js_modules/src/index.js @@ -0,0 +1,17 @@ +import {Table} from "./control" +import ReactDOM from "react-dom"; +import React from "react"; + + +function headCheckbox() { + let headCheckbox = document.getElementById("head-checkbox"); + headCheckbox.addEventListener("click", () => { + let checkboxes = document.getElementsByName("users"); + for (let checkbox of checkboxes) + checkbox.checked = headCheckbox.checked; + }); +} + + +ReactDOM.render(, document.getElementById("table")); +headCheckbox(); diff --git a/static/main/js/control_page/webpack.config.js b/main/control_page_js_modules/webpack.config.js similarity index 86% rename from static/main/js/control_page/webpack.config.js rename to main/control_page_js_modules/webpack.config.js index 25f7902..7268aff 100644 --- a/static/main/js/control_page/webpack.config.js +++ b/main/control_page_js_modules/webpack.config.js @@ -24,8 +24,8 @@ module.exports = { ] }, output: { - path: path.resolve(__dirname, 'dist'), + path: path.resolve('../../static/main/js/control_page', 'dist'), filename: 'index_bundle.js' }, - mode: 'development' + mode: 'development', } diff --git a/main/fixtures/test_data_base.json b/main/fixtures/test_data_base.json deleted file mode 100644 index 307bfab..0000000 --- a/main/fixtures/test_data_base.json +++ /dev/null @@ -1 +0,0 @@ -[{"model": "auth.permission", "pk": 1, "fields": {"name": "Can add log entry", "content_type": 1, "codename": "add_logentry"}}, {"model": "auth.permission", "pk": 2, "fields": {"name": "Can change log entry", "content_type": 1, "codename": "change_logentry"}}, {"model": "auth.permission", "pk": 3, "fields": {"name": "Can delete log entry", "content_type": 1, "codename": "delete_logentry"}}, {"model": "auth.permission", "pk": 4, "fields": {"name": "Can view log entry", "content_type": 1, "codename": "view_logentry"}}, {"model": "auth.permission", "pk": 5, "fields": {"name": "Can add permission", "content_type": 2, "codename": "add_permission"}}, {"model": "auth.permission", "pk": 6, "fields": {"name": "Can change permission", "content_type": 2, "codename": "change_permission"}}, {"model": "auth.permission", "pk": 7, "fields": {"name": "Can delete permission", "content_type": 2, "codename": "delete_permission"}}, {"model": "auth.permission", "pk": 8, "fields": {"name": "Can view permission", "content_type": 2, "codename": "view_permission"}}, {"model": "auth.permission", "pk": 9, "fields": {"name": "Can add group", "content_type": 3, "codename": "add_group"}}, {"model": "auth.permission", "pk": 10, "fields": {"name": "Can change group", "content_type": 3, "codename": "change_group"}}, {"model": "auth.permission", "pk": 11, "fields": {"name": "Can delete group", "content_type": 3, "codename": "delete_group"}}, {"model": "auth.permission", "pk": 12, "fields": {"name": "Can view group", "content_type": 3, "codename": "view_group"}}, {"model": "auth.permission", "pk": 13, "fields": {"name": "Can add user", "content_type": 4, "codename": "add_user"}}, {"model": "auth.permission", "pk": 14, "fields": {"name": "Can change user", "content_type": 4, "codename": "change_user"}}, {"model": "auth.permission", "pk": 15, "fields": {"name": "Can delete user", "content_type": 4, "codename": "delete_user"}}, {"model": "auth.permission", "pk": 16, "fields": {"name": "Can view user", "content_type": 4, "codename": "view_user"}}, {"model": "auth.permission", "pk": 17, "fields": {"name": "Can add content type", "content_type": 5, "codename": "add_contenttype"}}, {"model": "auth.permission", "pk": 18, "fields": {"name": "Can change content type", "content_type": 5, "codename": "change_contenttype"}}, {"model": "auth.permission", "pk": 19, "fields": {"name": "Can delete content type", "content_type": 5, "codename": "delete_contenttype"}}, {"model": "auth.permission", "pk": 20, "fields": {"name": "Can view content type", "content_type": 5, "codename": "view_contenttype"}}, {"model": "auth.permission", "pk": 21, "fields": {"name": "Can add session", "content_type": 6, "codename": "add_session"}}, {"model": "auth.permission", "pk": 22, "fields": {"name": "Can change session", "content_type": 6, "codename": "change_session"}}, {"model": "auth.permission", "pk": 23, "fields": {"name": "Can delete session", "content_type": 6, "codename": "delete_session"}}, {"model": "auth.permission", "pk": 24, "fields": {"name": "Can view session", "content_type": 6, "codename": "view_session"}}, {"model": "auth.permission", "pk": 25, "fields": {"name": "Can add role change logs", "content_type": 7, "codename": "add_rolechangelogs"}}, {"model": "auth.permission", "pk": 26, "fields": {"name": "Can change role change logs", "content_type": 7, "codename": "change_rolechangelogs"}}, {"model": "auth.permission", "pk": 27, "fields": {"name": "Can delete role change logs", "content_type": 7, "codename": "delete_rolechangelogs"}}, {"model": "auth.permission", "pk": 28, "fields": {"name": "Can view role change logs", "content_type": 7, "codename": "view_rolechangelogs"}}, {"model": "auth.permission", "pk": 29, "fields": {"name": "Can add user profile", "content_type": 8, "codename": "add_userprofile"}}, {"model": "auth.permission", "pk": 30, "fields": {"name": "Can change user profile", "content_type": 8, "codename": "change_userprofile"}}, {"model": "auth.permission", "pk": 31, "fields": {"name": "Can delete user profile", "content_type": 8, "codename": "delete_userprofile"}}, {"model": "auth.permission", "pk": 32, "fields": {"name": "Can view user profile", "content_type": 8, "codename": "view_userprofile"}}, {"model": "auth.permission", "pk": 33, "fields": {"name": "Can view admin page", "content_type": 8, "codename": "has_control_access"}}, {"model": "auth.permission", "pk": 34, "fields": {"name": "Can add unassigned ticket", "content_type": 9, "codename": "add_unassignedticket"}}, {"model": "auth.permission", "pk": 35, "fields": {"name": "Can change unassigned ticket", "content_type": 9, "codename": "change_unassignedticket"}}, {"model": "auth.permission", "pk": 36, "fields": {"name": "Can delete unassigned ticket", "content_type": 9, "codename": "delete_unassignedticket"}}, {"model": "auth.permission", "pk": 37, "fields": {"name": "Can view unassigned ticket", "content_type": 9, "codename": "view_unassignedticket"}}, {"model": "auth.user", "pk": 1, "fields": {"password": "pbkdf2_sha256$216000$gHBBCr1jBELf$ZkEDW3IEd8Wij7u8vkv+0Eze32CS01bcaYWhcD9OIC4=", "last_login": "2021-04-28T20:22:36.057Z", "is_superuser": true, "username": "admin@gmail.com", "first_name": "", "last_name": "", "email": "admin@gmail.com", "is_staff": true, "is_active": true, "date_joined": "2021-03-10T16:38:56.303Z", "groups": [], "user_permissions": [33]}}, {"model": "auth.user", "pk": 2, "fields": {"password": "pbkdf2_sha256$216000$5qLJgrm2Quq9$KDBNNymVZXkUx0HKBPFst2m83kLe0egPBnkW7KnkORU=", "last_login": null, "is_superuser": false, "username": "123@test.ru", "first_name": "", "last_name": "", "email": "123@test.ru", "is_staff": false, "is_active": true, "date_joined": "2021-03-10T16:38:56.303Z", "groups": [], "user_permissions": []}}, {"model": "contenttypes.contenttype", "pk": 1, "fields": {"app_label": "admin", "model": "logentry"}}, {"model": "contenttypes.contenttype", "pk": 2, "fields": {"app_label": "auth", "model": "permission"}}, {"model": "contenttypes.contenttype", "pk": 3, "fields": {"app_label": "auth", "model": "group"}}, {"model": "contenttypes.contenttype", "pk": 4, "fields": {"app_label": "auth", "model": "user"}}, {"model": "contenttypes.contenttype", "pk": 5, "fields": {"app_label": "contenttypes", "model": "contenttype"}}, {"model": "contenttypes.contenttype", "pk": 6, "fields": {"app_label": "sessions", "model": "session"}}, {"model": "contenttypes.contenttype", "pk": 7, "fields": {"app_label": "main", "model": "rolechangelogs"}}, {"model": "contenttypes.contenttype", "pk": 8, "fields": {"app_label": "main", "model": "userprofile"}}, {"model": "contenttypes.contenttype", "pk": 9, "fields": {"app_label": "main", "model": "unassignedticket"}}, {"model": "sessions.session", "pk": "y7syxi6d245klgd8ahtdne64unijcfl1", "fields": {"session_data": ".eJxVi0EKwjAQRe-StZTEdtLEnYLnCDOTCSnGFpJ2Jd7dFlzo7vP-ey8VcFtz2JrUMEV1UUadfhkhP2Q-DmSW1gIv81qXUqR2h9XdnziV675uX_Mvz9jy3opPCOwtiDMwDuDZC2Fy2kVnksRkYehHh5o0kOlJG-sdUi9nJmYL6v0Bnu435Q:1lbqhg:Xfzi7jTJtq0DjYAmaRfhPCURirsCTgYIbchSyB84Y9k", "expire_date": "2021-05-12T20:22:36.088Z"}}, {"model": "main.userprofile", "pk": 1, "fields": {"user": 1, "role": "admin", "custom_role_id": 0, "image": null, "name": "ZendeskAdmin"}}, {"model": "main.userprofile", "pk": 2, "fields": {"user": 2, "role": "agent", "custom_role_id": 360005208980, "image": null, "name": "UserForAccessTest"}}] \ No newline at end of file diff --git a/main/tests.py b/main/tests.py index d260d56..36a340f 100644 --- a/main/tests.py +++ b/main/tests.py @@ -534,7 +534,7 @@ class LoggingTestCase(UsersBaseTestCase): class ControlAccessTests(TestCase): - fixtures = ['test_data_base.json'] + fixtures = ['fixtures/data.json'] def setUp(self) -> None: self.User = get_user_model() diff --git a/static/main/js/control_page/.gitkeep b/static/main/js/control_page/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/static/main/js/control_page/src/index.js b/static/main/js/control_page/src/index.js deleted file mode 100644 index c952f55..0000000 --- a/static/main/js/control_page/src/index.js +++ /dev/null @@ -1,16 +0,0 @@ -import {Table} from "./control" -import ReactDOM from "react-dom"; -import React from "react"; - - -function head_checkbox() { - let head_checkbox = document.getElementById("head-checkbox"); - head_checkbox.addEventListener("click", () => { - let checkboxes = document.getElementsByName("users"); - for (let checkbox of checkboxes) checkbox.click(); - }); -} - - -ReactDOM.render(
, document.getElementById("table")); -head_checkbox();