{"version":3,"sources":["webpack:///./src/helpers/tuitionfees/unauthorized-helper.ts","webpack:///./src/helpers/tuitionfees/download-helper.ts","webpack:///./src/views/TuitionFees/BankTransfer.vue?f07d","webpack:///./src/components/tuition-fees/MirroringUserBanner.vue?6eb6","webpack:///./src/views/TuitionFees/BankTransfer.vue?5c35","webpack:///./src/views/TuitionFees/BankTransfer.vue","webpack:///./src/views/TuitionFees/BankTransfer.vue?9d0f","webpack:///./src/components/tuition-fees/MirroringUserBanner.vue?3f8c","webpack:///./src/components/tuition-fees/MirroringUserBanner.vue","webpack:///./src/components/tuition-fees/MirroringUserBanner.vue?1d4b","webpack:///./src/components/tuition-fees/BackToInvoicesButton.vue?4f75","webpack:///./src/components/tuition-fees/BackToInvoicesButton.vue","webpack:///./src/components/tuition-fees/BackToInvoicesButton.vue?4834","webpack:///./src/services/download-service.ts"],"names":["UnauthorizedHelper","currentUser","isMirroringUser","getItem","IsMirroringUser","isEmployee","entitlements","includes","console","warn","this","routeToUnauthorized","openLogin","url","popupParams","window","open","push","name","DownloadHelper","invoiceNo","commit","downloadInvoice","then","catch","e","error","result","n","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","render","_ctx","_cache","$props","$setup","$data","$options","_component_MirroringUserBanner","_component_BackToInvoicesButton","key","personalId","personName","lucatId","onClick","$event","components","BackToInvoicesButton","MirroringUserBanner","data","computed","methods","getUserId","mirroredUser","MirroredUser","displayName","luEduPersonPrimaryId","$route","params","checkIfUserIsStudentOrAdminMirroringUser","$store","getters","getCurrentUser","scrollToTop","scrollTo","mounted","__exports__","_component_font_awesome_icon","icon","$t","nullLucatId","shortPersonalId","id","onStopMirroringClicked","props","type","String","required","substr","length","setItem","$router","goToTuitionFeeHome","DownloadService","locale","fromDateIsoString","feeDataExportType","endpointController","enpointRoute","paramName_1","paramValue_1","paramName_2","paramValue_2","paramName_3","paramValue_3","queryString","baseApiUrl","fetch","paramName","paramValue"],"mappings":"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","file":"assets/js/chunk-71605c10.88179278.js","sourcesContent":["import SessionStorageService from \"@/services/sessionstorage-service\";\nimport { SessionStorageKeys } from \"@/constants/constants\";\nimport router from \"@/router\";\nimport { IUser } from \"@/interfaces/IUser\";\n\nclass UnauthorizedHelper {\n /**\n * The function checks if the current user is a student or an admin mirroring a user and returns a boolean value based on the conditions.\n * @param {IUser | undefined} currentUser - Represents the current user who is interacting with the system.\n * If the user is not logged in, the `currentUser` parameter wil be `undefined` otherwise it will contain the user's information.\n * @returns Returns a boolean value representing whether the current user is an admin mirroring a user.\n * If the current user is not logged in, the function will open a popup log in window to authorize the user.\n * If the current user is logged in but is not an admin mirroring a user or a student,\n * the function will redirect the user to the \"Unauthorized\" page.\n */\n checkIfUserIsStudentOrAdminMirroringUser(\n currentUser: IUser | undefined\n ): boolean {\n const isMirroringUser = SessionStorageService.getItem(\n SessionStorageKeys.IsMirroringUser\n );\n\n const isEmployee = currentUser\n ? currentUser.entitlements?.includes(\"Employee\")\n : false;\n\n if (!isMirroringUser || isMirroringUser === \"false\") {\n if (!currentUser) {\n this.openLogin();\n } else if (isEmployee) {\n console.warn(\n \"🚀 ~ UnauthorizedHelper ~ routing to unauthorized:\",\n currentUser\n );\n\n this.routeToUnauthorized();\n }\n }\n\n return isMirroringUser === \"true\";\n }\n\n /**\n * Opens a a popup log in window to authorize the user.\n * It is called when the user is not logged in and tries to access a page that requires authentication.\n */\n private openLogin() {\n const url = `${process.env.VUE_APP_BASE_API_URL}authorize`;\n const popupParams =\n \"scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no\";\n window.open(url, \"Login\", popupParams);\n }\n\n /**\n * Redirects the user to the \"Unauthorized\" page.\n * It is called when the user is logged in but is not a student and tries to access a page that requires student privileges.\n */\n private routeToUnauthorized() {\n router.push({\n name: \"Unauthorized\",\n });\n }\n}\n\nexport default new UnauthorizedHelper();\n","import store from \"@/store\";\nimport DownloadService from \"@/services/download-service\";\n\nclass DownloadHelper {\n /**\n * Downloads the specified invoice as a PDF file\n */\n async downloadInvoice(invoiceNo: string) {\n store.commit(\"showSpinner\", true);\n\n const result = await DownloadService.downloadInvoice(invoiceNo)\n .then(() => {\n store.commit(\"showSpinner\", false);\n })\n .catch((e: Error) => {\n console.error(e);\n });\n return result;\n }\n}\n\nexport default new DownloadHelper();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./BankTransfer.vue?vue&type=style&index=0&id=631057ac&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./MirroringUserBanner.vue?vue&type=style&index=0&id=ce0bfae8&scoped=true&lang=css\"","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createVNode as _createVNode, createStaticVNode as _createStaticVNode, Fragment as _Fragment, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-631057ac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h1\", { class: \"page-heading\" }, \"Tuition Fees\", -1))\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", { class: \"page-heading\" }, \"Bank transfer\", -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, \"You have selected to pay the invoice via bank transfer.\", -1))\nconst _hoisted_4 = { class: \"related-links\" }\nconst _hoisted_5 = /*#__PURE__*/_createStaticVNode(\"

Always state the invoice number with the payment! When paying from abroad, the customer is responsible for any additional bank charges.

Payment to Lund University from another country

BIC/SWIFT-code: DABASESX
IBAN: SE6412000000012810119317
Bank address:
Danske Bank
Norrmalmstorg 1
Box 7523
103 92 Stockholm
SWEDEN

Payment to Lund University from Sweden

Danske Bank, account number: 12810119317
\", 7)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_MirroringUserBanner = _resolveComponent(\"MirroringUserBanner\")!\n const _component_BackToInvoicesButton = _resolveComponent(\"BackToInvoicesButton\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (this.isMirroringUser)\n ? (_openBlock(), _createBlock(_component_MirroringUserBanner, {\n key: 0,\n personalId: _ctx.personalId,\n personName: _ctx.personName,\n lucatId: _ctx.lucatId\n }, null, 8, [\"personalId\", \"personName\", \"lucatId\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_1,\n _hoisted_2,\n _hoisted_3,\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"btn btn-primary mr-2\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.downloadInvoice()))\n }, \" Download the invoice (PDF) \")\n ]),\n _hoisted_5,\n _createVNode(_component_BackToInvoicesButton)\n ], 64))\n}","\nimport { Options, Vue } from \"vue-class-component\";\nimport BackToInvoicesButton from \"@/components/tuition-fees/BackToInvoicesButton.vue\";\nimport MirroringUserBanner from \"@/components/tuition-fees/MirroringUserBanner.vue\";\nimport DownloadHelper from \"@/helpers/tuitionfees/download-helper\";\nimport UnauthorizedHelper from \"@/helpers/tuitionfees/unauthorized-helper\";\nimport { SessionStorageKeys } from \"@/constants/constants\";\nimport { TfPerson } from \"@/interfaces/api\";\nimport SessionStorageService from \"@/services/sessionstorage-service\";\n\n@Options({\n components: { BackToInvoicesButton, MirroringUserBanner },\n data: () => ({\n /**\n * The current user object\n */\n currentUser: {},\n /**\n * The personal id of the user being mirrored by admin\n */\n personalId: \"\",\n /**\n * The name of the user being mirrored by admin\n */\n personName: \"\",\n /**\n * The lucat id of the user being mirrored by admin\n */\n lucatId: \"\",\n /**\n * A boolean to indicate if tfp-admin is mirroring user or not\n */\n isMirroringUser: false,\n }),\n computed: {},\n methods: {\n /**\n * Gets the personal id from the session storage\n */\n getUserId(): void {\n const mirroredUser: TfPerson | undefined = SessionStorageService.getItem(\n SessionStorageKeys.MirroredUser\n );\n\n if (mirroredUser) {\n this.personName = mirroredUser.displayName;\n this.personalId = mirroredUser.personalId;\n this.lucatId = mirroredUser.luEduPersonPrimaryId;\n }\n },\n /**\n * Downloads the specified invoice as a PDF file\n */\n async downloadInvoice() {\n const invoiceNo = this.$route.params.invoiceNo;\n await DownloadHelper.downloadInvoice(invoiceNo);\n },\n\n /**\n * If not logged in or not a student, redirect to unauthorized page\n * Otherwise, check if admin is mirroring a user, if so show banner\n * if not redirect to unauthorized page\n */\n checkIfUserIsStudentOrAdminMirroringUser(): void {\n this.currentUser = this.$store.getters.getCurrentUser;\n this.isMirroringUser =\n UnauthorizedHelper.checkIfUserIsStudentOrAdminMirroringUser(\n this.currentUser\n );\n },\n /**\n * Scrolls to the top of the page to solve a problem where the page is scrolled down\n * on load from when the user is positioned low on tuition fees page\n */\n scrollToTop() {\n window.scrollTo(0, 0);\n },\n },\n mounted() {\n this.getUserId();\n this.scrollToTop();\n this.checkIfUserIsStudentOrAdminMirroringUser();\n },\n})\nexport default class BankTransfer extends Vue {}\n","import { render } from \"./BankTransfer.vue?vue&type=template&id=631057ac&scoped=true&ts=true\"\nimport script from \"./BankTransfer.vue?vue&type=script&lang=ts\"\nexport * from \"./BankTransfer.vue?vue&type=script&lang=ts\"\n\nimport \"./BankTransfer.vue?vue&type=style&index=0&id=631057ac&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-631057ac\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ce0bfae8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"mirroring\" }\nconst _hoisted_2 = [\"aria-label\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, [\n _createVNode(_component_font_awesome_icon, {\n icon: 'info-circle',\n class: \"info\"\n }),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t(\"tuition-fees.mirroring\")) + \": \" + _toDisplayString(_ctx.nullLucatId) + \" - \" + _toDisplayString(_ctx.shortPersonalId) + \" - \" + _toDisplayString(_ctx.personName), 1)\n ]),\n _createElementVNode(\"button\", {\n id: \"stopMirroringBtn\",\n class: \"btn btn-outline-primary mr-2 stop-btn\",\n \"aria-label\": _ctx.$t('tuition-fees.back'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onStopMirroringClicked()))\n }, _toDisplayString(_ctx.$t(\"tuition-fees.stop-mirroring\")), 9, _hoisted_2)\n ]))\n}","\nimport SessionStorageService from \"@/services/sessionstorage-service\";\nimport { SessionStorageKeys } from \"@/constants/constants\";\nimport { PropType } from \"@vue/runtime-core\";\nimport { Options, Vue } from \"vue-class-component\";\n\n@Options({\n props: {\n /**\n * The personal id of the user being mirrored by admin\n */\n personalId: {\n type: String as PropType,\n required: false,\n },\n /**\n * The name of the user being mirrored by admin\n */\n personName: {\n type: String as PropType,\n required: false,\n },\n /**\n * The lucat id of the user being mirrored by admin\n */\n lucatId: {\n type: String as PropType,\n required: false,\n },\n },\n computed: {\n /**\n * The shortened personal id of only the last 10 digits\n */\n shortPersonalId(): string {\n const personalId = this.$props.personalId;\n return personalId ? personalId.substr(personalId.length - 10) : \"\";\n },\n /**\n * If the student cannot be found in Ladok, the lucat id will be null\n */\n nullLucatId(): string {\n const lucatId = this.$props.lucatId;\n return lucatId ? lucatId : \"\";\n },\n },\n methods: {\n /**\n * Routes to search user page\n */\n onStopMirroringClicked(): void {\n SessionStorageService.setItem(SessionStorageKeys.IsMirroringUser, false);\n this.$router.push({\n name: \"MirrorUser\",\n });\n },\n },\n})\nexport default class MirroringUserBanner extends Vue {}\n","import { render } from \"./MirroringUserBanner.vue?vue&type=template&id=ce0bfae8&scoped=true&ts=true\"\nimport script from \"./MirroringUserBanner.vue?vue&type=script&lang=ts\"\nexport * from \"./MirroringUserBanner.vue?vue&type=script&lang=ts\"\n\nimport \"./MirroringUserBanner.vue?vue&type=style&index=0&id=ce0bfae8&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ce0bfae8\"]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"button\", {\n id: \"backBtn\",\n type: \"button\",\n class: \"btn btn-outline-primary mb-3\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.goToTuitionFeeHome()))\n }, \" Return to list of invoices \"))\n}","\nimport { Options, Vue } from \"vue-class-component\";\n\n@Options({\n methods: {\n /**\n * Redirects to the tuition fee home page\n */\n goToTuitionFeeHome(): void {\n this.$router.push({\n name: \"TuitionFeeHome\",\n });\n },\n },\n})\nexport default class BackToInvoicesButton extends Vue {}\n","import { render } from \"./BackToInvoicesButton.vue?vue&type=template&id=5fca811e&ts=true\"\nimport script from \"./BackToInvoicesButton.vue?vue&type=script&lang=ts\"\nexport * from \"./BackToInvoicesButton.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { FeeDataExportType } from \"@/interfaces/api\";\nimport BaseService from \"@/services/base-service\";\n\nclass DownloadService extends BaseService {\n /**\n * Downloads an excel file containing fee data\n *\n * @param {string} locale - The language of the excel file to download\n * @param {string} fromDateIsoString - Include note-taker fee data from this date forward\n * @param {FeeDataExportType} feeDataExportType - The type of fee data export\n *\n * @returns {Promise} A Promise with a boolean representing the success of the operation\n */\n\n async downloadFeeData(\n locale: string,\n fromDateIsoString: string,\n feeDataExportType: FeeDataExportType\n ): Promise {\n const endpointController = \"Download\";\n const enpointRoute = \"feedata\";\n const paramName_1 = \"locale\";\n const paramValue_1 = locale;\n const paramName_2 = \"fromDate\";\n const paramValue_2 = fromDateIsoString;\n const paramName_3 = \"feeDataExportType\";\n const paramValue_3 = feeDataExportType;\n const queryString = `${paramName_1}=${paramValue_1}&${paramName_2}=${paramValue_2}&${paramName_3}=${paramValue_3}`;\n const url = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}?${queryString}`;\n\n return await this.fetch(url);\n }\n\n /**\n * Downloads a pdf file containing invoice data\n *\n * @param {string} invoiceNo - The invoice number of the pdf file to download\n *\n * @returns {Promise} A Promise with a boolean representing the success of the operation\n */\n async downloadInvoice(invoiceNo: string): Promise {\n const endpointController = \"Download\";\n const enpointRoute = \"invoice\";\n const paramName = \"invoiceNo\";\n const paramValue = invoiceNo;\n const queryString = `${paramName}=${paramValue}`;\n const url = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}?${queryString}`;\n\n return await this.fetch(url);\n }\n}\n\nexport default new DownloadService();\n"],"sourceRoot":""}