Edit forgot password

This commit is contained in:
saeid
2019-04-15 18:56:16 +04:30
parent 8986f934a3
commit 4c286bfbc0
15 changed files with 620 additions and 174 deletions
Vendored
+1 -1
View File
@@ -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", ""]);
Vendored
+1 -1
View File
@@ -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", ""]);
+25 -86
View File
@@ -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
+322
View File
@@ -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"]; });
/***/ })
}]);
Vendored
+1 -1
View File
@@ -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", ""]);
Vendored
+18 -16
View File
@@ -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",
+127 -28
View File
@@ -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");
/***/ })
+1 -1
View File
@@ -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' },
+11 -2
View File
@@ -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',
+1 -1
View File
@@ -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
+28
View File
@@ -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.
+5
View File
@@ -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')
+62
View File
@@ -0,0 +1,62 @@
<template>
<v-form >
<v-container grid-list-xs>
<v-layout row wrap class="justify-center">
<v-flex xs12 md3 sm3 class="WM-WidthScreen-SM WM-WidthScreen-XS">
<material-card
color="black"
title="Login Page">
<v-layout row wrap class="px-3">
<v-flex xs12 md12 sm12>
<v-text-field
v-model="cell_number"
name="cellnumber"
label="Cell Number"
id="id1"
color="black"
></v-text-field>
</v-flex>
</v-layout>
<v-layout row wrap class="px-3">
<v-flex xs12 md6 sm6 class="text-md-left text-sm-center text-xs-center">
<v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 60px" @click="handleSubmit">
<v-icon class="white--text mr-2 caption">fas fa-sign-in-alt</v-icon>
<span class="white--text">Send</span>
</v-btn>
</v-flex>
<v-flex xs12 md6 sm6 class="text-md-right text-sm-center text-xs-center">
<router-link class="black--text" to="login">
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black">
<v-icon class="black--text mr-2 caption">fas fa-sign-in-alt</v-icon>
<span class="black--text">Login</span>
</v-btn>
</router-link>
</v-flex>
</v-layout>
</material-card>
</v-flex>
</v-layout>
</v-container>
</v-form>
</template>
<script>
import { mapGetters, mapActions } from "vuex";
export default {
data() {
return {
cell_number: "",
};
},
methods: {
...mapActions('auth', [
'forgotPassword'
]),
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});
}
}
}
};
</script>
+7 -5
View File
@@ -36,15 +36,17 @@
</v-btn>
</v-flex>
<v-flex xs12 md6 sm6 class="text-md-right text-sm-center text-xs-center">
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black">
<v-icon class="black--text mr-2 caption">fas fa-plus</v-icon>
<span ><router-link class="black--text" to="register">Register</router-link></span>
</v-btn>
<router-link class="black--text" to="register">
<v-btn class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Black">
<v-icon class="black--text mr-2 caption">fas fa-plus</v-icon>
<span >Register</span>
</v-btn>
</router-link>
</v-flex>
</v-layout>
<v-layout row wrap class="text-md-left text-sm-center text-xs-center">
<v-flex xs12 md6 sm6 class="px-4 py-3">
<router-link to="/submittestresualt">
<router-link to="/forgot-password">
<span class="black--text" style="border-bottom:1px solid #000;">Forgot Password ?</span>
</router-link>
</v-flex>
+10 -32
View File
@@ -5,6 +5,16 @@
<v-flex xs12 md3 sm6 class="WM-WidthScreen-SM WM-WidthScreen-XS">
<material-card color="black" title="Register Page">
<v-layout column>
<v-flex xs12 md2 sm2>
<v-text-field
name="name"
label="Name"
v-model="form.name"
id="id3"
color="black"
class="pa-2"
></v-text-field>
</v-flex>
<v-flex xs12 md2 sm2>
<v-text-field
name="cellnumber"
@@ -28,29 +38,6 @@
class="pa-2"
></v-text-field>
</v-flex>
<v-flex xs12 md2 sm2>
<v-text-field
name="name"
label="Name"
v-model="form.name"
id="id3"
color="black"
class="pa-2"
></v-text-field>
</v-flex>
<v-flex xs12 md2 sm2>
<v-select
class="pa-2"
v-model="form.select"
:items="items"
item-text="state"
item-value="abbr"
label="Type"
return-object
single-line
color="black"
></v-select>
</v-flex>
</v-layout>
<v-layout row wrap>
<v-flex xs12 md6 sm6 class="text-md-left text-sm-center text-xs-center">
@@ -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
}
}