diff --git a/public/0.js b/public/0.js
index 39c516a5..d903661c 100644
--- a/public/0.js
+++ b/public/0.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/1.js b/public/1.js
index f9429ac3..ce9ff146 100644
--- a/public/1.js
+++ b/public/1.js
@@ -137,7 +137,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-ActionButton[data-v-1305c16e] {\n padding : 8px 22px;\n}\n\n", ""]);
+exports.push([module.i, "\n.WM-ActionButton[data-v-1305c16e] {\r\n padding : 8px 22px;\n}\r\n\r\n", ""]);
diff --git a/public/12.js b/public/12.js
index 4ecdaf5c..969d27c0 100644
--- a/public/12.js
+++ b/public/12.js
@@ -72,52 +72,18 @@ __webpack_require__.r(__webpack_exports__);
//
//
//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//
/* harmony default export */ __webpack_exports__["default"] = ({
name: "",
data: function data() {
var defaultForm = Object.freeze({
cellnumber: '',
password: '',
- name: '',
- select: ''
+ name: ''
});
return {
form: Object.assign({}, defaultForm),
valid: false,
show1: false,
- select: {
- state: 'Florida',
- abbr: 'FL'
- },
- items: [{
- state: 'Florida',
- abbr: 'FL'
- }, {
- state: 'Georgia',
- abbr: 'GA'
- }, {
- state: 'Nebraska',
- abbr: 'NE'
- }, {
- state: 'California',
- abbr: 'CA'
- }, {
- state: 'New York',
- abbr: 'NY'
- }],
defaultForm: defaultForm
};
}
@@ -175,6 +141,30 @@ var render = function() {
"v-layout",
{ attrs: { column: "" } },
[
+ _c(
+ "v-flex",
+ { attrs: { xs12: "", md2: "", sm2: "" } },
+ [
+ _c("v-text-field", {
+ staticClass: "pa-2",
+ attrs: {
+ name: "name",
+ label: "Name",
+ id: "id3",
+ color: "black"
+ },
+ model: {
+ value: _vm.form.name,
+ callback: function($$v) {
+ _vm.$set(_vm.form, "name", $$v)
+ },
+ expression: "form.name"
+ }
+ })
+ ],
+ 1
+ ),
+ _vm._v(" "),
_c(
"v-flex",
{ attrs: { xs12: "", md2: "", sm2: "" } },
@@ -230,57 +220,6 @@ var render = function() {
})
],
1
- ),
- _vm._v(" "),
- _c(
- "v-flex",
- { attrs: { xs12: "", md2: "", sm2: "" } },
- [
- _c("v-text-field", {
- staticClass: "pa-2",
- attrs: {
- name: "name",
- label: "Name",
- id: "id3",
- color: "black"
- },
- model: {
- value: _vm.form.name,
- callback: function($$v) {
- _vm.$set(_vm.form, "name", $$v)
- },
- expression: "form.name"
- }
- })
- ],
- 1
- ),
- _vm._v(" "),
- _c(
- "v-flex",
- { attrs: { xs12: "", md2: "", sm2: "" } },
- [
- _c("v-select", {
- staticClass: "pa-2",
- attrs: {
- items: _vm.items,
- "item-text": "state",
- "item-value": "abbr",
- label: "Type",
- "return-object": "",
- "single-line": "",
- color: "black"
- },
- model: {
- value: _vm.form.select,
- callback: function($$v) {
- _vm.$set(_vm.form, "select", $$v)
- },
- expression: "form.select"
- }
- })
- ],
- 1
)
],
1
diff --git a/public/19.js b/public/19.js
new file mode 100644
index 00000000..22a29c88
--- /dev/null
+++ b/public/19.js
@@ -0,0 +1,322 @@
+(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[19],{
+
+/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/ForgotPassword.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/ForgotPassword.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 vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+
+/* harmony default export */ __webpack_exports__["default"] = ({
+ data: function data() {
+ return {
+ cell_number: ""
+ };
+ },
+ methods: _objectSpread({}, Object(vuex__WEBPACK_IMPORTED_MODULE_0__["mapActions"])('auth', ['forgotPassword']), {
+ handleSubmit: function handleSubmit() {
+ // Perform a simple validation that cell_number and password have been typed in
+ if (this.cell_number != '') {
+ this.forgotPassword({
+ cell_number: this.cell_number
+ });
+ }
+ }
+ })
+});
+
+/***/ }),
+
+/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/ForgotPassword.vue?vue&type=template&id=62f22c26&":
+/*!****************************************************************************************************************************************************************************************************************!*\
+ !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/vue/views/ForgotPassword.vue?vue&type=template&id=62f22c26& ***!
+ \****************************************************************************************************************************************************************************************************************/
+/*! 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",
+ { staticClass: "justify-center", attrs: { row: "", wrap: "" } },
+ [
+ _c(
+ "v-flex",
+ {
+ staticClass: "WM-WidthScreen-SM WM-WidthScreen-XS",
+ attrs: { xs12: "", md3: "", sm3: "" }
+ },
+ [
+ _c(
+ "material-card",
+ { attrs: { color: "black", title: "Login Page" } },
+ [
+ _c(
+ "v-layout",
+ { staticClass: "px-3", attrs: { row: "", wrap: "" } },
+ [
+ _c(
+ "v-flex",
+ { attrs: { xs12: "", md12: "", sm12: "" } },
+ [
+ _c("v-text-field", {
+ attrs: {
+ name: "cellnumber",
+ label: "Cell Number",
+ id: "id1",
+ color: "black"
+ },
+ model: {
+ value: _vm.cell_number,
+ callback: function($$v) {
+ _vm.cell_number = $$v
+ },
+ expression: "cell_number"
+ }
+ })
+ ],
+ 1
+ )
+ ],
+ 1
+ ),
+ _vm._v(" "),
+ _c(
+ "v-layout",
+ { staticClass: "px-3", attrs: { row: "", wrap: "" } },
+ [
+ _c(
+ "v-flex",
+ {
+ staticClass:
+ "text-md-left text-sm-center text-xs-center",
+ attrs: { xs12: "", md6: "", sm6: "" }
+ },
+ [
+ _c(
+ "v-btn",
+ {
+ staticClass: "WM-CyanBlueGradient-BG",
+ staticStyle: { padding: "10px 60px" },
+ on: { click: _vm.handleSubmit }
+ },
+ [
+ _c(
+ "v-icon",
+ { staticClass: "white--text mr-2 caption" },
+ [_vm._v("fas fa-sign-in-alt")]
+ ),
+ _vm._v(" "),
+ _c("span", { staticClass: "white--text" }, [
+ _vm._v("Send")
+ ])
+ ],
+ 1
+ )
+ ],
+ 1
+ ),
+ _vm._v(" "),
+ _c(
+ "v-flex",
+ {
+ staticClass:
+ "text-md-right text-sm-center text-xs-center",
+ attrs: { xs12: "", md6: "", sm6: "" }
+ },
+ [
+ _c(
+ "router-link",
+ {
+ staticClass: "black--text",
+ attrs: { to: "login" }
+ },
+ [
+ _c(
+ "v-btn",
+ {
+ staticClass:
+ "WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black"
+ },
+ [
+ _c(
+ "v-icon",
+ {
+ staticClass:
+ "black--text mr-2 caption"
+ },
+ [_vm._v("fas fa-sign-in-alt")]
+ ),
+ _vm._v(" "),
+ _c(
+ "span",
+ { staticClass: "black--text" },
+ [_vm._v("Login")]
+ )
+ ],
+ 1
+ )
+ ],
+ 1
+ )
+ ],
+ 1
+ )
+ ],
+ 1
+ )
+ ],
+ 1
+ )
+ ],
+ 1
+ )
+ ],
+ 1
+ )
+ ],
+ 1
+ )
+ ],
+ 1
+ )
+}
+var staticRenderFns = []
+render._withStripped = true
+
+
+
+/***/ }),
+
+/***/ "./resources/js/vue/views/ForgotPassword.vue":
+/*!***************************************************!*\
+ !*** ./resources/js/vue/views/ForgotPassword.vue ***!
+ \***************************************************/
+/*! exports provided: default */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _ForgotPassword_vue_vue_type_template_id_62f22c26___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ForgotPassword.vue?vue&type=template&id=62f22c26& */ "./resources/js/vue/views/ForgotPassword.vue?vue&type=template&id=62f22c26&");
+/* harmony import */ var _ForgotPassword_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ForgotPassword.vue?vue&type=script&lang=js& */ "./resources/js/vue/views/ForgotPassword.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"])(
+ _ForgotPassword_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+ _ForgotPassword_vue_vue_type_template_id_62f22c26___WEBPACK_IMPORTED_MODULE_0__["render"],
+ _ForgotPassword_vue_vue_type_template_id_62f22c26___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
+ false,
+ null,
+ null,
+ null
+
+)
+
+/* hot reload */
+if (false) { var api; }
+component.options.__file = "resources/js/vue/views/ForgotPassword.vue"
+/* harmony default export */ __webpack_exports__["default"] = (component.exports);
+
+/***/ }),
+
+/***/ "./resources/js/vue/views/ForgotPassword.vue?vue&type=script&lang=js&":
+/*!****************************************************************************!*\
+ !*** ./resources/js/vue/views/ForgotPassword.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_ForgotPassword_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!./ForgotPassword.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/ForgotPassword.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_ForgotPassword_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+
+/***/ }),
+
+/***/ "./resources/js/vue/views/ForgotPassword.vue?vue&type=template&id=62f22c26&":
+/*!**********************************************************************************!*\
+ !*** ./resources/js/vue/views/ForgotPassword.vue?vue&type=template&id=62f22c26& ***!
+ \**********************************************************************************/
+/*! 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_ForgotPassword_vue_vue_type_template_id_62f22c26___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!./ForgotPassword.vue?vue&type=template&id=62f22c26& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/vue/views/ForgotPassword.vue?vue&type=template&id=62f22c26&");
+/* 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_ForgotPassword_vue_vue_type_template_id_62f22c26___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_ForgotPassword_vue_vue_type_template_id_62f22c26___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
+
+
+
+/***/ })
+
+}]);
\ No newline at end of file
diff --git a/public/2.js b/public/2.js
index 632dcde4..6accb5ec 100644
--- a/public/2.js
+++ b/public/2.js
@@ -423,7 +423,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-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", ""]);
diff --git a/public/8.js b/public/8.js
index 75d2bb03..41ce9472 100644
--- a/public/8.js
+++ b/public/8.js
@@ -71,6 +71,8 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
//
//
//
+//
+//
/* harmony default export */ __webpack_exports__["default"] = ({
data: function data() {
@@ -238,29 +240,29 @@ var render = function() {
},
[
_c(
- "v-btn",
+ "router-link",
{
- staticClass:
- "WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black"
+ staticClass: "black--text",
+ attrs: { to: "register" }
},
[
_c(
- "v-icon",
- { staticClass: "black--text mr-2 caption" },
- [_vm._v("fas fa-plus")]
- ),
- _vm._v(" "),
- _c(
- "span",
+ "v-btn",
+ {
+ staticClass:
+ "WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black"
+ },
[
_c(
- "router-link",
+ "v-icon",
{
- staticClass: "black--text",
- attrs: { to: "register" }
+ staticClass:
+ "black--text mr-2 caption"
},
- [_vm._v("Register")]
- )
+ [_vm._v("fas fa-plus")]
+ ),
+ _vm._v(" "),
+ _c("span", [_vm._v("Register")])
],
1
)
@@ -291,7 +293,7 @@ var render = function() {
[
_c(
"router-link",
- { attrs: { to: "/submittestresualt" } },
+ { attrs: { to: "/forgot-password" } },
[
_c(
"span",
diff --git a/public/vue/js/app.js b/public/vue/js/app.js
index c81ae9aa..a5135705 100644
--- a/public/vue/js/app.js
+++ b/public/vue/js/app.js
@@ -2564,7 +2564,7 @@ __webpack_require__.r(__webpack_exports__);
data: function data() {
return {
links: [{
- name: 'Powered By',
+ name: 'Powered By WillaMall',
Link: 'https://www.willamall.com'
}]
};
@@ -7974,7 +7974,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", ""]);
@@ -59031,7 +59031,7 @@ __webpack_require__.r(__webpack_exports__);
Object(vuex_router_sync__WEBPACK_IMPORTED_MODULE_6__["sync"])(_store__WEBPACK_IMPORTED_MODULE_10__["default"], _router__WEBPACK_IMPORTED_MODULE_9__["default"]);
vue__WEBPACK_IMPORTED_MODULE_1___default.a.config.productionTip = false; // Set the base URL of the API
-_services__WEBPACK_IMPORTED_MODULE_11__["ApiService"].init("https://www.cssd-doc.com/api"); // If token exists set header
+_services__WEBPACK_IMPORTED_MODULE_11__["ApiService"].init("https://www.cssd-doc.com/api/"); // If token exists set header
if (_services__WEBPACK_IMPORTED_MODULE_11__["TokenService"].getToken()) {
_services__WEBPACK_IMPORTED_MODULE_11__["ApiService"].setHeader();
@@ -59303,8 +59303,8 @@ __webpack_require__.r(__webpack_exports__);
view: 'MyInfo'
}, {
path: '/all-resualttest',
- name: 'All Resualt Test',
- view: 'AllResualtTest'
+ name: 'All Result Test',
+ view: 'AllResultTest'
}, {
path: '/manage-users',
name: 'Manage Users',
@@ -59343,6 +59343,15 @@ __webpack_require__.r(__webpack_exports__);
path: '/submit-test-result',
name: 'Submit Test Result',
view: 'SubmitTestResult'
+}, {
+ path: '/forgot-password',
+ name: 'ForgotPassword',
+ view: 'ForgotPassword',
+ meta: {
+ public: true,
+ // Allow access to even if not logged in
+ onlyWhenLoggedOut: true
+ }
}, {
path: '/test-creator',
name: 'Test Creator',
@@ -59438,7 +59447,7 @@ var ApiService = {
break;
}
- if (!error.config.url.includes('/o/token/')) {
+ if (!error.config.url.includes('/auth/login/')) {
_context.next = 6;
break;
}
@@ -59626,8 +59635,8 @@ var UserService = {
grant_type: 'password'
},
auth: {
- username: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_ID,
- password: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET
+ username: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_ID,
+ password: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET
}
};
_context.prev = 1;
@@ -59664,17 +59673,72 @@ var UserService = {
return login;
}(),
+ /**
+ * Login the user and store the access token to TokenService.
+ *
+ * @returns access_token
+ * @throws AuthenticationError
+ **/
+ forgotPassword: function () {
+ var _forgotPassword = _asyncToGenerator(
+ /*#__PURE__*/
+ _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee2(cell_number) {
+ var requestData, response;
+ return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ requestData = {
+ method: 'post',
+ url: "/forgotPassword",
+ data: {
+ cell_number: cell_number
+ },
+ auth: {
+ username: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_ID,
+ password: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET
+ }
+ };
+ _context2.prev = 1;
+ _context2.next = 4;
+ return _api_service__WEBPACK_IMPORTED_MODULE_1__["default"].customRequest(requestData);
+
+ case 4:
+ response = _context2.sent;
+ _api_service__WEBPACK_IMPORTED_MODULE_1__["default"].setHeader();
+ return _context2.abrupt("return", response.data);
+
+ case 9:
+ _context2.prev = 9;
+ _context2.t0 = _context2["catch"](1);
+ throw new AuthenticationError(_context2.t0.response.status, _context2.t0.response.data.detail);
+
+ case 12:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2, null, [[1, 9]]);
+ }));
+
+ function forgotPassword(_x3) {
+ return _forgotPassword.apply(this, arguments);
+ }
+
+ return forgotPassword;
+ }(),
+
/**
* Refresh the access token.
**/
refreshToken: function () {
var _refreshToken = _asyncToGenerator(
/*#__PURE__*/
- _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee2() {
+ _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee3() {
var refreshToken, requestData, response;
- return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee2$(_context2) {
+ return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee3$(_context3) {
while (1) {
- switch (_context2.prev = _context2.next) {
+ switch (_context3.prev = _context3.next) {
case 0:
refreshToken = _storage_service__WEBPACK_IMPORTED_MODULE_2__["TokenService"].getRefreshToken();
requestData = {
@@ -59685,33 +59749,33 @@ var UserService = {
refresh_token: refreshToken
},
auth: {
- username: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_ID,
- password: Object({"MIX_PUSHER_APP_KEY":"","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_APP_ROOT_API":"https://www.cssd-doc.com/api","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET
+ username: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_ID,
+ password: Object({"MIX_APP_ROOT_API":"https://www.cssd-doc.com/api/","MIX_PUSHER_APP_CLUSTER":"mt1","MIX_PUSHER_APP_KEY":"","NODE_ENV":"development"}).VUE_APP_CLIENT_SECRET
}
};
- _context2.prev = 2;
- _context2.next = 5;
+ _context3.prev = 2;
+ _context3.next = 5;
return _api_service__WEBPACK_IMPORTED_MODULE_1__["default"].customRequest(requestData);
case 5:
- response = _context2.sent;
+ response = _context3.sent;
_storage_service__WEBPACK_IMPORTED_MODULE_2__["TokenService"].saveToken(response.data.token);
_storage_service__WEBPACK_IMPORTED_MODULE_2__["TokenService"].saveRefreshToken(response.data.token); // Update the header in ApiService
_api_service__WEBPACK_IMPORTED_MODULE_1__["default"].setHeader();
- return _context2.abrupt("return", response.data.access_token);
+ return _context3.abrupt("return", response.data.access_token);
case 12:
- _context2.prev = 12;
- _context2.t0 = _context2["catch"](2);
- throw new AuthenticationError(_context2.t0.response.status, _context2.t0.response.data.detail);
+ _context3.prev = 12;
+ _context3.t0 = _context3["catch"](2);
+ throw new AuthenticationError(_context3.t0.response.status, _context3.t0.response.data.detail);
case 15:
case "end":
- return _context2.stop();
+ return _context3.stop();
}
}
- }, _callee2, null, [[2, 12]]);
+ }, _callee3, null, [[2, 12]]);
}));
function refreshToken() {
@@ -59991,15 +60055,46 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
return login;
}(),
- logout: function logout(_ref3) {
- var commit = _ref3.commit;
+ forgotPassword: function () {
+ var _forgotPassword = _asyncToGenerator(
+ /*#__PURE__*/
+ _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee2(_ref3, _ref4) {
+ var commit, cell_number, result;
+ return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee2$(_context2) {
+ while (1) {
+ switch (_context2.prev = _context2.next) {
+ case 0:
+ commit = _ref3.commit;
+ cell_number = _ref4.cell_number;
+ _context2.next = 4;
+ return _services_auth_user_service__WEBPACK_IMPORTED_MODULE_1__["UserService"].forgotPassword(cell_number);
+
+ case 4:
+ result = _context2.sent;
+
+ case 5:
+ case "end":
+ return _context2.stop();
+ }
+ }
+ }, _callee2);
+ }));
+
+ function forgotPassword(_x3, _x4) {
+ return _forgotPassword.apply(this, arguments);
+ }
+
+ return forgotPassword;
+ }(),
+ logout: function logout(_ref5) {
+ var commit = _ref5.commit;
_services_auth_user_service__WEBPACK_IMPORTED_MODULE_1__["UserService"].logout();
commit('logoutSuccess');
_router__WEBPACK_IMPORTED_MODULE_2__["default"].push('/login');
},
- refreshToken: function refreshToken(_ref4) {
- var commit = _ref4.commit,
- state = _ref4.state;
+ refreshToken: function refreshToken(_ref6) {
+ var commit = _ref6.commit,
+ state = _ref6.state;
// If this is the first time the refreshToken has been called, make a request
// otherwise return the same promise to the caller
@@ -60223,6 +60318,10 @@ var map = {
"./resources/js/vue/views/Dashboard.vue",
6
],
+ "./ForgotPassword.vue": [
+ "./resources/js/vue/views/ForgotPassword.vue",
+ 19
+ ],
"./Icons.vue": [
"./resources/js/vue/views/Icons.vue",
7
@@ -60317,7 +60416,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/components/core/Footer.vue b/resources/js/vue/components/core/Footer.vue
index bdc62f18..e9451cad 100644
--- a/resources/js/vue/components/core/Footer.vue
+++ b/resources/js/vue/components/core/Footer.vue
@@ -33,7 +33,7 @@
export default {
data: () => ({
links: [
- { name: 'Powered By', Link: 'https://www.willamall.com' },
+ { name: 'Powered By WillaMall', Link: 'https://www.willamall.com' },
// { name: 'Home', Link: '/dashboard' },
// { name: 'Creative Tim', Link: 'https://www.creative-tim.com' },
// { name: 'About Us', Link: 'https://creative-tim.com/presentation' },
diff --git a/resources/js/vue/router/paths.js b/resources/js/vue/router/paths.js
index 9a082b82..890c7c95 100644
--- a/resources/js/vue/router/paths.js
+++ b/resources/js/vue/router/paths.js
@@ -16,8 +16,8 @@ export default [
},
{
path: '/all-resualttest',
- name: 'All Resualt Test',
- view: 'AllResualtTest'
+ name: 'All Result Test',
+ view: 'AllResultTest'
},
{
path: '/manage-users',
@@ -62,6 +62,15 @@ export default [
name: 'Submit Test Result',
view: 'SubmitTestResult'
},
+ {
+ path: '/forgot-password',
+ name: 'ForgotPassword',
+ view: 'ForgotPassword',
+ meta: {
+ public: true, // Allow access to even if not logged in
+ onlyWhenLoggedOut: true
+ }
+ },
{
path: '/test-creator',
name: 'Test Creator',
diff --git a/resources/js/vue/services/auth/api.service.js b/resources/js/vue/services/auth/api.service.js
index 317a89f9..070deb03 100644
--- a/resources/js/vue/services/auth/api.service.js
+++ b/resources/js/vue/services/auth/api.service.js
@@ -56,7 +56,7 @@ const ApiService = {
},
async (error) => {
if (error.request.status == 401) {
- if (error.config.url.includes('/o/token/')) {
+ if (error.config.url.includes('/auth/login/')) {
// Refresh token has failed. Logout the user
store.dispatch('auth/logout')
throw error
diff --git a/resources/js/vue/services/auth/user.service.js b/resources/js/vue/services/auth/user.service.js
index 50e1d269..24a3b28c 100644
--- a/resources/js/vue/services/auth/user.service.js
+++ b/resources/js/vue/services/auth/user.service.js
@@ -48,6 +48,34 @@ const UserService = {
throw new AuthenticationError(error.response.status, error.response.data.detail);
}
},
+ /**
+ * Login the user and store the access token to TokenService.
+ *
+ * @returns access_token
+ * @throws AuthenticationError
+ **/
+ forgotPassword: async function(cell_number) {
+ const requestData = {
+ method: 'post',
+ url: "/forgotPassword",
+ data: {
+ cell_number,
+ },
+ auth: {
+ username: process.env.VUE_APP_CLIENT_ID,
+ password: process.env.VUE_APP_CLIENT_SECRET
+ }
+ }
+
+ try {
+ const response = await ApiService.customRequest(requestData);
+ ApiService.setHeader();
+
+ return response.data;
+ } catch (error) {
+ throw new AuthenticationError(error.response.status, error.response.data.detail);
+ }
+ },
/**
* Refresh the access token.
diff --git a/resources/js/vue/store/modules/auth/actions.js b/resources/js/vue/store/modules/auth/actions.js
index e3f9f8f4..d899d6a5 100644
--- a/resources/js/vue/store/modules/auth/actions.js
+++ b/resources/js/vue/store/modules/auth/actions.js
@@ -22,6 +22,11 @@ export default {
}
},
+ async forgotPassword({ commit }, {cell_number}) {
+ const result = await UserService.forgotPassword(cell_number);
+ // TODO: Open Modal For Get Section
+ },
+
logout({ commit }) {
UserService.logout()
commit('logoutSuccess')
diff --git a/resources/js/vue/views/ForgotPassword.vue b/resources/js/vue/views/ForgotPassword.vue
new file mode 100644
index 00000000..0a33ca57
--- /dev/null
+++ b/resources/js/vue/views/ForgotPassword.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fas fa-sign-in-alt
+ Send
+
+
+
+
+
+ fas fa-sign-in-alt
+ Login
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/js/vue/views/Login.vue b/resources/js/vue/views/Login.vue
index 2f9d6ab6..73a12632 100644
--- a/resources/js/vue/views/Login.vue
+++ b/resources/js/vue/views/Login.vue
@@ -36,15 +36,17 @@
-
- fas fa-plus
- Register
-
+
+
+ fas fa-plus
+ Register
+
+
-
+
Forgot Password ?
diff --git a/resources/js/vue/views/Register.vue b/resources/js/vue/views/Register.vue
index 15b23fcc..cac74c2a 100644
--- a/resources/js/vue/views/Register.vue
+++ b/resources/js/vue/views/Register.vue
@@ -5,6 +5,16 @@
+
+
+
-
-
-
-
-
-
@@ -82,20 +69,11 @@ export default {
cellnumber: '',
password: '',
name: '',
- select: '',
})
return {
form: Object.assign({}, defaultForm),
valid : false,
show1 : false,
- select: { state: 'Florida', abbr: 'FL' },
- items: [
- { state: 'Florida', abbr: 'FL' },
- { state: 'Georgia', abbr: 'GA' },
- { state: 'Nebraska', abbr: 'NE' },
- { state: 'California', abbr: 'CA' },
- { state: 'New York', abbr: 'NY' }
- ],
defaultForm
}
}