From fc162db99b0a972faab8433eeebe830f66286c72 Mon Sep 17 00:00:00 2001 From: saeid Date: Wed, 24 Apr 2019 21:20:12 +0430 Subject: [PATCH] crator and messageResponse --- composer.json | 11 +- config/app.php | 3 +- packages/messaging/composer.json | 14 + packages/messaging/config/messaging.php | 0 .../messaging/src/Facades/MessageResponse.php | 11 + packages/messaging/src/Message.php | 25 ++ public/0.js | 2 +- public/1.js | 2 +- public/15.js | 8 +- public/16.js | 7 +- public/18.js | 157 +-------- public/19.js | 321 +----------------- public/2.js | 37 +- public/3.js | 171 ++++++++-- public/6.js | 4 +- public/mix-manifest.json | 2 +- public/vue/js/app.js | 141 ++++---- resources/js/vue/config/urls.js | 5 +- resources/js/vue/router/index.js | 10 +- resources/js/vue/router/paths.js | 19 +- resources/js/vue/services/acl/role.js | 17 + resources/js/vue/services/mixin/hasRole.js | 14 +- resources/js/vue/views/AddMedicalCenter.vue | 2 +- .../js/vue/views/ManageMedicalCenter.vue | 7 +- resources/js/vue/views/OperatorList.vue | 4 +- resources/js/vue/views/Register.vue | 2 +- .../js/vue/views/SuperVisior/UserInfo.vue | 27 -- resources/js/vue/views/SuperVisior/table.vue | 136 -------- resources/js/vue/views/TestCreator.vue | 118 +++++-- 29 files changed, 460 insertions(+), 817 deletions(-) create mode 100644 packages/messaging/composer.json create mode 100644 packages/messaging/config/messaging.php create mode 100644 packages/messaging/src/Facades/MessageResponse.php create mode 100644 packages/messaging/src/Message.php create mode 100644 resources/js/vue/services/acl/role.js delete mode 100644 resources/js/vue/views/SuperVisior/UserInfo.vue delete mode 100644 resources/js/vue/views/SuperVisior/table.vue diff --git a/composer.json b/composer.json index d9eb2ad8..0c29c373 100644 --- a/composer.json +++ b/composer.json @@ -60,5 +60,14 @@ "post-create-project-cmd": [ "@php artisan key:generate --ansi" ] - } + }, + "repositories": [ + { + "type": "path", + "path": "packages/wm-messaging", + "options": { + "symlink": true + } + } + ] } diff --git a/config/app.php b/config/app.php index f4a039e4..69123802 100644 --- a/config/app.php +++ b/config/app.php @@ -174,7 +174,6 @@ return [ // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, - App\Providers\MessageServiceProvider::class, Laravel\Passport\PassportServiceProvider::class, ], @@ -227,7 +226,7 @@ return [ 'URL' => Illuminate\Support\Facades\URL::class, 'Validator' => Illuminate\Support\Facades\Validator::class, 'View' => Illuminate\Support\Facades\View::class, - 'MessageResponse' => App\Appended\Classes\Common\Response\Facades\MessageResponse::class, + 'MessageResponse' => packages\messaging\src\Facades\MessageResponse::class, ], diff --git a/packages/messaging/composer.json b/packages/messaging/composer.json new file mode 100644 index 00000000..fdf0b811 --- /dev/null +++ b/packages/messaging/composer.json @@ -0,0 +1,14 @@ +{ + "name": "wm/messaging", + "description": "The Laravel Framework.", + "keywords": [ + "messaging", + "laravel" + ], + "license": "MIT", + "autoload": { + "psr-4": { + "Messaging\\": "src/" + } + } +} diff --git a/packages/messaging/config/messaging.php b/packages/messaging/config/messaging.php new file mode 100644 index 00000000..e69de29b diff --git a/packages/messaging/src/Facades/MessageResponse.php b/packages/messaging/src/Facades/MessageResponse.php new file mode 100644 index 00000000..29bd9333 --- /dev/null +++ b/packages/messaging/src/Facades/MessageResponse.php @@ -0,0 +1,11 @@ +json(['data' => $data, 'view' => $view], 200); + } + + public function success($message = null, $title = null, $status = 'Success' , $data = null , $view = null ) + { + $message = isset($message) ? $message : trans('messages.success_title'); + $title = isset($title) ? $title : trans('messages.success'); + return response()->json(['status' => $status, 'message' => $message, 'title' => $title, 'data' => $data, 'view' => $view], 200); + } + + public function error($message = null, $title = null, $status = 'Faild', $statusCode = 422 ) + { + $message = isset($message) ? $message : trans('messages.faild_message'); + $title = isset($title) ? $title : trans('messages.faild'); + return response()->json(['status' => $status, 'errors' => ['message' => [$message, 'Title' => $title]]], $statusCode); + } +} diff --git a/public/0.js b/public/0.js index dc38cd7b..55a1392b 100644 --- a/public/0.js +++ b/public/0.js @@ -166,7 +166,7 @@ var debugs = {}; var debugEnviron; exports.debuglog = function(set) { if (isUndefined(debugEnviron)) - debugEnviron = Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"/api/","MIX_APP_CLIENT_ID":"2","MIX_APP_CLIENT_SECRET":"I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3","NODE_ENV":"development"}).NODE_DEBUG || ''; + debugEnviron = Object({"MIX_APP_CLIENT_ID":"2","MIX_APP_CLIENT_SECRET":"vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE","MIX_APP_ROOT_API":"/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).NODE_DEBUG || ''; set = set.toUpperCase(); if (!debugs[set]) { if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { diff --git a/public/1.js b/public/1.js index 37b929ef..f2ad2905 100644 --- a/public/1.js +++ b/public/1.js @@ -210,7 +210,7 @@ __webpack_require__.r(__webpack_exports__); exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); // Module -exports.push([module.i, "\n.WM-Border[data-v-308d838e] {\n border: 1px solid;\n}\n.WM-Border-Black[data-v-308d838e] {\n border-color: #2f353b !important;\n}\n.WM-Border-Gray[data-v-308d838e] {\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-308d838e] {\n background-color : #F5F5F5;\n}\n.WM-Relative[data-v-308d838e] {\n position: relative;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-308d838e] {\n top: -25px !important;\n}\n", ""]); +exports.push([module.i, "\n.WM-Border[data-v-308d838e] {\r\n border: 1px solid;\n}\n.WM-Border-Black[data-v-308d838e] {\r\n border-color: #2f353b !important;\n}\n.WM-Border-Gray[data-v-308d838e] {\r\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-308d838e] {\r\n background-color : #F5F5F5;\n}\n.WM-Relative[data-v-308d838e] {\r\n position: relative;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-308d838e] {\r\n top: -25px !important;\n}\r\n", ""]); diff --git a/public/15.js b/public/15.js index cef6cd7e..21173487 100644 --- a/public/15.js +++ b/public/15.js @@ -168,7 +168,9 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope this.items = result.data.users; this.name = result.data.name; } else { - this.$router.push("/dashboard"); + this.$router.push({ + name: "Dashboard" + }); } case 4: @@ -257,7 +259,9 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope break; case 25: - this.$router.push("/dashboard"); + this.$router.push({ + name: "Dashboard" + }); case 26: case "end": diff --git a/public/16.js b/public/16.js index f51b3eaa..8cf6cbf1 100644 --- a/public/16.js +++ b/public/16.js @@ -153,7 +153,12 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar result = _context.sent; if (result && result.status == 200) { - this.$router.push("/operator-list/".concat(this.form.medical_center_id)); + this.$router.push({ + name: "OperatorList", + params: { + medicalCenter: this.form.medical_center_id + } + }); } case 5: diff --git a/public/18.js b/public/18.js index b7b5fd5b..0f089e18 100644 --- a/public/18.js +++ b/public/18.js @@ -1,166 +1,13 @@ (window["webpackJsonp"] = window["webpackJsonp"] || []).push([[18],{ -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=script&lang=js&": -/*!******************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=script&lang=js& ***! - \******************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -/* harmony default export */ __webpack_exports__["default"] = ({ - name: "", - data: function data() { - return {}; - } -}); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true&": -/*!**********************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true& ***! - \**********************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); -var render = function() { - var _vm = this - var _h = _vm.$createElement - var _c = _vm._self._c || _h - return _c( - "v-form", - [ - _c( - "v-container", - { attrs: { "grid-list-xs": "" } }, - [ - _c( - "v-layout", - { attrs: { row: "", wrap: "" } }, - [ - _c( - "material-card", - { attrs: { color: "black", title: "User Info" } }, - [ - _c( - "v-flex", - { attrs: { xs12: "", sm4: "", md4: "" } }, - [ - _c("v-text-field", { - attrs: { name: "name", label: "label", id: "id" } - }) - ], - 1 - ) - ], - 1 - ) - ], - 1 - ) - ], - 1 - ) - ], - 1 - ) -} -var staticRenderFns = [] -render._withStripped = true - - - -/***/ }), - /***/ "./resources/js/vue/views/SuperVisior/UserInfo.vue": /*!*********************************************************!*\ !*** ./resources/js/vue/views/SuperVisior/UserInfo.vue ***! \*********************************************************/ /*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _UserInfo_vue_vue_type_template_id_ad4fa66e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true& */ "./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true&"); -/* harmony import */ var _UserInfo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UserInfo.vue?vue&type=script&lang=js& */ "./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=script&lang=js&"); -/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); - - - - - -/* normalize component */ - -var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( - _UserInfo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], - _UserInfo_vue_vue_type_template_id_ad4fa66e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"], - _UserInfo_vue_vue_type_template_id_ad4fa66e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], - false, - null, - "ad4fa66e", - null - -) - -/* hot reload */ -if (false) { var api; } -component.options.__file = "resources/js/vue/views/SuperVisior/UserInfo.vue" -/* harmony default export */ __webpack_exports__["default"] = (component.exports); - -/***/ }), - -/***/ "./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=script&lang=js&": -/*!**********************************************************************************!*\ - !*** ./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=script&lang=js& ***! - \**********************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UserInfo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib??ref--4-0!../../../../../node_modules/vue-loader/lib??vue-loader-options!./UserInfo.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=script&lang=js&"); -/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UserInfo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); - -/***/ }), - -/***/ "./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true&": -/*!****************************************************************************************************!*\ - !*** ./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true& ***! - \****************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserInfo_vue_vue_type_template_id_ad4fa66e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../node_modules/vue-loader/lib??vue-loader-options!./UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/UserInfo.vue?vue&type=template&id=ad4fa66e&scoped=true&"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserInfo_vue_vue_type_template_id_ad4fa66e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); - -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserInfo_vue_vue_type_template_id_ad4fa66e_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); - +/***/ (function(module, exports) { +throw new Error("Module build failed (from ./node_modules/vue-loader/lib/index.js):\nError: ENOENT: no such file or directory, open 'D:\\Atom\\Git\\Laravel_CSSD\\resources\\js\\vue\\views\\SuperVisior\\UserInfo.vue'"); /***/ }) diff --git a/public/19.js b/public/19.js index f1979b04..c67fdaa5 100644 --- a/public/19.js +++ b/public/19.js @@ -1,330 +1,13 @@ (window["webpackJsonp"] = window["webpackJsonp"] || []).push([[19],{ -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/table.vue?vue&type=script&lang=js&": -/*!***************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/SuperVisior/table.vue?vue&type=script&lang=js& ***! - \***************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -/* harmony default export */ __webpack_exports__["default"] = ({ - data: function data() { - return { - search: '', - headers: [{ - text: 'Dessert (100g serving)', - align: 'left', - sortable: false, - value: 'name' - }, { - text: 'Calories', - value: 'calories' - }, { - text: 'Fat (g)', - value: 'fat' - }, { - text: 'Carbs (g)', - value: 'carbs' - }, { - text: 'Protein (g)', - value: 'protein' - }, { - text: 'Iron (%)', - value: 'iron' - }], - desserts: [{ - name: 'Frozen Yogurt', - calories: 159, - fat: 6.0, - carbs: 24, - protein: 4.0, - iron: '1%' - }, { - name: 'Ice cream sandwich', - calories: 237, - fat: 9.0, - carbs: 37, - protein: 4.3, - iron: '1%' - }, { - name: 'Eclair', - calories: 262, - fat: 16.0, - carbs: 23, - protein: 6.0, - iron: '7%' - }, { - name: 'Cupcake', - calories: 305, - fat: 3.7, - carbs: 67, - protein: 4.3, - iron: '8%' - }, { - name: 'Gingerbread', - calories: 356, - fat: 16.0, - carbs: 49, - protein: 3.9, - iron: '16%' - }, { - name: 'Jelly bean', - calories: 375, - fat: 0.0, - carbs: 94, - protein: 0.0, - iron: '0%' - }, { - name: 'Lollipop', - calories: 392, - fat: 0.2, - carbs: 98, - protein: 0, - iron: '2%' - }, { - name: 'Honeycomb', - calories: 408, - fat: 3.2, - carbs: 87, - protein: 6.5, - iron: '45%' - }, { - name: 'Donut', - calories: 452, - fat: 25.0, - carbs: 51, - protein: 4.9, - iron: '22%' - }, { - name: 'KitKat', - calories: 518, - fat: 26.0, - carbs: 65, - protein: 7, - iron: '6%' - }] - }; - } -}); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/table.vue?vue&type=template&id=826d5224&": -/*!*******************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/SuperVisior/table.vue?vue&type=template&id=826d5224& ***! - \*******************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); -var render = function() { - var _vm = this - var _h = _vm.$createElement - var _c = _vm._self._c || _h - return _c( - "v-card", - [ - _c( - "v-card-title", - [ - _vm._v("\n Nutrition\n "), - _c("v-spacer"), - _vm._v(" "), - _c("v-text-field", { - attrs: { - "append-icon": "search", - label: "Search", - "single-line": "", - "hide-details": "" - }, - model: { - value: _vm.search, - callback: function($$v) { - _vm.search = $$v - }, - expression: "search" - } - }) - ], - 1 - ), - _vm._v(" "), - _c( - "v-data-table", - { - attrs: { - headers: _vm.headers, - items: _vm.desserts, - search: _vm.search - }, - scopedSlots: _vm._u([ - { - key: "items", - fn: function(props) { - return [ - _c("td", [_vm._v(_vm._s(props.item.name))]), - _vm._v(" "), - _c("td", { staticClass: "text-xs-right" }, [ - _vm._v(_vm._s(props.item.calories)) - ]), - _vm._v(" "), - _c("td", { staticClass: "text-xs-right" }, [ - _vm._v(_vm._s(props.item.fat)) - ]), - _vm._v(" "), - _c("td", { staticClass: "text-xs-right" }, [ - _vm._v(_vm._s(props.item.carbs)) - ]), - _vm._v(" "), - _c("td", { staticClass: "text-xs-right" }, [ - _vm._v(_vm._s(props.item.protein)) - ]), - _vm._v(" "), - _c("td", { staticClass: "text-xs-right" }, [ - _vm._v(_vm._s(props.item.iron)) - ]) - ] - } - } - ]) - }, - [ - _vm._v(" "), - _c("v-alert", { - attrs: { value: true, color: "error", icon: "warning" }, - scopedSlots: _vm._u([ - { - key: "no-results", - fn: function() { - return [ - _vm._v( - '\n Your search for "' + - _vm._s(_vm.search) + - '" found no results.\n ' - ) - ] - }, - proxy: true - } - ]) - }) - ], - 1 - ) - ], - 1 - ) -} -var staticRenderFns = [] -render._withStripped = true - - - -/***/ }), - /***/ "./resources/js/vue/views/SuperVisior/table.vue": /*!******************************************************!*\ !*** ./resources/js/vue/views/SuperVisior/table.vue ***! \******************************************************/ /*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _table_vue_vue_type_template_id_826d5224___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./table.vue?vue&type=template&id=826d5224& */ "./resources/js/vue/views/SuperVisior/table.vue?vue&type=template&id=826d5224&"); -/* harmony import */ var _table_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./table.vue?vue&type=script&lang=js& */ "./resources/js/vue/views/SuperVisior/table.vue?vue&type=script&lang=js&"); -/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); - - - - - -/* normalize component */ - -var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( - _table_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], - _table_vue_vue_type_template_id_826d5224___WEBPACK_IMPORTED_MODULE_0__["render"], - _table_vue_vue_type_template_id_826d5224___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], - false, - null, - null, - null - -) - -/* hot reload */ -if (false) { var api; } -component.options.__file = "resources/js/vue/views/SuperVisior/table.vue" -/* harmony default export */ __webpack_exports__["default"] = (component.exports); - -/***/ }), - -/***/ "./resources/js/vue/views/SuperVisior/table.vue?vue&type=script&lang=js&": -/*!*******************************************************************************!*\ - !*** ./resources/js/vue/views/SuperVisior/table.vue?vue&type=script&lang=js& ***! - \*******************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_table_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib??ref--4-0!../../../../../node_modules/vue-loader/lib??vue-loader-options!./table.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/table.vue?vue&type=script&lang=js&"); -/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_table_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); - -/***/ }), - -/***/ "./resources/js/vue/views/SuperVisior/table.vue?vue&type=template&id=826d5224&": -/*!*************************************************************************************!*\ - !*** ./resources/js/vue/views/SuperVisior/table.vue?vue&type=template&id=826d5224& ***! - \*************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_table_vue_vue_type_template_id_826d5224___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../node_modules/vue-loader/lib??vue-loader-options!./table.vue?vue&type=template&id=826d5224& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/SuperVisior/table.vue?vue&type=template&id=826d5224&"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_table_vue_vue_type_template_id_826d5224___WEBPACK_IMPORTED_MODULE_0__["render"]; }); - -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_table_vue_vue_type_template_id_826d5224___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); - +/***/ (function(module, exports) { +throw new Error("Module build failed (from ./node_modules/vue-loader/lib/index.js):\nError: ENOENT: no such file or directory, open 'D:\\Atom\\Git\\Laravel_CSSD\\resources\\js\\vue\\views\\SuperVisior\\table.vue'"); /***/ }) diff --git a/public/2.js b/public/2.js index 367b3fed..5108e5f0 100644 --- a/public/2.js +++ b/public/2.js @@ -12,6 +12,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"); /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js"); +/* harmony import */ var _config_urls__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/config/urls */ "./resources/js/vue/config/urls.js"); function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } @@ -96,6 +97,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar // // + /* harmony default export */ __webpack_exports__["default"] = ({ data: function data() { return { @@ -139,7 +141,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar case 0: page = _args.length > 0 && _args[0] !== undefined ? _args[0] : 1; _context.next = 3; - return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].get("MedicalCenters?page=" + page); + return _services__WEBPACK_IMPORTED_MODULE_1__["ApiService"].get(_config_urls__WEBPACK_IMPORTED_MODULE_2__["urls"].listMedicalCenter(page)); case 3: result = _context.sent; @@ -217,7 +219,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); // Module -exports.push([module.i, "\n.WM-ActionButton[data-v-1305c16e] {\n padding: 8px 22px;\n}\n", ""]); +exports.push([module.i, "\n.WM-ActionButton[data-v-1305c16e] {\r\n padding: 8px 22px;\n}\r\n", ""]); @@ -427,7 +429,10 @@ var render = function() { "router-link", { attrs: { - to: "/medical-center/" + item.id + "/edit" + to: { + name: "EditMedicalCenter", + params: { id: item.id } + } } }, [ @@ -458,7 +463,12 @@ var render = function() { _c( "router-link", { - attrs: { to: "/operator-list/" + item.id } + attrs: { + to: { + name: "OperatorList", + params: { medicalCenter: item.id } + } + } }, [ _c( @@ -599,6 +609,25 @@ render._withStripped = true +/***/ }), + +/***/ "./resources/js/vue/config/urls.js": +/*!*****************************************!*\ + !*** ./resources/js/vue/config/urls.js ***! + \*****************************************/ +/*! exports provided: urls */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "urls", function() { return urls; }); +var urls = { + listMedicalCenter: function listMedicalCenter(page) { + return "/MedicalCenters?page=" + page; + } +}; + + /***/ }), /***/ "./resources/js/vue/views/ManageMedicalCenter.vue": diff --git a/public/3.js b/public/3.js index e8ae8bc0..c1f16610 100644 --- a/public/3.js +++ b/public/3.js @@ -268,6 +268,29 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar // // // +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// /* harmony default export */ __webpack_exports__["default"] = ({ data: function data() { @@ -276,6 +299,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar name: "", unique_code: "", info: [{ + id: 0, name: "", type: "", size: "" @@ -283,22 +307,49 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar }, type: [{ state: "Text", - abbr: "text" + abbr: "Text" }, { state: "Checkbox", - abbr: "checkbox" + abbr: "Checkbox" }, { state: "Select", - abbr: "select" + abbr: "Select" }, { state: "Form", - abbr: "form" - }] + abbr: "Form" + }], + size: [{ + state: "not Selected", + abbr: "" + }, { + state: "2 as 12", + abbr: "col-md-2" + }, { + state: "3 as 12", + abbr: "col-md-3" + }, { + state: "4 as 12", + abbr: "col-md-4" + }, { + state: "6 as 12", + abbr: "col-md-6" + }, { + state: "8 as 12", + abbr: "col-md-8" + }, { + state: "10 as 12", + abbr: "col-md-10" + }], + rules: { + required: function required(value) { + return !!value || "Required."; + } + } }; }, methods: { changeType: function changeType(infoIndex, selectedboxType) { - if (selectedboxType == "select" || selectedboxType == "checkbox") { + if (selectedboxType == "Select" || selectedboxType == "Checkbox") { this.form.info[infoIndex]["options"] = [{ title: "" }]; @@ -306,8 +357,9 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar this.form.info[infoIndex]["options"] = []; } - if (selectedboxType == "form") { + if (selectedboxType == "Form") { this.form.info[infoIndex]["children"] = [{ + id: 0, name: "", type: "", size: "" @@ -330,13 +382,14 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar }, addInput: function addInput() { this.form.info.push({ + id: 0, name: "", type: "", size: "" }); }, changeTypeForm: function changeTypeForm(infoIndex, type, formLevel) { - if (type == "select" || type == "checkbox") { + if (type == "Select" || type == "Checkbox") { var form = this.form; this.form = ""; form.info[infoIndex]["children"][formLevel]["options"] = [{ @@ -368,6 +421,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar var form = this.form; this.form = []; form.info[infoIndex]["children"].push({ + id: 0, name: "", type: "", size: "" @@ -380,6 +434,12 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar form.info[infoIndex]["children"].splice(formLevel, 1); this.form = form; }, + removeInput: function removeInput(infoIndex) { + var form = this.form; + this.form = []; + form.info.splice(infoIndex, 1); + this.form = form; + }, registerForm: function () { var _registerForm = _asyncToGenerator( /*#__PURE__*/ @@ -401,7 +461,9 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar result = _context.sent; if (result && result.status == 200) { - this.$router.push("/dashboard"); + this.$router.push({ + name: "Dashboard" + }); } case 5: @@ -432,7 +494,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); // Module -exports.push([module.i, "\n.WM-Border-Gray[data-v-d05735bc] {\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-d05735bc] {\n background-color: #f5f5f5;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-d05735bc] {\n top: -25px !important;\n}\n.v-btn--bottom.v-btn--absolute.v-btn--small[data-v-d05735bc] {\n bottom: -24px !important;\n}\n", ""]); +exports.push([module.i, "\n.WM-Border-Gray[data-v-d05735bc] {\r\n border-color: #aaa !important;\n}\n.WM-Color-LightGrey[data-v-d05735bc] {\r\n background-color: #f5f5f5;\n}\n.v-btn--top.v-btn--absolute.v-btn--small[data-v-d05735bc] {\r\n top: -25px !important;\n}\n.v-btn--bottom.v-btn--absolute.v-btn--small[data-v-d05735bc] {\r\n bottom: -24px !important;\n}\r\n", ""]); @@ -497,10 +559,7 @@ var render = function() { [ _c( "v-layout", - { - staticClass: "ma-2", - attrs: { row: "", wrap: "", id: "Form" } - }, + { staticClass: "ma-2", attrs: { row: "", wrap: "" } }, [ _c( "v-flex", @@ -508,7 +567,12 @@ var render = function() { [ _c("v-text-field", { staticClass: "pa-2", - attrs: { name: "name", label: "Name", color: "black" }, + attrs: { + name: "name", + label: "Name", + color: "black", + rules: [_vm.rules.required] + }, model: { value: _vm.form.name, callback: function($$v) { @@ -528,6 +592,7 @@ var render = function() { _c("v-text-field", { staticClass: "pa-2", attrs: { + rules: [_vm.rules.required], name: "uniquecode", label: "Unique Code", color: "black" @@ -559,10 +624,7 @@ var render = function() { [ _c( "v-layout", - { - staticClass: "ma-2", - attrs: { row: "", wrap: "", id: "Form" } - }, + { staticClass: "ma-2", attrs: { row: "", wrap: "" } }, [ _c( "v-flex", @@ -573,7 +635,8 @@ var render = function() { attrs: { name: "inputname", label: "Input Name", - color: "black" + color: "black", + rules: [_vm.rules.required] }, model: { value: info.name, @@ -622,11 +685,14 @@ var render = function() { "v-flex", { attrs: { xs12: "", md3: "", sm3: "" } }, [ - _c("v-text-field", { + _c("v-select", { staticClass: "pa-2", attrs: { - name: "size", - label: "Size", + items: _vm.size, + "item-text": "state", + "item-value": "abbr", + label: "Type", + "single-line": "", color: "black" }, model: { @@ -644,7 +710,7 @@ var render = function() { 1 ), _vm._v(" "), - info.type === "select" || info.type === "checkbox" + info.type === "Select" || info.type === "Checkbox" ? _c( "v-layout", { @@ -676,6 +742,7 @@ var render = function() { _c("v-text-field", { staticClass: "pa-2 Input", attrs: { + rules: [_vm.rules.required], name: "title", label: "Title", color: "black" @@ -766,7 +833,7 @@ var render = function() { ) : _vm._e(), _vm._v(" "), - info.type === "form" + info.type === "Form" ? _c( "v-layout", { @@ -795,6 +862,7 @@ var render = function() { _c("v-text-field", { staticClass: "pa-2", attrs: { + rules: [_vm.rules.required], name: "name", label: "Input Name", color: "black" @@ -850,11 +918,14 @@ var render = function() { "v-flex", { attrs: { xs12: "", md3: "", sm3: "" } }, [ - _c("v-text-field", { + _c("v-select", { staticClass: "pa-2", attrs: { - name: "size", - label: "Size", + items: _vm.size, + "item-text": "state", + "item-value": "abbr", + label: "Type", + "single-line": "", color: "black" }, model: { @@ -869,8 +940,8 @@ var render = function() { 1 ), _vm._v(" "), - children.type === "select" || - children.type === "checkbox" + children.type === "Select" || + children.type === "Checkbox" ? _c( "v-layout", { @@ -912,7 +983,10 @@ var render = function() { attrs: { name: "title", label: "Title", - color: "black" + color: "black", + rules: [ + _vm.rules.required + ] }, model: { value: @@ -1033,8 +1107,7 @@ var render = function() { small: "", right: "", top: "", - color: "pink", - id: "RemoveFormDuplicator" + color: "pink" }, on: { click: function($event) { @@ -1071,8 +1144,7 @@ var render = function() { small: "", right: "", bottom: "", - color: "cyan", - id: "FormDuplicator" + color: "cyan" }, on: { click: function($event) { @@ -1095,6 +1167,35 @@ var render = function() { ) : _vm._e(), _vm._v(" "), + keyForm > 0 + ? _c( + "v-btn", + { + attrs: { + absolute: "", + small: "", + right: "", + top: "", + color: "pink" + }, + on: { + click: function($event) { + return _vm.removeInput(keyForm) + } + } + }, + [ + _c( + "v-icon", + { staticClass: "white--text mr-2 caption" }, + [_vm._v("fas fa-times")] + ), + _vm._v("REMOVE\n ") + ], + 1 + ) + : _vm._e(), + _vm._v(" "), _vm.form.info.length - 1 == keyForm ? _c( "v-layout", diff --git a/public/6.js b/public/6.js index a750fed2..41cd38ba 100644 --- a/public/6.js +++ b/public/6.js @@ -150,7 +150,9 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar case 12: if (result && result.status == 200) { - this.$router.push("/manage-medical-center"); + this.$router.push({ + name: "ManageMedicalCenter" + }); } case 13: diff --git a/public/mix-manifest.json b/public/mix-manifest.json index e87e4e8c..69b818c6 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,3 +1,3 @@ { - "/vue/js/app.js": "/vue/js/app.js?id=dffc217075f167416edf" + "/vue/js/app.js": "/vue/js/app.js?id=6945750d7580899bd2de" } diff --git a/public/vue/js/app.js b/public/vue/js/app.js index b7f98d99..0d135c05 100644 --- a/public/vue/js/app.js +++ b/public/vue/js/app.js @@ -8249,7 +8249,7 @@ exports.push([module.i, "/*!\n* Vuetify v1.5.11\n* Forged by John Leider\n* Rele exports = module.exports = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); // Module -exports.push([module.i, "\n#core-footer {\n z-index: 0;\n}\n", ""]); +exports.push([module.i, "\n#core-footer {\r\n z-index: 0;\n}\r\n", ""]); @@ -62202,6 +62202,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var vue_meta__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue_meta__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js"); /* harmony import */ var _paths__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./paths */ "./resources/js/vue/router/paths.js"); +/* harmony import */ var _services_acl_role__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/services/acl/role */ "./resources/js/vue/services/acl/role.js"); /** * Vue Router * @@ -62261,6 +62262,7 @@ var router = new vue_router__WEBPACK_IMPORTED_MODULE_1__["default"]({ } }); vue__WEBPACK_IMPORTED_MODULE_0___default.a.use(vue_meta__WEBPACK_IMPORTED_MODULE_2___default.a); + router.beforeEach(function (to, from, next) { var isPublic = to.matched.some(function (record) { return record.meta.public; @@ -62269,9 +62271,7 @@ router.beforeEach(function (to, from, next) { return record.meta.onlyWhenLoggedOut; }); var loggedIn = !!_services__WEBPACK_IMPORTED_MODULE_3__["TokenService"].getToken(); - var roles = to.matched.some(function (record) { - return record.meta.roles; - }); + var roles = to.meta && to.meta.roles ? to.meta.roles : null; if (!isPublic && !loggedIn) { return next({ @@ -62287,11 +62287,12 @@ router.beforeEach(function (to, from, next) { if (loggedIn && onlyWhenLoggedOut && policy) { return next('/'); } // Do not allow user to visit Pages then not access roles - // if (roles && !$hasRole(roles)) { - // return next('/') - // } + if (roles && !Object(_services_acl_role__WEBPACK_IMPORTED_MODULE_5__["$hasRole"])(roles)) { + return next('/'); + } + next(); }); // Bootstrap Analytics // Set in .env @@ -62330,23 +62331,26 @@ __webpack_require__.r(__webpack_exports__); view: 'Dashboard' }, { path: '/my-info', - name: 'My Info', + name: 'MyInfo', view: 'MyInfo' }, { path: '/all-resualttest', - name: 'All Result Test', + name: 'AllResultTest', view: 'AllResultTest' }, { path: '/manage-users', - name: 'Manage Users', - view: 'ManageUsers' + name: 'ManageUsers', + view: 'ManageUsers', + meta: { + roles: 'Admin' + } }, { path: '/test-creator', - name: 'Add New Test', + name: 'AddNewTest', view: 'TestCreator' }, { path: '/manage-medical-center', - name: 'Manage Medical Center', + name: 'ManageMedicalCenter', view: 'ManageMedicalCenter' }, { path: '/medical-center/:id/edit', @@ -62376,7 +62380,7 @@ __webpack_require__.r(__webpack_exports__); view: 'AdminRegister' }, { path: '/submit-test-result', - name: 'Submit Test Result', + name: 'SubmitTestResult', view: 'SubmitTestResult' }, { path: '/forgot-password', @@ -62389,7 +62393,7 @@ __webpack_require__.r(__webpack_exports__); } }, { path: '/test-creator', - name: 'Test Creator', + name: 'TestCreator', view: 'TestCreator' }, { path: '/test', @@ -62397,7 +62401,7 @@ __webpack_require__.r(__webpack_exports__); view: 'Test' }, { path: '/add-medical-center', - name: 'Add Medical Center', + name: 'AddMedicalCenter', view: 'AddMedicalCenter' }, { path: '/add-operator/:medicalCenter', @@ -62409,6 +62413,57 @@ __webpack_require__.r(__webpack_exports__); view: 'OperatorList' }]); +/***/ }), + +/***/ "./resources/js/vue/services/acl/role.js": +/*!***********************************************!*\ + !*** ./resources/js/vue/services/acl/role.js ***! + \***********************************************/ +/*! exports provided: $hasRole */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$hasRole", function() { return $hasRole; }); +/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js"); + + +var $hasRole = function $hasRole(roles) { + if (_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getToken()) { + roles = roles.split('|'); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var role = _step.value; + + if (_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getInfo().roles && Array.isArray(_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getInfo().roles) && _services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getInfo().roles.includes(role)) { + return true; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + + return false; +}; + + + /***/ }), /***/ "./resources/js/vue/services/auth/storage.service.js": @@ -62563,7 +62618,7 @@ var UserService = { }, auth: { username: "2", - password: "I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3" + password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE" } }; _context.prev = 1; @@ -62623,7 +62678,7 @@ var UserService = { }, auth: { username: "2", - password: "I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3" + password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE" } }; _context2.prev = 1; @@ -62678,7 +62733,7 @@ var UserService = { }, auth: { username: "2", - password: "I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3" + password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE" } }; _context3.prev = 1; @@ -62732,7 +62787,7 @@ var UserService = { }, auth: { username: "2", - password: "I1VA4V6AVGjNb5LAYHMqFcMIvj4FF957uIpBKZu3" + password: "vAhCu2Y4mxfjlr8uTSxpBmjn2rWPIEolnr73ETAE" } }; _context4.prev = 2; @@ -63135,43 +63190,11 @@ __webpack_require__.r(__webpack_exports__); "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/services */ "./resources/js/vue/services/index.js"); +/* harmony import */ var _acl_role__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../acl/role */ "./resources/js/vue/services/acl/role.js"); /* harmony default export */ __webpack_exports__["default"] = ({ methods: { - $hasRole: function $hasRole(roles) { - if (_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getToken()) { - roles = roles.split('|'); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = roles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var role = _step.value; - - if (_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getInfo().roles && Array.isArray(_services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getInfo().roles) && _services__WEBPACK_IMPORTED_MODULE_0__["TokenService"].getInfo().roles.includes(role)) { - return true; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - - return false; - } + $hasRole: _acl_role__WEBPACK_IMPORTED_MODULE_0__["$hasRole"] } }); @@ -63898,14 +63921,6 @@ var map = { "./resources/js/vue/views/SubmitTestResult.vue", 17 ], - "./SuperVisior/UserInfo.vue": [ - "./resources/js/vue/views/SuperVisior/UserInfo.vue", - 18 - ], - "./SuperVisior/table.vue": [ - "./resources/js/vue/views/SuperVisior/table.vue", - 19 - ], "./TableList.vue": [ "./resources/js/vue/views/TableList.vue", 20 @@ -63956,7 +63971,7 @@ module.exports = webpackAsyncContext; /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(/*! /home/saeid/Projects/Git/CSSD/resources/js/vue/main.js */"./resources/js/vue/main.js"); +module.exports = __webpack_require__(/*! D:\Atom\Git\Laravel_CSSD\resources\js\vue\main.js */"./resources/js/vue/main.js"); /***/ }) diff --git a/resources/js/vue/config/urls.js b/resources/js/vue/config/urls.js index 7bc3ce4e..b1bb22d1 100644 --- a/resources/js/vue/config/urls.js +++ b/resources/js/vue/config/urls.js @@ -1,4 +1,7 @@ const urls = { - home : '/dashboard', + listMedicalCenter : function(page) { + return "/MedicalCenters?page=" + page; + }, + }; export {urls}; \ No newline at end of file diff --git a/resources/js/vue/router/index.js b/resources/js/vue/router/index.js index 8131dddc..68446642 100644 --- a/resources/js/vue/router/index.js +++ b/resources/js/vue/router/index.js @@ -52,12 +52,14 @@ const router = new Router({ Vue.use(Meta) +import {$hasRole} from '@/services/acl/role'; router.beforeEach((to, from, next) => { const isPublic = to.matched.some(record => record.meta.public); const onlyWhenLoggedOut = to.matched.some(record => record.meta.onlyWhenLoggedOut); const loggedIn = !!TokenService.getToken(); - const roles = to.matched.some(record => record.meta.roles); + const roles = (to.meta && to.meta.roles) ? to.meta.roles : null; + if (!isPublic && !loggedIn) { return next({ path:'/login', @@ -71,9 +73,9 @@ router.beforeEach((to, from, next) => { } // Do not allow user to visit Pages then not access roles - // if (roles && !$hasRole(roles)) { - // return next('/') - // } + if (roles && !$hasRole(roles)) { + return next('/') + } next(); }); diff --git a/resources/js/vue/router/paths.js b/resources/js/vue/router/paths.js index a8051135..8f365107 100644 --- a/resources/js/vue/router/paths.js +++ b/resources/js/vue/router/paths.js @@ -11,27 +11,30 @@ export default [ }, { path: '/my-info', - name: 'My Info', + name: 'MyInfo', view: 'MyInfo' }, { path: '/all-resualttest', - name: 'All Result Test', + name: 'AllResultTest', view: 'AllResultTest' }, { path: '/manage-users', - name: 'Manage Users', + name: 'ManageUsers', view: 'ManageUsers', + meta: { + roles : 'Admin' + } }, { path: '/test-creator', - name: 'Add New Test', + name: 'AddNewTest', view: 'TestCreator' }, { path: '/manage-medical-center', - name: 'Manage Medical Center', + name: 'ManageMedicalCenter', view: 'ManageMedicalCenter' }, { @@ -64,7 +67,7 @@ export default [ }, { path: '/submit-test-result', - name: 'Submit Test Result', + name: 'SubmitTestResult', view: 'SubmitTestResult' }, { @@ -78,7 +81,7 @@ export default [ }, { path: '/test-creator', - name: 'Test Creator', + name: 'TestCreator', view: 'TestCreator' }, { @@ -88,7 +91,7 @@ export default [ }, { path: '/add-medical-center', - name: 'Add Medical Center', + name: 'AddMedicalCenter', view: 'AddMedicalCenter' }, { diff --git a/resources/js/vue/services/acl/role.js b/resources/js/vue/services/acl/role.js new file mode 100644 index 00000000..a521c4ca --- /dev/null +++ b/resources/js/vue/services/acl/role.js @@ -0,0 +1,17 @@ +import { TokenService } from '@/services' + +const $hasRole = function(roles) { + if (TokenService.getToken()) { + roles = roles.split('|'); + for (const role of roles) { + if(TokenService.getInfo().roles && Array.isArray(TokenService.getInfo().roles) && TokenService.getInfo().roles.includes(role)) { + return true; + } + } + } + return false; +}; + +export { + $hasRole +} \ No newline at end of file diff --git a/resources/js/vue/services/mixin/hasRole.js b/resources/js/vue/services/mixin/hasRole.js index 5b43af0d..bd1fc484 100644 --- a/resources/js/vue/services/mixin/hasRole.js +++ b/resources/js/vue/services/mixin/hasRole.js @@ -1,16 +1,6 @@ -import { TokenService } from '@/services' +import {$hasRole} from '../acl/role'; export default { methods: { - $hasRole(roles) { - if (TokenService.getToken()) { - roles = roles.split('|'); - for (const role of roles) { - if(TokenService.getInfo().roles && Array.isArray(TokenService.getInfo().roles) && TokenService.getInfo().roles.includes(role)) { - return true; - } - } - } - return false; - } + $hasRole }, } \ No newline at end of file diff --git a/resources/js/vue/views/AddMedicalCenter.vue b/resources/js/vue/views/AddMedicalCenter.vue index 560d41f2..46df8b9e 100644 --- a/resources/js/vue/views/AddMedicalCenter.vue +++ b/resources/js/vue/views/AddMedicalCenter.vue @@ -70,7 +70,7 @@ export default { var result = await ApiService.post(url, this.medicalCenter); } if (result && result.status == 200) { - this.$router.push("/manage-medical-center"); + this.$router.push({name : "ManageMedicalCenter"}); } } } diff --git a/resources/js/vue/views/ManageMedicalCenter.vue b/resources/js/vue/views/ManageMedicalCenter.vue index 87508075..b9b414ea 100644 --- a/resources/js/vue/views/ManageMedicalCenter.vue +++ b/resources/js/vue/views/ManageMedicalCenter.vue @@ -38,13 +38,13 @@ {{ item.created_at }} {{ item.users_count }} Operator - + fas fa-pen Edit - + fas fa-user Operator @@ -77,6 +77,7 @@ - diff --git a/resources/js/vue/views/SuperVisior/table.vue b/resources/js/vue/views/SuperVisior/table.vue deleted file mode 100644 index e01a8ef0..00000000 --- a/resources/js/vue/views/SuperVisior/table.vue +++ /dev/null @@ -1,136 +0,0 @@ - - diff --git a/resources/js/vue/views/TestCreator.vue b/resources/js/vue/views/TestCreator.vue index 2ee717c7..48cfca18 100644 --- a/resources/js/vue/views/TestCreator.vue +++ b/resources/js/vue/views/TestCreator.vue @@ -2,12 +2,20 @@ - + - + - + - + - + > @@ -56,7 +74,7 @@ class="ma-3 pa-3 WM-Border WM-Border-Black WM-Relative WM-Width-Full" row wrap - v-if="info.type === 'select' || info.type === 'checkbox'" + v-if="info.type === 'Select' || info.type === 'Checkbox'" > - + fas fa-timesREMOVE - + fas fa-plusADD - + + fas fa-timesREMOVE + !!value || "Required." + } }; }, methods: { changeType(infoIndex, selectedboxType) { - if (selectedboxType == "select" || selectedboxType == "checkbox") { + if (selectedboxType == "Select" || selectedboxType == "Checkbox") { this.form.info[infoIndex]["options"] = [{ title: "" }]; } else { this.form.info[infoIndex]["options"] = []; } - if (selectedboxType == "form") { + if (selectedboxType == "Form") { this.form.info[infoIndex]["children"] = [ - { name: "", type: "", size: "" } + { id: 0, name: "", type: "", size: "" } ]; } }, @@ -298,10 +334,10 @@ export default { this.form = form; }, addInput() { - this.form.info.push({ name: "", type: "", size: "" }); + this.form.info.push({ id: 0, name: "", type: "", size: "" }); }, changeTypeForm(infoIndex, type, formLevel) { - if (type == "select" || type == "checkbox") { + if (type == "Select" || type == "Checkbox") { let form = this.form; this.form = ""; form.info[infoIndex]["children"][formLevel]["options"] = [ @@ -335,7 +371,12 @@ export default { duplicateForm(infoIndex) { let form = this.form; this.form = []; - form.info[infoIndex]["children"].push({ name: "", type: "", size: "" }); + form.info[infoIndex]["children"].push({ + id: 0, + name: "", + type: "", + size: "" + }); this.form = form; }, removeForm(infoIndex, formLevel) { @@ -344,15 +385,20 @@ export default { form.info[infoIndex]["children"].splice(formLevel, 1); this.form = form; }, + removeInput(infoIndex) { + let form = this.form; + this.form = []; + form.info.splice(infoIndex, 1); + this.form = form; + }, async registerForm() { if (this.$refs.form.validate()) { const result = await ApiService.post("TestTypes", this.form); if (result && result.status == 200) { - this.$router.push("/dashboard"); + this.$router.push({ name: `Dashboard` }); } } } - } };