{"version":3,"sources":["./src/app/smtp-settings/smtp-settings.component.ts","./src/app/smtp-settings/smtp-settings.component.html","./src/app/projecti-info-modal/projecti-info-modal.component.ts","./src/app/projecti-info-modal/projecti-info-modal.component.html","./src/app/report-components/time-trend-report/time-trend-report.component.ts","./src/app/report-components/time-trend-report/time-trend-report.component.html","./src/app/contact-messages/contact-messages.component.ts","./src/app/contact-messages/contact-messages.component.html","./src/app/manage-organization-type/manage-organization-type.component.ts","./src/app/manage-organization-type/manage-organization-type.component.html","./src/app/document-link/document-link.component.ts","./src/app/document-link/document-link.component.html","./src/app/services/contact.service.ts","./src/app/user-subscription/user-subscription.component.ts","./src/app/user-subscription/user-subscription.component.html","./src/app/contact-emails/contact-emails.component.ts","./src/app/contact-emails/contact-emails.component.html","./src/app/manage-funding-type/manage-funding-type.component.ts","./src/app/manage-funding-type/manage-funding-type.component.html","./src/app/project-entry/project-entry.component.ts","./src/app/project-entry/project-entry.component.html","./src/app/notification/notification.component.ts","./src/app/notification/notification.component.html","./src/app/main/app.component.ts","./src/app/main/app.component.html","./src/app/data-entry/project-markers/project-markers.component.ts","./src/app/data-entry/project-markers/project-markers.component.html","./src/app/models/login-model.ts","./src/app/services/help-service.ts","./src/app/delete-sectortype/delete-sectortype.component.ts","./src/app/delete-sectortype/delete-sectortype.component.html","./src/app/config/urls.ts","./src/app/manage-document-link/manage-document-link.component.ts","./src/app/manage-document-link/manage-document-link.component.html","./src/app/services/currency.service.ts","./src/app/financial-year-settings/financial-year-settings.component.ts","./src/app/financial-year-settings/financial-year-settings.component.html","./src/app/data-entry/disbursement-iati/disbursement-iati.component.ts","./src/app/data-entry/disbursement-iati/disbursement-iati.component.html","./src/app/services/organization-service.ts","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/manage-currency/manage-currency.component.ts","./src/app/manage-currency/manage-currency.component.html","./src/app/sector-mappings/sector-mappings.component.ts","./src/app/sector-mappings/sector-mappings.component.html","./src/app/contact-form/contact-form.component.ts","./src/app/contact-form/contact-form.component.html","./src/app/management/management.component.ts","./src/app/management/management.component.html","./src/app/report-components/location-report/location-report.component.ts","./src/app/report-components/location-report/location-report.component.html","./src/environments/environment.ts","./src/app/manage-year/manage-year.component.ts","./src/app/manage-year/manage-year.component.html","./src/app/user-org-registration/user-org-registration.component.ts","./src/app/user-org-registration/user-org-registration.component.html","./src/app/project-funder/project-funder.component.ts","./src/app/project-funder/project-funder.component.html","./src/app/services/organization-type.service.ts","./src/app/delete-organization/delete-organization.component.ts","./src/app/delete-organization/delete-organization.component.html","./src/app/sublocation-modal/sublocation-modal.component.ts","./src/app/sublocation-modal/sublocation-modal.component.html","./src/app/reset-password/reset-password.component.ts","./src/app/reset-password/reset-password.component.html","./src/app/delete-envelope-type/delete-envelope-type.component.ts","./src/app/delete-envelope-type/delete-envelope-type.component.html","./src/app/membership-requests/membership-requests.component.ts","./src/app/membership-requests/membership-requests.component.html","./src/app/merge-projects/merge-projects.component.ts","./src/app/merge-projects/merge-projects.component.html","./src/app/organization-types/organization-types.component.ts","./src/app/organization-types/organization-types.component.html","./src/app/services/envelope-type.service.ts","./src/app/user-registration/user-registration.component.ts","./src/app/user-registration/user-registration.component.html","./src/app/new-project/new-project.component.ts","./src/app/new-project/new-project.component.html","./src/app/sublocations/sublocations.component.ts","./src/app/sublocations/sublocations.component.html","./src/app/data-import/data-import.component.ts","./src/app/data-import/data-import.component.html","./src/app/config/messages.ts","./src/app/markers/markers.component.ts","./src/app/markers/markers.component.html","./src/app/manage-envelope-type/manage-envelope-type.component.ts","./src/app/manage-envelope-type/manage-envelope-type.component.html","./src/app/financial-years/financial-years.component.ts","./src/app/financial-years/financial-years.component.html","./src/app/data-entry/basic-data/basic-data.component.ts","./src/app/data-entry/basic-data/basic-data.component.html","./src/app/home-page-settings/home-page-settings.component.ts","./src/app/home-page-settings/home-page-settings.component.html","./src/app/project-document/project-document.component.ts","./src/app/project-document/project-document.component.html","./src/app/project-location/project-location.component.ts","./src/app/project-location/project-location.component.html","./src/app/manage-markers/manage-markers.component.ts","./src/app/manage-markers/manage-markers.component.html","./src/app/models/organization-model.ts","./src/app/services/marker.service.ts","./src/app/services/notification.service.ts","./src/app/services/home-page.service.ts","./src/app/project-membership/project-membership.component.ts","./src/app/project-membership/project-membership.component.html","./src/app/services/iati.service.ts","./src/app/models/request-model.ts","./src/app/manage-email-message/manage-email-message.component.ts","./src/app/manage-email-message/manage-email-message.component.html","./src/app/project-implementer/project-implementer.component.ts","./src/app/project-implementer/project-implementer.component.html","./src/app/services/sector.service.ts","./src/app/data-entry/funder-iati/funder-iati.component.ts","./src/app/data-entry/funder-iati/funder-iati.component.html","./src/app/delete-sector/delete-sector.component.ts","./src/app/delete-sector/delete-sector.component.html","./src/app/services/exrate-usage.service.ts","./src/app/services/financial-year.service.ts","./src/app/data-entry/data-entry/data-entry.component.ts","./src/app/data-entry/data-entry/data-entry.component.html","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/report-components/budget-report/budget-report.component.ts","./src/app/report-components/budget-report/budget-report.component.html","./src/app/sector-types/sector-types.component.ts","./src/app/sector-types/sector-types.component.html","./src/app/email-messages/email-messages.component.ts","./src/app/email-messages/email-messages.component.html","./src/app/organizations/organizations.component.ts","./src/app/organizations/organizations.component.html","./src/app/services/security-helper.service.ts","./src/app/delete-marker/delete-marker.component.ts","./src/app/delete-marker/delete-marker.component.html","./src/app/services/databackup.service.ts","./src/app/manage-location/manage-location.component.ts","./src/app/manage-location/manage-location.component.html","./src/app/services/modal.service.ts","./src/app/password-change/password-change.component.ts","./src/app/password-change/password-change.component.html","./src/app/manage-organization/manage-organization.component.ts","./src/app/manage-organization/manage-organization.component.html","./src/app/manage-sponsor-logos/manage-sponsor-logos.component.ts","./src/app/manage-sponsor-logos/manage-sponsor-logos.component.html","./src/app/services/url-helper-service.ts","./src/app/manage-account/manage-account.component.ts","./src/app/manage-account/manage-account.component.html","./src/app/forgot-password/forgot-password.component.ts","./src/app/forgot-password/forgot-password.component.html","./src/app/services/envelope-service.ts","./src/app/modal/modal.component.ts","./src/app/project-sector/project-sector.component.ts","./src/app/project-sector/project-sector.component.html","./src/app/report-components/envelope-report/envelope-report.component.ts","./src/app/report-components/envelope-report/envelope-report.component.html","./src/app/report-components/all-projects-report/all-projects-report.component.ts","./src/app/report-components/all-projects-report/all-projects-report.component.html","./src/app/app.module.ts","./src/app/delete-location/delete-location.component.ts","./src/app/delete-location/delete-location.component.html","./src/app/project-info-modal/project-info-modal.component.ts","./src/app/project-info-modal/project-info-modal.component.html","./src/app/models/registration.ts","./src/app/email-users/email-users.component.ts","./src/app/email-users/email-users.component.html","./src/app/envelope/envelope.component.ts","./src/app/envelope/envelope.component.html","./src/app/delete-organization-type/delete-organization-type.component.ts","./src/app/delete-organization-type/delete-organization-type.component.html","./src/app/manage-exrate-usage/manage-exrate-usage.component.ts","./src/app/manage-exrate-usage/manage-exrate-usage.component.html","./src/app/services/project.service.ts","./src/app/data-entry/project-sectors/project-sectors.component.ts","./src/app/data-entry/project-sectors/project-sectors.component.html","./src/$_lazy_route_resource lazy namespace object","./src/environments/environment.prod.ts","./src/app/data-entry/document-iati/document-iati.component.ts","./src/app/data-entry/document-iati/document-iati.component.html","./src/app/services/user-service.ts","./src/app/report-components/project-report/project-report.component.ts","./src/app/report-components/project-report/project-report.component.html","./src/app/services/funding-type.service.ts","./src/app/services/email-message.service.ts","./src/app/data-entry/sector-iati/sector-iati.component.ts","./src/app/data-entry/sector-iati/sector-iati.component.html","./src/app/error-modal/error-modal.component.ts","./src/app/error-modal/error-modal.component.html","./src/app/manage-sublocations/manage-sublocations.component.ts","./src/app/manage-sublocations/manage-sublocations.component.html","./src/app/sectors/sectors.component.ts","./src/app/sectors/sectors.component.html","./src/app/pipes/truncate.pipe.ts","./src/app/data-backup/data-backup.component.ts","./src/app/data-backup/data-backup.component.html","./src/app/data-entry/financials/financials.component.ts","./src/app/data-entry/financials/financials.component.html","./src/app/services/store-service.ts","./src/app/locations/locations.component.ts","./src/app/locations/locations.component.html","./src/app/envelope-types/envelope-types.component.ts","./src/app/envelope-types/envelope-types.component.html","./src/app/info-modal/info-modal.component.ts","./src/app/info-modal/info-modal.component.html","./src/app/funding-types/funding-types.component.ts","./src/app/funding-types/funding-types.component.html","./src/app/data-entry/implementer-iati/implementer-iati.component.ts","./src/app/data-entry/implementer-iati/implementer-iati.component.html","./src/app/merge-organization/merge-organization.component.ts","./src/app/merge-organization/merge-organization.component.html","./src/app/reports-panel/reports-panel.component.ts","./src/app/reports-panel/reports-panel.component.html","./src/app/manage-help/manage-help.component.ts","./src/app/manage-help/manage-help.component.html","./src/app/join-project-modal/join-project-modal.component.ts","./src/app/join-project-modal/join-project-modal.component.html","./src/app/exrate-usage/exrate-usage.component.ts","./src/app/exrate-usage/exrate-usage.component.html","./src/app/not-found/not-found.component.ts","./src/app/not-found/not-found.component.html","./src/app/services/report.service.ts","./src/app/create-org-modal/create-org-modal.component.ts","./src/app/create-org-modal/create-org-modal.component.html","./src/app/directives/focus-directive.directive.ts","./src/app/services/fileupload.service.ts","./src/app/app.router.ts","./src/app/iati-settings/iati-settings.component.ts","./src/app/iati-settings/iati-settings.component.html","./src/app/directives/copy-paste.directive.ts","./src/app/config/settings.ts","./src/app/report-components/sector-report/sector-report.component.ts","./src/app/report-components/sector-report/sector-report.component.html","./src/app/manage-sectortype/manage-sectortype.component.ts","./src/app/manage-sectortype/manage-sectortype.component.html","./src/app/view-project/view-project.component.ts","./src/app/view-project/view-project.component.html","./src/app/currencies/currencies.component.ts","./src/app/currencies/currencies.component.html","./src/app/data-entry/project-finish/project-finish.component.ts","./src/app/data-entry/project-finish/project-finish.component.html","./src/app/project-report-modal/project-report-modal.component.ts","./src/app/project-report-modal/project-report-modal.component.html","./src/app/exrate-settings/exrate-settings.component.ts","./src/app/exrate-settings/exrate-settings.component.html","./src/app/report-components/budget-report-summary/budget-report-summary.component.ts","./src/app/report-components/budget-report-summary/budget-report-summary.component.html","./src/app/data-entry/location-iati/location-iati.component.ts","./src/app/data-entry/location-iati/location-iati.component.html","./src/app/password-change/custom-validators.ts","./src/app/services/sector-types.service.ts","./src/app/manage-project/manage-project.component.ts","./src/app/manage-project/manage-project.component.html","./src/app/services/document-link.service.ts","./src/app/manage-sector/manage-sector.component.ts","./src/app/manage-sector/manage-sector.component.html","./src/app/login/login.component.ts","./src/app/login/login.component.html","./src/app/project-disbursement/project-disbursement.component.ts","./src/app/project-disbursement/project-disbursement.component.html","./src/app/user-manager/user-manager.component.ts","./src/app/user-manager/user-manager.component.html","./src/app/contact-project/contact-project.component.ts","./src/app/contact-project/contact-project.component.html","./src/app/config/httpoptions.ts","./src/app/services/smtp.service.ts","./src/app/services/location.service.ts","./src/app/sponsor-logos/sponsor-logos.component.ts","./src/app/sponsor-logos/sponsor-logos.component.html","./src/app/projects/projects.component.ts","./src/app/projects/projects.component.html","./src/main.ts","./src/app/services/sponsor-logo.service.ts"],"names":[],"mappings":"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AWM;YAEN,gHAQM;YAEN,gHAOM;YAER,4DAAW;YACb,4DAAM;YAEN,6EACc;;YAvFC,0DAAmF;YAAnF,iMAAmF;YAGnF,0DAA0B;YAA1B,0FAA0B;YAI1B,0DAA0B;YAA1B,0FAA0B;YAI1B,0DAA0B;YAA1B,0FAA0B;YAI1B,0DAA0B;YAA1B,0FAA0B;YAS/B,0DAA2D;YAA3D,mIAA2D;YAgB3D,0DAAgE;YAAhE,wIAAgE;YAWhE,0DAA6D;YAA7D,qIAA6D;YAa7D,0DAA6D;YAA7D,qIAA6D;YAU7D,0DAA4D;YAA5D,oIAA4D;YAYzD,0DAA0B;YAA1B,gGAA0B;;IDsB1B;QAAV,2DAAO,EAAE;;uDAAoB;6BApHhC;CAufC;AA/d8B;6FAAlB,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,WAAW,EAAE,6BAA6B;gBAC1C,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;u0CA6FY,OAAO;;;;;;;;;;;;AEpHpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnRkD;AACc;AACf;AAC+B;AAClB;AACM;AACjB;AACA;AACW;AAGS;;;;;;;;;;;;;;ICanD,6EACE;IAAA,uDACF;IAAA,4DAAS;;;IAFuC,mGAA6B;IAC3E,0DACF;IADE,qGACF;;;IAEF,2EACE;IAAA,oEAAG;IAAA,oEAAG;IAAA,uDACY;IAAA,4DAAI;IAAA,4DAAI;IAC5B,4DAAO;;;IAFC,0DACY;IADZ,0MACY;;;IAGpB,2EACE;IAAA,oEAAG;IAAA,6GAAkD;IAAA,4DAAI;IAC3D,4DAAO;;;IAOL,6EACE;IAAA,uDACF;IAAA,4DAAS;;;IAF8C,gGAA0B;IAC/E,0DACF;IADE,iGACF;;;;IAOA,6EAC8D;IAAxB,gUAAuB;IAAC,uEAAY;IAAA,4DAAS;;;IACnF,wEAA+E;IAAA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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACjB;AACyB;AACS;AACJ;AACZ;AACO;AACT;AACqB;AACC;AAC1B;AAC4B;AACrC;AACF;AAC4B;AACzB;AACS;AACN;AACqB;AAEjB;AACK;AACmC;AACW;AAC/B;AAClB;AACY;AACc;AACR;AACM;AACG;AACiB;AAC7B;AACiB;AACT;AACe;AAC7B;AACiB;AACG;AACG;AACA;AACT;AACY;AACN;AACA;AACe;AACG;AACZ;AAChC;AACiB;AACwB;AAClB;AACT;AAClB;AACyC;AACG;AACvB;AACM;AACA;AACG;AACA;AACX;AACc;AACA;AACZ;AACkB;AACT;AACY;AACG;AACZ;AACN;AACM;AACA;AACpB;AACiB;AACpB;AACiB;AACA;AACiB;AACd;AACiB;AACR;AACY;AACH;AACH;AACrB;AACkB;AACG;AACW;AACzC;AACqD;AAC/C;AACY;AACT;AACoB;AACH;AACpB;AACQ;AACS;AACN;AACe;AACG;AAClB;AACM;AACT;AACC;AACc;AACH;AACX;AACiB;AACA;AACI;AAC9B;AACc;AAC2B;AACpB;AACiB;AACA;AACH;AACZ;AACvB;AACG;AACN;AACuB;AACM;AACA;AACpB;AACG;AACM;AACX;AACoB;AACN;AACZ;AACoB;;;;;AAEpG;IAAA;KAqJ0B;4FAAb,SAAS,cAFR,iEAAY;gJAEb,SAAS,mBAVT;QACT;;WAEG;QACH;;WAEG;SACJ,YA5BQ;gBACP,uEAAa;gBACb,4FAAuB;gBACvB,0DAAW;gBACX,kEAAmB;gBACnB,6DAAgB;gBAChB,qEAAgB;gBAChB,sEAAc;gBACd,oFAAqB;gBACrB,+EAAkB;gBAClB,wEAAe;gBACf,2FAAwB;gBACxB,mEAAmB;gBACnB,+EAAmB;gBACnB,oEAAa;gBACb,0DAAa,CAAC,OAAO,EAAE;gBACvB,wDAAY;gBACZ,oFAA2B,CAAC,OAAO,EAAE;gBACrC,mFAAiB;gBACjB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","file":"main.js","sourcesContent":["import { Component, OnInit } from '@angular/core';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { SmtpService } from '../services/smtp.service';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { Messages } from '../config/messages';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-smtp-settings',\r\n templateUrl: './smtp-settings.component.html',\r\n styleUrls: ['./smtp-settings.component.css']\r\n})\r\nexport class SmtpSettingsComponent implements OnInit {\r\n\r\n btnText: string = 'Save SMTP Settings';\r\n errorMessage: string = null;\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n infoMessage: string = null;\r\n model: any = { host: null, port: null, username: null, password: null, \r\n adminEmail: null, senderName: null };\r\n permissions: any = {};\r\n //Overlay UI blocker\r\n @BlockUI() blockUI: NgBlockUI;\r\n\r\n constructor(private smtpService: SmtpService, private infoModal: InfoModalComponent,\r\n private errorModal: ErrorModalComponent,\r\n private securityService: SecurityHelperService, private router: Router,\r\n private storeService: StoreService) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canDoSMTPSettings) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.getSMTPSettings();\r\n }\r\n\r\n getSMTPSettings() {\r\n this.smtpService.getSMTPSettings().subscribe(\r\n data => {\r\n this.model.host = data.host;\r\n this.model.port = data.port;\r\n this.model.adminEmail = data.adminEmail;\r\n this.model.username = data.username;\r\n this.model.senderName = data.senderName;\r\n }\r\n )\r\n }\r\n\r\n saveSMTPSettings() {\r\n this.blockUI.start('Saving Settings...');\r\n this.smtpService.saveSMTPSettings(this.model).subscribe(\r\n data => {\r\n this.infoMessage = 'Email Settings' + Messages.SAVED_SUCCESSFULLY;\r\n this.infoModal.openModal();\r\n this.model.password = null;\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.errorMessage = 'An error occured: ' + error;\r\n this.errorModal.openModal();\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Email Settings
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Host is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Port is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Admin Email is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Sender name is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Username is required\r\n
\r\n
\r\n\r\n
\r\n \r\n (Leave blank if you do not want to change)\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n","import { Component, OnInit, Input, Injectable } from '@angular/core';\r\nimport { ModalService } from '../services/modal.service';\r\nimport { StoreService } from '../services/store-service';\r\n\r\n@Component({\r\n selector: 'projecti-info-modal',\r\n templateUrl: './projecti-info-modal.component.html',\r\n styleUrls: ['./projecti-info-modal.component.css']\r\n})\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProjectiInfoModalComponent implements OnInit {\r\n\r\n @Input()\r\n project: any = {\r\n title: '',\r\n description: '',\r\n defaultCurrency: '',\r\n };\r\n @Input()\r\n sectors: any = [];\r\n @Input()\r\n locations: any = [];\r\n @Input()\r\n funders: any = [];\r\n @Input()\r\n implementers: any = [];\r\n @Input()\r\n documents: any = [];\r\n @Input()\r\n budgets: any = [];\r\n @Input()\r\n transactions: any = [];\r\n \r\n constructor(private modalService: ModalService, private storeService: StoreService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n openModal() {\r\n this.modalService.open('projecti-info-modal');\r\n }\r\n\r\n closeModal() {\r\n this.modalService.close('projecti-info-modal');\r\n }\r\n\r\n getLongDateString(dated) {\r\n if (dated) {\r\n return this.storeService.getLongDateString(dated);\r\n }\r\n return dated;\r\n }\r\n\r\n formatNumber(value: number) {\r\n return this.storeService.getNumberWithCommas(value);\r\n }\r\n\r\n}\r\n","\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
Project data
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Title: {{project.title}}Currency: {{project.defaultCurrency}}
Description: {{project.description}}
\r\n\r\n
Project locations
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Location
{{location.name}}
\r\n No locations found\r\n\r\n
Project sectors
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Sector nameFunds percentage
{{sector.sectorName}}{{sector.fundsPercentage}}
\r\n \r\n No sectors found\r\n \r\n\r\n
Budgets
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TypeDatedAmount
{{budget.budgetType}}{{getLongDateString(budget.endDate)}}{{formatNumber(budget.amount)}}
\r\n \r\n No budgets found\r\n \r\n\r\n
Transactions
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TypeDatedAmount
{{transaction.transactionType}}{{getLongDateString(transaction.dated)}}{{formatNumber(transaction.amount)}}
\r\n \r\n No transactions found\r\n \r\n\r\n
Funders
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Funder
{{org.name}}
\r\n \r\n No funders found\r\n \r\n\r\n
Implementers
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Implementer
{{org.name}}
\r\n \r\n No implementers found\r\n \r\n\r\n
Project documents
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Document titleUrl
{{document.documentTitle}}{{document.documentUrl}}
\r\n \r\n No documents found\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ReportService } from 'src/app/services/report.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { StoreService } from 'src/app/services/store-service';\r\nimport { SectorService } from 'src/app/services/sector.service';\r\nimport { FinancialYearService } from 'src/app/services/financial-year.service';\r\nimport { OrganizationService } from 'src/app/services/organization-service';\r\nimport { LocationService } from 'src/app/services/location.service';\r\nimport { CurrencyService } from 'src/app/services/currency.service';\r\nimport { ErrorModalComponent } from 'src/app/error-modal/error-modal.component';\r\nimport { Messages } from 'src/app/config/messages';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { Settings } from 'src/app/config/settings';\r\nimport { Color } from 'ng2-charts';\r\nimport { MarkerService } from 'src/app/services/marker.service';\r\nimport { UrlHelperService } from 'src/app/services/url-helper-service';\r\n\r\n@Component({\r\n selector: 'time-trend-report',\r\n templateUrl: './time-trend-report.component.html',\r\n styleUrls: ['./time-trend-report.component.css']\r\n})\r\nexport class TimeTrendReportComponent implements OnInit {\r\n sectorsSettings: any = [];\r\n selectedSectors: any = [];\r\n selectedOrganizations: any = [];\r\n selectedLocations: any = [];\r\n selectedDataOptions: any = [];\r\n projects: any = [];\r\n\r\n selectedChartType: number = 1;\r\n organizationsSettings: any = {};\r\n dataOptionSettings: any = {};\r\n locationsSettings: any = {};\r\n projectsSettings: any = {};\r\n subLocationsSettings: any = {};\r\n markerValuesSettings: any = {};\r\n oldCurrencyRate: number = 0;\r\n oldCurrency: string = null;\r\n currencyRate: number = 0;\r\n yearsList: any = [];\r\n allSectorsList: any = [];\r\n sectorsList: any = [];\r\n markersList: any = [];\r\n markerValues: any = [];\r\n sectorIds: any = [];\r\n subSectorIds: any = [];\r\n subSubSectorIds: any = [];\r\n organizationsList: any = [];\r\n currenciesList: any = [];\r\n locationsList: any = [];\r\n subLocationsList: any = [];\r\n filteredSubLocationsList: any = [];\r\n exchangeRatesList: any = [];\r\n exchangeRates: any = [];\r\n manualExRate: any = 0;\r\n defaultCurrency: string = null;\r\n defaultCurrencyRate: number = 0;\r\n nationalCurrency: string = null;\r\n nationalCurrencyName: string = null;\r\n selectedCurrencyName: string = null;\r\n errorMessage: string = null;\r\n showChart: boolean = true;\r\n excelFile: string = null;\r\n chartCategory: number = 1;\r\n multiDataDisplay: boolean = true;\r\n datedToday: string = null;\r\n paramSectorIds: any = [];\r\n paramOrgIds: any = [];\r\n paramChartType: string = null;\r\n paramLocationIds: any = [];\r\n paramSubLocationIds: any = [];\r\n paramProjectIds: any = [];\r\n paramMarkerValues: any = [];\r\n loadReport: boolean = false;\r\n isLoading: boolean = true;\r\n isDataLoading: boolean = true;\r\n isAnyFilterSet: boolean = false;\r\n chartType: string = 'bar';\r\n btnReportText: string = 'Update report';\r\n\r\n chartTypesList: any = [\r\n { id: 1, type: 'bar', title: 'Stacked bar' },\r\n { id: 2, type: 'line', title: 'Stacked line' },\r\n ];\r\n\r\n chartTypes: any = {\r\n BAR: 'bar',\r\n LINE: 'line',\r\n };\r\n\r\n chartTypeCodes: any = {\r\n BAR: 1,\r\n LINE: 2,\r\n };\r\n\r\n sectorLevels: any = [\r\n { \"id\": 1, \"level\": \"Parent sectors\" },\r\n { \"id\": 2, \"level\": \"Sub sectors\" },\r\n ];\r\n\r\n sectorLevelCodes: any = {\r\n NO_SECTORS: 4,\r\n SECTORS: 1,\r\n SUB_SECTORS: 2,\r\n SUB_SUB_SECTORS: 3\r\n }\r\n\r\n chartOptions: any = {\r\n responsive: true,\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var tooltipValue = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n return parseInt(tooltipValue).toLocaleString();\r\n }\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true,\r\n callback: function (value, index, values) {\r\n return value.toLocaleString(\"en-US\");\r\n }\r\n }\r\n }],\r\n xAxes: [{\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }]\r\n }\r\n };\r\n reportDataList: any = [];\r\n dropdownSettings: any = {};\r\n\r\n barChartOptions: any = {\r\n scaleShowVerticalLines: false,\r\n responsive: true,\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var tooltipValue = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n return parseInt(tooltipValue).toLocaleString();\r\n }\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n callback: function (value, index, values) {\r\n return value.toLocaleString(\"en-US\");\r\n }\r\n }\r\n }],\r\n xAxes: [{\r\n beginAtZero: true,\r\n ticks: {\r\n autoSkip: false\r\n }\r\n }],\r\n },\r\n plugins: {\r\n datalabels: {\r\n anchor: 'end',\r\n align: 'end',\r\n }\r\n }\r\n };\r\n\r\n pieChartOptions: any = {\r\n responsive: true,\r\n legend: {\r\n position: 'top',\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function(tooltipItem, data) {\r\n var dataLabel = data.labels[tooltipItem.index];\r\n var value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index].toLocaleString();\r\n dataLabel += value;\r\n return dataLabel;\r\n }\r\n }\r\n }\r\n }\r\n\r\n radarChartOptions: any = {\r\n responsive: true,\r\n tooltips: {\r\n callbacks: {\r\n label: function(tooltipItem, data) {\r\n var dataLabel = data.labels[tooltipItem.index];\r\n var value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index].toLocaleString();\r\n dataLabel += value;\r\n return dataLabel;\r\n }\r\n }\r\n }\r\n }\r\n\r\n public lineChartOptions = {\r\n responsive: true,\r\n scales: {\r\n yAxes: [\r\n {\r\n stacked: true,\r\n }\r\n ]\r\n }\r\n };\r\n\r\n public lineChartColors: Color[] = [\r\n {\r\n borderColor: 'black',\r\n backgroundColor: 'rgba(255,0,0,0.3)',\r\n },\r\n ];\r\n \r\n chartColors: any = [\r\n {\r\n backgroundColor: [\r\n \"#FF7360\", \"#6FC8CE\", \"#4cc6bb\", \"#fdd100\", \"#123ea9\"\r\n ]\r\n }\r\n ];\r\n chartLabels: any = [];\r\n doughnutChartLabels: any = [];\r\n barChartType: string = this.chartTypes.BAR;\r\n chartLegend: boolean = true;\r\n chartData: any = [];\r\n doughnutChartData: any = [];\r\n model: any = {\r\n title: '', organizationIds: [], startingYear: 0, endingYear: 0, chartType: this.chartTypes.BAR,\r\n sectorIds: [], locationIds: [], selectedSectors: [], selectedOrganizations: [],\r\n selectedLocations: [], selectedSubLocations: [], sectorsList: [], locationsList: [], \r\n organizationsList: [], subLocationsList: [],\r\n selectedCurrency: null, exRateSource: null, dataOption: 1, selectedDataOptions: [],\r\n selectedDataOption: 1, chartTypeName: 'bar', selectedProjects: [], locationId: 0,\r\n sectorLevel: this.sectorLevelCodes.SECTORS,\r\n markerId: 0, markerValue: null, markerValues: [], markerId2: 0, markerValues2: []\r\n };\r\n\r\n //Overlay UI blocker\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private reportService: ReportService, private storeService: StoreService,\r\n private sectorService: SectorService, private fyService: FinancialYearService,\r\n private organizationService: OrganizationService, private locationService: LocationService,\r\n private currencyService: CurrencyService, private errorModal: ErrorModalComponent,\r\n private route: ActivatedRoute, private projectService: ProjectService,\r\n private markerService: MarkerService,\r\n private urlService: UrlHelperService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.reports);\r\n this.getDefaultCurrency();\r\n this.getNationalCurrency();\r\n this.getManualExchangeRateForToday();\r\n\r\n if (this.route.snapshot.queryParams.load) {\r\n this.route.queryParams.subscribe(params => {\r\n if (params) {\r\n this.model.title = (params.title) ? params.title : null;\r\n this.model.startingYear = (params.syear) ? parseInt(params.syear) : 0;\r\n this.model.endingYear = (params.eyear) ? parseInt(params.eyear) : 0;\r\n this.paramProjectIds = (params.projects) ? params.projects.split(',').map(p => parseInt(p)) : [];\r\n this.paramSectorIds = (params.sectors) ? params.sectors.split(',').map(s => parseInt(s)) : [];\r\n this.model.locationId = (params.locationId) ? parseInt(params.locationId) : 0;\r\n this.paramSubLocationIds = (params.slocations) ? params.slocations.split(',').map(l => parseInt(l)) : [];\r\n this.model.markerId = (params.mid) ? parseInt(params.mid) : 0;\r\n this.model.markerId2 = (params.mid2) ? parseInt(params.mid2) : 0;\r\n this.paramOrgIds = (params.orgs) ? params.orgs.split(',').map(o => parseInt(o)) : [];\r\n this.paramChartType = (params.ctype) ? params.ctype : this.chartTypeCodes.BAR;\r\n if (params.mvalue) {\r\n this.paramMarkerValues = params.mvalue.split(',');\r\n }\r\n this.loadReport = true;\r\n } \r\n });\r\n } else {\r\n this.searchProjectsByCriteriaReport();\r\n }\r\n\r\n this.getProjectTitles();\r\n this.getSectorsList();\r\n this.getLocationsList();\r\n this.getOrganizationsList();\r\n this.loadFinancialYears();\r\n this.getMarkers();\r\n this.datedToday = this.storeService.getLongDateString(new Date());\r\n\r\n this.sectorsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'sectorName',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.subLocationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'subLocation',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n\r\n this.projectsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'title',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.organizationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'organizationName',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.locationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'location',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.markerValuesSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'value',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.dataOptionSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'value',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n }\r\n\r\n getProjectTitles() {\r\n this.projectService.getProjectTitles().subscribe(\r\n data => {\r\n if (data) {\r\n this.projects = data;\r\n if (this.loadReport) {\r\n if (this.paramProjectIds.length > 0) {\r\n this.paramProjectIds.forEach(function (id) {\r\n var project = this.projects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n this.model.selectedProjects.push(project[0]);\r\n }\r\n }.bind(this));\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getDefaultCurrency() {\r\n this.currencyService.getDefaultCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultCurrency = data.currency;\r\n this.model.selectedCurrency = data.currency;\r\n this.oldCurrency = this.model.selectedCurrency;\r\n this.selectedCurrencyName = data.currencyName;\r\n this.currenciesList.push(data);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getNationalCurrency() {\r\n this.currencyService.getNationalCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.nationalCurrency = data;\r\n this.nationalCurrencyName = data.currency;\r\n this.currenciesList.push(data);\r\n }\r\n\r\n setTimeout(() => {\r\n this.isDataLoading = false;\r\n }, 2000);\r\n }\r\n );\r\n }\r\n\r\n getMarkers() {\r\n this.markerService.getMarkers().subscribe(\r\n data => {\r\n if (data) {\r\n this.markersList = data;\r\n if (this.model.markerId) {\r\n var values = (this.paramMarkerValues.length > 0) ? this.paramMarkerValues : [];\r\n this.getSelectedMarkerValues(values);\r\n }\r\n if (this.model.markerId2) {\r\n var values = (this.paramMarkerValues.length > 0) ? this.paramMarkerValues : [];\r\n this.getSelectedMarkerValuesTwo(values);\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getSelectedMarkerValues(selectedValues: any = []) {\r\n this.markerValues = [];\r\n this.model.markerValues = [];\r\n if (this.model.markerId) {\r\n var values = this.markersList.filter(m => m.id == this.model.markerId).map(m => m.values);\r\n if (values && values.length > 0) {\r\n this.markerValues = JSON.parse(values);\r\n if (selectedValues.length > 0) {\r\n this.model.markerValues = this.markerValues.filter(m => selectedValues.indexOf(m.value) != -1);\r\n }\r\n };\r\n }\r\n }\r\n\r\n getSelectedMarkerValuesTwo(selectedValues: any = []) {\r\n this.markerValues = [];\r\n this.model.markerValues2 = [];\r\n if (this.model.markerId2) {\r\n var values = this.markersList.filter(m => m.id == this.model.markerId2).map(m => m.values);\r\n if (values && values.length > 0) {\r\n this.markerValues = JSON.parse(values);\r\n if (selectedValues.length > 0) {\r\n this.model.markerValues2 = this.markerValues.filter(m => selectedValues.indexOf(m.value) != -1);\r\n }\r\n };\r\n }\r\n }\r\n\r\n searchProjectsByCriteriaReport() {\r\n this.blockUI.start('Searching Projects...');\r\n this.chartLabels = [];\r\n this.chartData = [];\r\n var projectIds = [];\r\n var chartType = null;\r\n if (this.loadReport) {\r\n chartType = this.paramChartType;\r\n } else {\r\n var searchType = this.chartTypesList.filter(c => c.type == this.model.chartType);\r\n if (searchType.length > 0) {\r\n chartType = searchType[0].id;\r\n }\r\n }\r\n\r\n if (this.model.selectedProjects.length > 0) {\r\n projectIds = this.model.selectedProjects.map(p => parseInt(p.id));\r\n }\r\n\r\n var searchModel = {\r\n projectIds: projectIds,\r\n startingYear: (this.model.startingYear) ? parseInt(this.model.startingYear) : 0,\r\n endingYear: (this.model.endingYear) ? parseInt(this.model.endingYear) : 0,\r\n organizationIds: this.model.selectedOrganizations.map(o => o.id),\r\n sectorIds: this.model.selectedSectors.map(s => s.id),\r\n locationId: (this.model.locationId) ? parseInt(this.model.locationId) : 0,\r\n subLocationIds: (this.loadReport) ? this.paramSubLocationIds : this.model.selectedSubLocations.map(o => o.id),\r\n markerId: (this.model.markerId) ? parseInt(this.model.markerId) : 0,\r\n markerValues: (this.model.markerValues.length > 0) ? this.model.markerValues.map(v => v.value) : [],\r\n markerId2: (this.model.markerId2) ? parseInt(this.model.markerId2) : 0,\r\n markerValues2: (this.model.markerValues2.length > 0) ? this.model.markerValues2.map(v => v.value) : [],\r\n chartType: (chartType) ? parseInt(chartType) : 0\r\n };\r\n\r\n this.resetSearchResults();\r\n this.reportService.getYearlyProjectsReport(searchModel).subscribe(\r\n data => {\r\n this.reportDataList = data;\r\n this.btnReportText = 'Update report';\r\n if (this.reportDataList && this.reportDataList.yearlyProjectsList) {\r\n this.reportDataList.yearlyProjectsList.forEach((y) => {\r\n y.isDisplay = false;\r\n });\r\n var years = this.reportDataList.yearlyProjectsList.map(y => y.year);\r\n this.chartLabels = years;\r\n if (this.reportDataList.reportSettings) {\r\n this.excelFile = this.reportDataList.reportSettings.excelReportName;\r\n this.setExcelFile();\r\n }\r\n\r\n this.model.selectedCurrency = this.defaultCurrency;\r\n setTimeout(() => {\r\n this.selectCurrency();\r\n }, 2000);\r\n this.setupChartData();\r\n }\r\n this.blockUI.stop();\r\n\r\n if (this.loadReport) {\r\n setTimeout(() => {\r\n this.loadReport = false;\r\n var searchType = this.chartTypesList.filter(c => c.id == this.paramChartType);\r\n if (searchType.length > 0) {\r\n this.model.chartType = searchType[0].type;\r\n this.chartType = searchType[0].type;\r\n }\r\n }, 2000);\r\n }\r\n \r\n }\r\n )\r\n\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n }, 1000);\r\n }\r\n\r\n manageDataToDisplay() {\r\n this.chartType = this.model.chartType;\r\n }\r\n\r\n setupChartData() {\r\n this.chartData = [];\r\n var yearlyProjects = this.reportDataList.yearlyProjectsList;\r\n this.chartLabels = yearlyProjects.map(y => y.year);\r\n var actualDisbursements = yearlyProjects.map(y => y.totalActualDisbursements);\r\n var plannedDisbursements = yearlyProjects.map(y => y.totalPlannedDisbursements);\r\n\r\n this.chartData.push({\r\n data: actualDisbursements,\r\n label: 'Actual disbursements',\r\n stack: 'a'\r\n });\r\n\r\n this.chartData.push({\r\n data: plannedDisbursements,\r\n label: 'Planned disbursements',\r\n stack: 'a'\r\n });\r\n }\r\n\r\n resetSearchResults() {\r\n this.chartData = [];\r\n this.chartLabels = [];\r\n this.reportDataList = [];\r\n }\r\n\r\n formatFunders(funders: any = null) {\r\n var fundersStr = '';\r\n if (funders && funders.length > 0) {\r\n var funderNames = funders.map(f => f.funder);\r\n fundersStr = funderNames.join(', ');\r\n }\r\n return fundersStr;\r\n }\r\n\r\n formatImplementers(implementers: any = null) {\r\n var implementersStr = '';\r\n if (implementers && implementers.length > 0) {\r\n var implementerNames = implementers.map(i => i.implementer);\r\n implementersStr = implementerNames.join(', ');\r\n }\r\n return implementersStr;\r\n }\r\n\r\n loadFinancialYears() {\r\n this.fyService.getYearsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.yearsList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n generatePDF() {\r\n this.blockUI.start('Generating PDF...');\r\n setTimeout(() => {\r\n var result = Promise.resolve(this.reportService.generatePDF('rpt-timetrend-pdf-view'));\r\n result.then(() => {\r\n this.blockUI.stop();\r\n });\r\n }, 500);\r\n }\r\n\r\n printReport() {\r\n this.storeService.printReport('rpt-time-trend-report', 'Time trend report', this.selectedCurrencyName);\r\n }\r\n\r\n public chartClicked(e: any): void {\r\n }\r\n\r\n public chartHovered(e: any): void {\r\n }\r\n\r\n displayHideRow(year) {\r\n if (this.reportDataList.yearlyProjectsList) {\r\n var yearList = this.reportDataList.yearlyProjectsList.filter(p => p.year == year);\r\n if (yearList.length > 0) {\r\n yearList[0].isDisplay = !yearList[0].isDisplay;\r\n }\r\n }\r\n }\r\n\r\n getSectorsList() {\r\n this.sectorService.getDefaultSectors().subscribe(\r\n data => {\r\n if (data) {\r\n var allSectorsList = data;\r\n this.allSectorsList = allSectorsList;\r\n var sectorsList = allSectorsList.filter(s => s.parentSector == null);\r\n this.sectorsList = sectorsList;\r\n var sectorIds = sectorsList.map(s => s.id);\r\n var subSectorsList = allSectorsList.filter(s => sectorIds.indexOf(s.parentSectorId) != -1);\r\n var subSectorIds = subSectorsList.map(s => s.id);\r\n this.subSectorIds = subSectorIds;\r\n var subSubSectors = allSectorsList.filter(s => subSectorIds.indexOf(s.parentSectorId) != -1);\r\n var subSubSectorIds = subSubSectors.map(s => s.id);\r\n this.subSubSectorIds = subSubSectorIds;\r\n\r\n if (this.subSubSectorIds.length > 0) {\r\n this.sectorLevels.push({\r\n id: 3,\r\n level: 'Sub-sub sectors'\r\n });\r\n this.sectorLevels.sort(s => s.id);\r\n }\r\n\r\n if (this.loadReport) {\r\n if (this.paramSectorIds.length > 0) {\r\n var sectorId = parseInt(this.paramSectorIds[0]);\r\n if (sectorIds.indexOf(sectorId) != -1) {\r\n this.model.sectorLevel = this.sectorLevelCodes.SECTORS;\r\n } else if (subSectorIds.indexOf(sectorId) != -1) {\r\n this.model.sectorLevel = this.sectorLevelCodes.SUB_SECTORS;\r\n } else if (subSubSectorIds.indexOf(sectorId) != -1) {\r\n this.model.sectorLevel = this.sectorLevelCodes.SUB_SUB_SECTORS;\r\n }\r\n\r\n this.manageSectorLevel();\r\n this.paramSectorIds.forEach(function (id) {\r\n var sector = allSectorsList.filter(s => s.id == id);\r\n if (sector.length > 0) {\r\n this.model.selectedSectors.push(sector[0]);\r\n }\r\n }.bind(this));\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n manageSectorLevel() {\r\n this.model.selectedSectors = [];\r\n if (this.model.sectorLevel) {\r\n var level = parseInt(this.model.sectorLevel);\r\n switch (level) {\r\n case this.sectorLevelCodes.SECTORS:\r\n this.sectorsList = this.allSectorsList.filter(s => s.parentSectorId == 0);\r\n break;\r\n\r\n case this.sectorLevelCodes.SUB_SECTORS:\r\n this.sectorsList = this.allSectorsList.filter(s => this.subSectorIds.indexOf(s.id) != -1);\r\n break;\r\n\r\n case this.sectorLevelCodes.SUB_SUB_SECTORS:\r\n this.sectorsList = this.allSectorsList.filter(s => this.subSubSectorIds.indexOf(s.id) != -1);\r\n break;\r\n\r\n case this.sectorLevelCodes.NO_SECTORS:\r\n this.sectorsList = [];\r\n break;\r\n\r\n default:\r\n this.sectorsList = this.allSectorsList.filter(s => s.parentSectorId == 0);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n\r\n getManualExchangeRateForToday() {\r\n var dated = this.storeService.getCurrentDateSQLFormat();\r\n var model = {\r\n dated: dated\r\n };\r\n this.currencyService.getAverageCurrencyForDate(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.exchangeRates = data;\r\n var nationalCurrencyRate = this.exchangeRates.filter(c => c.currency == this.nationalCurrencyName);\r\n if (nationalCurrencyRate.length > 0) {\r\n this.manualExRate = nationalCurrencyRate[0].rate;\r\n this.oldCurrencyRate = 1;\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n getLocationsList() {\r\n this.locationService.getLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.locationsList = data;\r\n this.getSubLocationsList();\r\n }\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n getSubLocationsList() {\r\n this.locationService.getSubLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.subLocationsList = data;\r\n this.filteredSubLocationsList = data;\r\n if (this.loadReport) {\r\n if (this.paramSubLocationIds.length > 0) {\r\n this.paramSubLocationIds.forEach(function (id) {\r\n var subLocation = this.subLocationsList.filter(s => s.id == id);\r\n if (subLocation.length > 0) {\r\n this.model.selectedSubLocations.push(subLocation[0]);\r\n }\r\n }.bind(this));\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n filterSubLocations() {\r\n this.model.filteredSubLocationsList = [];\r\n this.model.selectedSubLocations = [];\r\n if (this.model.locationId == 0) {\r\n this.filterSubLocations = this.subLocationsList;\r\n } else {\r\n this.filteredSubLocationsList = this.subLocationsList.filter(s => s.locationId == this.model.locationId);\r\n }\r\n }\r\n\r\n getOrganizationsList() {\r\n this.organizationService.getOrganizationsList().subscribe(\r\n data => {\r\n this.organizationsList = data;\r\n\r\n if (this.loadReport) {\r\n if (this.paramOrgIds.length > 0) {\r\n this.paramOrgIds.forEach(function (id) {\r\n var org = this.organizationsList.filter(o => o.id == id);\r\n if (org.length > 0) {\r\n this.model.selectedOrganizations.push(org[0]);\r\n }\r\n }.bind(this));\r\n }\r\n this.searchProjectsByCriteriaReport();\r\n }\r\n }\r\n );\r\n }\r\n\r\n onChangeStartingYear() {\r\n if (this.model.startingYear != 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n onChangeEndingYear() {\r\n if (this.model.endingYear != 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n onSectorSelect(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onSectorDeSelect(item: any) {\r\n this.manageResetDisplay();\r\n }\r\n\r\n onSectorSelectAll(items: any) {\r\n this.setFilter();\r\n }\r\n\r\n onSectorDeSelectAll(items: any) {\r\n this.model.selectedSectors = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n onProjectSelect(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onProjectDeSelect(item: any) {\r\n this.manageResetDisplay();\r\n }\r\n\r\n onProjectSelectAll(items: any) {\r\n this.setFilter();\r\n }\r\n\r\n onProjectDeSelectAll(items: any) {\r\n this.model.selectedProjects = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n onOrganizationSelect(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onOrganizationDeSelect(item: any) {\r\n this.manageResetDisplay();\r\n }\r\n\r\n onOrganizationSelectAll(items: any) {\r\n this.setFilter();\r\n }\r\n\r\n onOrganizationDeSelectAll(items: any) {\r\n this.model.selectedOrganizations = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n onSubLocationSelect(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onSubLocationDeSelect(item: any) {\r\n if (this.model.selectedLocations.length == 0) {\r\n this.manageResetDisplay();\r\n } \r\n }\r\n\r\n onSubLocationSelectAll(items: any) {\r\n this.setFilter();\r\n }\r\n\r\n onSubLocationDeSelectAll(items: any) {\r\n this.model.selectedLocations = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n changeLocation() {\r\n if (this.model.locationId != 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n this.filterSubLocations();\r\n }\r\n\r\n getGrandTotalFundingForYear() {\r\n var totalFunding = 0;\r\n if (this.reportDataList && this.reportDataList.yearlyProjectsList) {\r\n this.reportDataList.yearlyProjectsList.forEach(function (p) {\r\n totalFunding += p.totalFunding;\r\n });\r\n }\r\n return totalFunding;\r\n }\r\n\r\n getGrandTotalProjectValueForYear() {\r\n var projectValue = 0;\r\n if (this.reportDataList && this.reportDataList.yearlyProjectsList) {\r\n this.reportDataList.yearlyProjectsList.forEach(function (p) {\r\n projectValue += p.totalProjectValue;\r\n });\r\n }\r\n return projectValue;\r\n }\r\n\r\n getGrandTotalDisbursementForYear() {\r\n var totalDisbursement = 0;\r\n if (this.reportDataList && this.reportDataList.yearlyProjectsList) {\r\n this.reportDataList.yearlyProjectsList.forEach(function (p) {\r\n totalDisbursement += p.totalDisbursements;\r\n });\r\n }\r\n return totalDisbursement;\r\n }\r\n\r\n getGrandTotalPlannedDisbursementForYear() {\r\n var totalDisbursement = 0;\r\n if (this.reportDataList && this.reportDataList.yearlyProjectsList) {\r\n this.reportDataList.yearlyProjectsList.forEach(function (p) {\r\n totalDisbursement += p.totalPlannedDisbursements;\r\n });\r\n }\r\n return totalDisbursement;\r\n }\r\n\r\n convertAmountsToCurrency() {\r\n if (this.reportDataList && this.reportDataList.yearlyProjectsList) {\r\n this.reportDataList.yearlyProjectsList.forEach(function (p) {\r\n p.totalDisbursements = 0;\r\n });\r\n }\r\n }\r\n\r\n selectCurrency() {\r\n if (this.model.selectedCurrency == null || this.model.selectedCurrency == 'null') {\r\n return false;\r\n } else {\r\n var selectedCurrency = this.currenciesList.filter(c => c.currency == this.model.selectedCurrency);\r\n if (selectedCurrency.length > 0) {\r\n this.selectedCurrencyName = selectedCurrency[0].currencyName;\r\n }\r\n }\r\n if (this.model.selectedCurrency) {\r\n this.getCurrencyRates();\r\n }\r\n }\r\n\r\n getCurrencyRates() {\r\n var exRate: number = 0;\r\n var calculatedRate = 0;\r\n if (this.manualExRate == 0) {\r\n this.errorMessage = Messages.EX_RATE_NOT_FOUND;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.model.selectedCurrency == this.defaultCurrency) {\r\n exRate = 1;\r\n } else {\r\n exRate = this.manualExRate;\r\n }\r\n\r\n calculatedRate = (exRate / this.oldCurrencyRate);\r\n this.oldCurrencyRate = exRate;\r\n this.oldCurrency = this.model.selectedCurrency;\r\n\r\n if (calculatedRate > 0 && calculatedRate != 1) {\r\n this.applyRateOnFinancials(calculatedRate);\r\n }\r\n }\r\n\r\n applyRateOnFinancials(calculatedRate: number) {\r\n if (this.reportDataList && this.reportDataList.yearlyProjectsList) {\r\n this.reportDataList.yearlyProjectsList.forEach(function (year) {\r\n year.totalFunding = Math.round(parseFloat(((year.totalFunding * calculatedRate).toFixed(2))));\r\n year.totalDisbursements = Math.round(parseFloat(((year.totalDisbursements * calculatedRate).toFixed(2))));\r\n year.totalActualDisbursements = Math.round(parseFloat(((year.totalActualDisbursements * calculatedRate).toFixed(2))));\r\n year.totalPlannedDisbursements = Math.round(parseFloat(((year.totalPlannedDisbursements * calculatedRate).toFixed(2))));\r\n\r\n if (year.projects && year.projects.length > 0) {\r\n year.projects.forEach(function (project) {\r\n project.projectCost = Math.round(parseFloat(((project.projectCost * calculatedRate).toFixed(2))));\r\n project.actualDisbursements = Math.round(parseFloat(((project.actualDisbursements * calculatedRate).toFixed(2))));\r\n project.plannedDisbursements = Math.round(parseFloat(((project.plannedDisbursements * calculatedRate).toFixed(2))));\r\n });\r\n }\r\n });\r\n\r\n this.getGrandTotalFundingForYear();\r\n this.getGrandTotalDisbursementForYear();\r\n \r\n this.showChart = false;\r\n setTimeout(() => {\r\n this.showChart = true;\r\n }, 1000);\r\n }\r\n }\r\n\r\n setExcelFile() {\r\n if (this.excelFile) {\r\n this.excelFile = this.urlService.getExcelFilesUrl() + this.excelFile;\r\n }\r\n }\r\n\r\n manageResetDisplay() {\r\n if (this.model.selectedProjects.length == 0 && this.model.startingYear == 0 &&\r\n this.model.endingYear == 0 && this.model.selectedSectors.length == 0 && \r\n this.model.selectedOrganizations.length == 0 && \r\n this.model.selectedCurrency == this.defaultCurrency) {\r\n this.isAnyFilterSet = false;\r\n } else {\r\n this.isAnyFilterSet = true;\r\n }\r\n }\r\n\r\n setFilter() {\r\n this.isAnyFilterSet = true;\r\n }\r\n\r\n resetFilters() {\r\n this.model.selectedProjects = [];\r\n this.model.startingYear = 0;\r\n this.model.endingYear = 0;\r\n this.model.parentSectorId = 0;\r\n this.model.selectedSectors = [];\r\n this.model.selectedOrganizations = [];\r\n this.model.selectedSubLocations = [];\r\n this.model.subLocationsList = [];\r\n this.filteredSubLocationsList = this.subLocationsList;\r\n this.model.locationId = 0;\r\n this.isAnyFilterSet = false;\r\n }\r\n\r\n formatNumber(value: number) {\r\n return this.storeService.getNumberWithCommas(value);\r\n }\r\n\r\n getTodaysDate() {\r\n return this.storeService.getLongDateAndTime();\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Period from: \r\n \r\n \r\n   \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n  \r\n 0 && model.selectedCurrency == nationalCurrencyName\" class=\"text-warning\">\r\n Exchange rate: 1 {{defaultCurrency}} = {{manualExRate}} {{nationalCurrencyName}} on\r\n {{datedToday}}\r\n \r\n \r\n No exchange rate available, contact Administrator.\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n Download\r\n spreadsheet\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Default currency is not set and it may produce errors on reports.\r\n Please contact administrator.\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n  Setting up report...\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
{{reportDataList.reportSettings.title}} (Currency: {{this.selectedCurrencyName}})
\r\n
\r\n
0 && showChart\" class=\"col-md-12\">\r\n\r\n
0\"\r\n class=\"col-md-12 margin-top-10\">\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Project/s for yearFundersImplementersActual disbursementsPlanned disbursements
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n   {{yearProject.year}}\r\n \r\n {{formatNumber(yearProject.totalActualDisbursements)}}\r\n \r\n {{formatNumber(yearProject.totalPlannedDisbursements)}}\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{project.title}}{{project.funders}}{{project.implementers}}\r\n {{formatNumber(project.actualDisbursements)}}
\r\n
\r\n {{formatNumber(project.plannedDisbursements)}}\r\n
\r\n No projects found\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
   \r\n \r\n  \r\n \r\n \r\n \r\n \r\n \r\n Total: {{formatNumber(getGrandTotalDisbursementForYear())}}\r\n \r\n \r\n \r\n \r\n \r\n Total: {{formatNumber(getGrandTotalPlannedDisbursementForYear())}}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n Generated on: {{getTodaysDate()}}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ContactService } from '../services/contact.service';\r\n\r\n@Component({\r\n selector: 'app-contact-messages',\r\n templateUrl: './contact-messages.component.html',\r\n styleUrls: ['./contact-messages.component.css']\r\n})\r\nexport class ContactMessagesComponent implements OnInit {\r\n\r\n isLoading: boolean = true;\r\n contactMessages: any = [];\r\n infoMessage: string = null;\r\n errorMessage: string = null;\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n \r\n constructor(private contactService: ContactService) { }\r\n\r\n ngOnInit(): void {\r\n this.getContactMessages();\r\n }\r\n\r\n getContactMessages() {\r\n this.contactService.getPendingContactMessages().subscribe(\r\n data => {\r\n if (data) {\r\n this.contactMessages = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n approveMessage(id: number) {\r\n if (id) {\r\n this.blockUI.start('Wait approving...');\r\n \r\n this.contactService.approveContactMessage(id).subscribe(\r\n data => {\r\n if (data) {\r\n this.contactMessages = this.contactMessages.filter(m => m.id != id);\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n delete(id: number) {\r\n if (id) {\r\n this.blockUI.start('Wait approving...');\r\n this.contactService.deleteContactMessage(id.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.contactMessages = this.contactMessages.filter(m => m.id != id);\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n  Loading...\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{i + 1}}\r\n \r\n \r\n Subject: {{message.subject}}
\r\n Message: {{message.message}}
\r\n
\r\n \r\n Sender name: {{message.senderName}}
\r\n Sener email: {{message.senderEmail}}
\r\n
\r\n \r\n Project: {{message.projectTitle}}\r\n \r\n
\r\n \r\n \r\n  \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n No contact messages to show\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
Information Message
\r\n
\r\n {{infoMessage}}\r\n
\r\n

\r\n
\r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { OrganizationTypeService } from '../services/organization-type.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\n\r\n@Component({\r\n selector: 'app-manage-organization-type',\r\n templateUrl: './manage-organization-type.component.html',\r\n styleUrls: ['./manage-organization-type.component.css']\r\n})\r\nexport class ManageOrganizationTypeComponent implements OnInit {\r\n @Input()\r\n isForEdit: boolean = false;\r\n permissions: any = {};\r\n isBtnDisabled: boolean = false;\r\n orgId: number = 0;\r\n btnText: string = 'Add organization type';\r\n errorMessage: string = '';\r\n organizationTypes: any = [];\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n iatiOrganizations: any = [];\r\n filteredIATIOrganizations: any = [];\r\n model = { id: 0, typeName: '' };\r\n\r\n constructor(private organizationService: OrganizationTypeService, private route: ActivatedRoute,\r\n private router: Router,\r\n private storeService: StoreService,\r\n private securityService: SecurityHelperService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditOrganization) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n if (this.route.snapshot.data && this.route.snapshot.data.isForEdit) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Edit organization type';\r\n this.isForEdit = true;\r\n this.orgId = id;\r\n this.getOrganizationTypeData();\r\n }\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n getOrganizationTypeData() {\r\n if (this.orgId) {\r\n this.organizationService.getOrganizationType(this.orgId.toString()).subscribe(\r\n data => {\r\n this.model.typeName = data.typeName;\r\n }\r\n );\r\n }\r\n }\r\n \r\n saveOrganizationType() {\r\n var model = {\r\n typeName: this.model.typeName,\r\n };\r\n\r\n this.isBtnDisabled = true;\r\n if (this.isForEdit) {\r\n this.btnText = 'Updating...';\r\n this.organizationService.updateOrganizationType(this.orgId, model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n this.router.navigateByUrl('organization-types');\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.isError = true;\r\n this.errorMessage = error;\r\n this.resetFormState();\r\n }\r\n );\r\n } else {\r\n this.btnText = 'Saving...';\r\n this.organizationService.addOrganizationType(model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n this.router.navigateByUrl('organization-types');\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.resetFormState();\r\n }\r\n );\r\n }\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n if (this.isForEdit) {\r\n this.btnText = 'Edit organization type';\r\n } else {\r\n this.btnText = 'Add organization type';\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Organization
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Organization type name is required\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { Settings } from '../config/settings';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { DocumentLinkService } from '../services/document-link.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { StoreService } from '../services/store-service';\r\n\r\n@Component({\r\n selector: 'app-document-link',\r\n templateUrl: './document-link.component.html',\r\n styleUrls: ['./document-link.component.css']\r\n})\r\nexport class DocumentLinkComponent implements OnInit {\r\n links: any = [];\r\n filteredLinks: any = [];\r\n isLoading: boolean = true;\r\n permissions: any = {};\r\n criteria: string = null;\r\n isError: boolean = false;\r\n errorMessage: string = null;\r\n requestNo: number = 0;\r\n pagingSize: number = Settings.rowsPerPage;\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private documentService: DocumentLinkService,\r\n private securityService: SecurityHelperService,\r\n private router: Router,\r\n private storeService: StoreService,\r\n private errorModal: ErrorModalComponent) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditOrganization) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.getLinks();\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n }\r\n\r\n getLinks() {\r\n this.documentService.getDocumentLinks().subscribe(\r\n data => {\r\n if (data) {\r\n this.links = data;\r\n this.filteredLinks = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n searchLinks() {\r\n if (!this.criteria) {\r\n this.filteredLinks = this.links;\r\n }\r\n else {\r\n var criteria = this.criteria.toLowerCase();\r\n this.filteredLinks = this.links.filter(d => (d.title.toLowerCase().indexOf(criteria) != -1));\r\n }\r\n }\r\n\r\n deleteLink(id: number) {\r\n if (id) {\r\n this.blockUI.start('Deleting link...');\r\n this.documentService.deleteDocumentLink(id.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.links = this.links.filter(l => l.id != id);\r\n this.filteredLinks = this.filteredLinks.filter(l => l.id != id);\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n formatDateUKStyle(dated: any) {\r\n var validDate = Date.parse(dated);\r\n if (isNaN(validDate)) {\r\n return 'Invalid date';\r\n }\r\n var datesArr = dated.split('/');\r\n return this.storeService.formatDateInUkStyle(parseInt(datesArr[2]), parseInt(datesArr[0]), parseInt(datesArr[1]));\r\n }\r\n\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n\r\n
\r\n
0\" class=\"margin-top-10\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TitleLinkDate postedActions
{{link.title}}{{link.url}}{{formatDateUKStyle(link.datePosted)}}\r\n \r\n
\r\n \r\n
\r\n
\r\n No links to show\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContactService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) {\r\n\r\n }\r\n\r\n sendContactEmail(model: any) {\r\n var url = this.urlHelper.getContactUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Contact Email Request'))\r\n );\r\n }\r\n\r\n sendProjectContactEmail(model: any) {\r\n var url = this.urlHelper.getProjectContactUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Contact Email')));\r\n }\r\n\r\n getPendingContactMessages() {\r\n var url = this.urlHelper.getContactMessageUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Contact Messages')));\r\n }\r\n\r\n sendContactMessage(model: any) {\r\n var url = this.urlHelper.getContactMessageUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Contact Message')));\r\n }\r\n\r\n approveContactMessage(id: number) {\r\n var url = this.urlHelper.getApproveContactMessageUrl() + '/' + id.toString();\r\n return this.httpClient.post(url, null, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Contact Message')));\r\n }\r\n\r\n deleteContactMessage(id: string) {\r\n var url = this.urlHelper.getContactMessageUrl() + '/' + id;\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Contact Message')));\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { ReportService } from '../services/report.service';\r\nimport { UserService } from '../services/user-service';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { Messages } from '../config/messages';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { NgBlockUI, BlockUI } from 'ng-block-ui';\r\n\r\n@Component({\r\n selector: 'app-user-subscription',\r\n templateUrl: './user-subscription.component.html',\r\n styleUrls: ['./user-subscription.component.css']\r\n})\r\nexport class UserSubscriptionComponent implements OnInit {\r\n reportNames: any = [];\r\n userSubscriptions: any = [];\r\n reportsList: any = [];\r\n successMessage: string = '';\r\n errorMessage: string = '';\r\n requestNo: number = 0;\r\n isLoading: boolean = true;\r\n\r\n constructor(private reportService: ReportService, private userService: UserService,\r\n private infoModal: InfoModalComponent, private storeService: StoreService,\r\n private errorModal: ErrorModalComponent) { }\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n ngOnInit() {\r\n this.getReportNames();\r\n this.getUserSubscriptions();\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n }\r\n\r\n getReportNames() {\r\n this.reportService.getReportNames().subscribe(\r\n data => {\r\n if (data) {\r\n this.reportNames = data;\r\n }\r\n }\r\n )\r\n }\r\n\r\n checkIfReportSubscribedTo(id) {\r\n if (this.userSubscriptions.length == 0)\r\n return false;\r\n return this.reportsList.indexOf(id) != -1 ? true : false;\r\n }\r\n\r\n getUserSubscriptions() {\r\n this.userService.getUserSubscriptions().subscribe(\r\n data => {\r\n if (data) {\r\n this.userSubscriptions = data;\r\n this.reportsList = this.userSubscriptions.map(u => u.reportId);\r\n console.log(this.reportsList);\r\n }\r\n this.isLoading = false;\r\n }\r\n )\r\n }\r\n\r\n manageSubscription(e) {\r\n var id = e.target.value;\r\n\r\n if (e.target.checked) {\r\n if (this.reportsList.indexOf(id) == -1) {\r\n this.reportsList.push(id);\r\n }\r\n } else {\r\n var index = this.reportsList.indexOf(id);\r\n this.reportsList.splice(index, 1);\r\n }\r\n console.log(this.reportsList);\r\n }\r\n\r\n saveSubscriptions() {\r\n var model = {\r\n reportIds: this.reportsList\r\n }\r\n\r\n this.blockUI.start('Saving subscriptions...');\r\n this.userService.saveReportSubscriptions(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.successMessage = 'Report subscriptions ' + Messages.SAVED_SUCCESSFULLY;\r\n this.infoModal.openModal();\r\n }\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n  {{report.title}}\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'contact-emails',\r\n templateUrl: './contact-emails.component.html',\r\n styleUrls: ['./contact-emails.component.css']\r\n})\r\nexport class ContactEmailsComponent implements OnInit {\r\n\r\n @Input()\r\n emails: any = [];\r\n\r\n @Input()\r\n userEmail: string = null;\r\n\r\n @Output()\r\n showUsers = new EventEmitter();\r\n\r\n emailStr: string = null;\r\n emailCopied: boolean = false;\r\n emailsCopied: boolean = false;\r\n\r\n @ViewChild('txtEmails') txtEmails: ElementRef;\r\n @ViewChild('txtEmailFrom') txtEmailFrom: ElementRef;\r\n constructor() { \r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n copyEmailFrom() {\r\n this.txtEmailFrom.nativeElement.select();\r\n document.execCommand(\"copy\");\r\n this.txtEmailFrom.nativeElement.setSelectionRange(0, 0);\r\n this.emailCopied = true;\r\n setTimeout(() => {\r\n this.emailCopied = false;\r\n }, 3000);\r\n }\r\n\r\n copyEmails() {\r\n this.txtEmails.nativeElement.select();\r\n document.execCommand(\"copy\");\r\n this.txtEmails.nativeElement.setSelectionRange(0, 0);\r\n this.emailsCopied = true;\r\n setTimeout(() => {\r\n this.emailsCopied = false;\r\n }, 3000);\r\n }\r\n\r\n ngOnChanges() {\r\n this.generateEmailString();\r\n }\r\n\r\n generateEmailString() {\r\n this.emailStr = this.emails.join(',');\r\n }\r\n\r\n showUsersManager() {\r\n this.showUsers.emit(true);\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n  \r\n Email copied\r\n
\r\n
\r\n \r\n
\r\n  \r\n Emails copied\r\n
\r\n
\r\n
\r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FundingTypeService } from '../services/funding-type.service';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Messages } from '../config/messages';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-manage-funding-type',\r\n templateUrl: './manage-funding-type.component.html',\r\n styleUrls: ['./manage-funding-type.component.css']\r\n})\r\nexport class ManageFundingTypeComponent implements OnInit {\r\n id: number = 0;\r\n isForEdit: boolean = false;\r\n btnText: string = 'Save funding type';\r\n model: any = { fundingType: null };\r\n isBtnDisabled: boolean = false;\r\n requestNo: number = 0;\r\n errorMessage: string = null;\r\n isError: boolean = false;\r\n permissions: any = {};\r\n\r\n constructor(private route: ActivatedRoute, private fundingTypeService: FundingTypeService,\r\n private storeService: StoreService, private router: Router, private securityService: SecurityHelperService) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditFundingType) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n if (this.route.snapshot.data && this.route.snapshot.data.isForEdit) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Edit funding type';\r\n this.isForEdit = true;\r\n this.id = id;\r\n this.getFundingType();\r\n }\r\n }\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n getFundingType() {\r\n this.fundingTypeService.getFundingType(this.id.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.model.fundingType = data.fundingType\r\n }\r\n }\r\n );\r\n }\r\n\r\n saveFundingType() {\r\n var model = {\r\n fundingType: this.model.fundingType,\r\n };\r\n\r\n this.isBtnDisabled = true;\r\n if (this.isForEdit) {\r\n this.btnText = 'Updating...';\r\n this.fundingTypeService.updateFundingType(this.id, model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('funding-types');\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.isError = true;\r\n this.errorMessage = error;\r\n this.resetFormState();\r\n }\r\n );\r\n } else {\r\n this.btnText = 'Saving...';\r\n this.fundingTypeService.addFundingType(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('funding-types');\r\n } \r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n }\r\n );\r\n }\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n if (this.isForEdit) {\r\n this.btnText = 'Edit funding type';\r\n } else {\r\n this.btnText = 'Add funding type';\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Funding type
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Funding type is required\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { StoreService } from '../services/store-service';\r\nimport { IATIService } from '../services/iati.service';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Messages } from '../config/messages';\r\nimport { Router } from '@angular/router';\r\nimport { SectorService } from '../services/sector.service';\r\nimport { Sector } from '../models/sector-model';\r\nimport { Location } from '../models/location-model';\r\nimport { FormControl, FormGroup, FormBuilder } from '@angular/forms';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { ProjectInfoModalComponent } from '../project-info-modal/project-info-modal.component';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { LocationService } from '../services/location.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { OrganizationService } from '../services/organization-service';\r\nimport { ProjectiInfoModalComponent } from '../projecti-info-modal/projecti-info-modal.component';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { CurrencyService } from '../services/currency.service';\r\nimport { Organization } from '../models/organization-model';\r\nimport { Observable } from 'rxjs';\r\nimport { startWith, map } from 'rxjs/operators';\r\nimport { MarkerService } from '../services/marker.service';\r\nimport { Settings } from '../config/settings';\r\nimport { FundingTypeService } from '../services/funding-type.service';\r\nimport { SectorTypeService } from '../services/sector-types.service';\r\n\r\n@Component({\r\n selector: 'app-project-entry',\r\n templateUrl: './project-entry.component.html',\r\n styleUrls: ['./project-entry.component.css']\r\n})\r\n\r\nexport class ProjectEntryComponent implements OnInit {\r\n isExRateAutoConvert = false;\r\n filteredOrganizations: Observable;\r\n filteredImplementers: Observable;\r\n filteredSectors: Observable;\r\n activeProjectId: number = 0;\r\n selectedSectorId: number = 0;\r\n selectedFunderId: number = 0;\r\n selectedImplementerId: number = 0;\r\n selectedLocationId: number = 0;\r\n selectedParentSectorId: number = 0;\r\n sectorTotalPercentage: number = 0;\r\n locationTotalPercentage: number = 0;\r\n primarySectorTypeId: number = 0;\r\n aimsProjectId: number = 0;\r\n totalFunds: number = 0;\r\n mappingsCount: number = 0;\r\n totalDisbursements: number = 0;\r\n btnProjectText: string = 'Save Project';\r\n btnProjectSectorText: string = 'Add Sector';\r\n btnProjectLocationText: string = 'Add Location';\r\n btnProjectDocumentText: string = 'Add Document';\r\n btnProjectFunderText: string = 'Add Funder';\r\n btnProjectImplementerText: string = 'Add Implementer';\r\n sectorPlaceHolder: string = 'Enter/Select Sector';\r\n locationPlaceHolder: string = 'Enter/Select Location';\r\n exRatePlaceHolder: string = 'Exchange rate';\r\n isProjectBtnDisabled: boolean = false;\r\n isProjectBtnSectorDisabled: boolean = false;\r\n isProjectLocationBtnDisabled: boolean = false;\r\n isProjectDocumentBtnDisabled: boolean = false;\r\n isProjectFunderBtnDisabled: boolean = false;\r\n isProjectImplementerBtnDisabled: boolean = false;\r\n isSectorVisible: boolean = false;\r\n isAimsLoading: boolean = false;\r\n isIatiLoading: boolean = false;\r\n isFundingExRateReadonly: boolean = true;\r\n isDisbursementExRateReadonly: boolean = true;\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n infoMessage: string = '';\r\n showMessage: boolean = false;\r\n isForEdit: boolean = false;\r\n showMappingManual: boolean = false;\r\n showMappingAuto: boolean = false;\r\n enableFundingCurrency: boolean = false;\r\n enableDisbursementCurrency: boolean = false;\r\n isSectorTypeDisabled: boolean = false;\r\n isShowSources: boolean = true;\r\n manualExRateLabel: string = null;\r\n errorMessage: string = '';\r\n startDateModel: NgbDateStruct;\r\n currentTab: string = 'project';\r\n sectorSelectionForm: FormGroup;\r\n sectorInput = new FormControl();\r\n locationSelectionForm: FormGroup;\r\n funderForm: FormGroup;\r\n implementerForm: FormGroup;\r\n locationInput = new FormControl();\r\n parentSectorInput = new FormControl();\r\n funderInput = new FormControl();\r\n implementerInput = new FormControl();\r\n sectorEntryType: string = 'aims';\r\n locationEntryType: string = 'aims';\r\n documentEntryType: string = 'aims';\r\n funderEntryType: string = 'aims';\r\n implementerEntryType: string = 'aims';\r\n disbursementEntryType: string = 'aims';\r\n defaultCurrency: string = null;\r\n defaultSectorType: string = null;\r\n defaultSectorTypeId: number = 0;\r\n defaultCurrencyRate: number = 0;\r\n nationalCurrency: string = null;\r\n viewProject: any = {};\r\n currentEntryForm: any = null;\r\n calendarMaxDate: any = {};\r\n isEditProjectAllowed: boolean = false;\r\n isFocusExRate: boolean = false;\r\n isShowContact: boolean = false;\r\n descriptionLimit: number = Settings.descriptionLongLimit;\r\n descriptionLimitLeft: number = Settings.descriptionLongLimit;\r\n\r\n userProjectIds: any = [];\r\n userApprovedProjects: any[];\r\n permissions: any = [];\r\n selectedProjects: any = [];\r\n selectedProjectSectors: any = [];\r\n iatiProjects: any = [];\r\n aimsProjects: any = [];\r\n currencyList: any = [];\r\n filteredCurrencyList: any = [];\r\n sectorTypesList: any = [];\r\n typeSectorsList: any = [];\r\n sectorsList: any = [];\r\n locationsList: any = [];\r\n sectorTypes: any = [];\r\n mappedSectorsList: any = [];\r\n organizationsList: any = [];\r\n markersList: any = [];\r\n fundingTypesList: any = [];\r\n currentProjectSectorsList: any = [];\r\n currentProjectLocationsList: any = [];\r\n currentProjectDocumentsList: any = [];\r\n currentProjectFundersList: any = [];\r\n currentProjectImplementersList: any = [];\r\n currentProjectDisbursementsList: any = [];\r\n currentProjectFieldsList: any = [];\r\n currentSelectedFieldValues: any = [];\r\n todaysExchangeRates: any = [];\r\n exchangeRatesList: any = [];\r\n selectedProjectFields: any = [];\r\n userMembershipProjects: any = [];\r\n\r\n viewProjectLocations: any = [];\r\n viewProjectSectors: any = [];\r\n viewProjectDocuments: any = [];\r\n viewProjectFunders: any = [];\r\n viewProjectImplementers: any = [];\r\n viewProjectDisbursements: any = [];\r\n viewProjectFields: any = [];\r\n yearsList: any = [];\r\n endingYearsList: any = [];\r\n sectorMappings: any = [];\r\n defaultSectorsList: any = [];\r\n filteredExRateSources: any = [];\r\n fieldTypes: any = Settings.markerTypes;\r\n yearLowerLimit: number = 0;\r\n yearUpperLimit: number = 0;\r\n yearSpan = Settings.yearLimit;\r\n calendarYearsList = [];\r\n\r\n monthsList: any = [\r\n { key: 'January', value: 1 },\r\n { key: 'February', value: 2 },\r\n { key: 'March', value: 3 },\r\n { key: 'April', value: 4 },\r\n { key: 'May', value: 5 },\r\n { key: 'June', value: 6 },\r\n { key: 'July', value: 7 },\r\n { key: 'August', value: 8 },\r\n { key: 'September', value: 9 },\r\n { key: 'October', value: 10 },\r\n { key: 'November', value: 11 },\r\n { key: 'December', value: 12 }\r\n ];\r\n\r\n fieldType: any = {\r\n 1: 'Dropdown',\r\n 2: 'Checkbox',\r\n 3: 'Text',\r\n 4: 'Radio'\r\n };\r\n\r\n conditionsForMarkers: any = {\r\n GRANT_LAON: 'Loan',\r\n HEALTH_SECTOR: 'Health'\r\n }\r\n\r\n financeType: any = {\r\n 1: 'Funding',\r\n 2: 'Disbursement'\r\n }\r\n\r\n fieldTypeConstants: any = {\r\n 'Dropdown': 1,\r\n 'Checkbox': 2,\r\n 'Text': 3,\r\n 'Radio': 4\r\n }\r\n\r\n exRateSources: any = [\r\n { id: 1, value: 'Open exchange api' },\r\n ];\r\n\r\n exRateSourceCodes: any = {\r\n 'OPEN_EXCHANGE': 1,\r\n 'CENTRAL_BANK': 2,\r\n 'MANUAL': 3\r\n };\r\n\r\n exRateFor: any = {\r\n 'FUNDING': 1,\r\n 'DISBURSEMENT': 2\r\n }\r\n\r\n model = { id: 0, title: '', startDate: null, endDate: null, description: null };\r\n sectorModel = { projectId: 0, sectorTypeId: null, sectorId: null, mappingId: null, sectorObj: null, sectorName: '', parentId: 0, fundsPercentage: 0.0 };\r\n locationModel = { projectId: 0, locationId: null, latitude: 0.0, longitude: 0.0, location: '', fundsPercentage: 0 };\r\n documentModel = { id: 0, projectId: 0, documentTitle: null, documentUrl: null };\r\n funderModel = {\r\n id: 0, projectId: 0, funder: null, dated: null, exRateSource: null,\r\n fundingTypeId: null, funderId: null, amount: 0, currency: null, exchangeRate: 0,\r\n amountInDefaultCurrency: 0, exRateDated: null\r\n };\r\n implementerModel = { id: 0, projectId: 0, implementer: null, implementerId: null };\r\n disbursementModel = {\r\n id: 0, projectId: 0, dated: null, formattedDate: null, amount: 0.0, currency: null,\r\n exchangeRate: 0, exRateSource: null, amountInDefaultCurrency: 0, exRateDated: null\r\n };\r\n fieldModel = { projectId: 0, fieldId: 0, values: [], dropdownId: null, newText: null };\r\n\r\n displayTabs: any = [\r\n { visible: true, identity: 'project' },\r\n { visible: false, identity: 'sector' },\r\n { visible: false, identity: 'location' },\r\n { visible: false, identity: 'document' },\r\n { visible: false, identity: 'funder' },\r\n { visible: false, identity: 'implementer' },\r\n { visible: false, identity: 'disbursement' },\r\n { visible: false, identity: 'markers' },\r\n { visible: false, identity: 'finish' }\r\n ];\r\n\r\n //Overlay UI blocker\r\n @BlockUI() blockUI: NgBlockUI;\r\n @ViewChild(\"funderExchangeRate\") funderExRate: ElementRef;\r\n @ViewChild(\"disbursementExchangeRate\") disbursementExRate: ElementRef;\r\n\r\n constructor(private storeService: StoreService, private iatiService: IATIService,\r\n private projectService: ProjectService, private sectorService: SectorService,\r\n private router: Router, private fb: FormBuilder, private infoModal: InfoModalComponent,\r\n private locationService: LocationService, private securityService: SecurityHelperService,\r\n private organizationService: OrganizationService,\r\n private projectInfoModal: ProjectInfoModalComponent,\r\n private projectIATIInfoModal: ProjectiInfoModalComponent,\r\n private errorModal: ErrorModalComponent,\r\n private currencyService: CurrencyService,\r\n private markerService: MarkerService,\r\n private fundingTypeService: FundingTypeService,\r\n private sectorTypeService: SectorTypeService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditProject) {\r\n this.router.navigateByUrl('projects');\r\n }\r\n\r\n this.calendarMaxDate = this.storeService.getCalendarUpperLimit();\r\n this.requestNo = this.storeService.getCurrentRequestId();\r\n var projectId = localStorage.getItem('active-project');\r\n\r\n if (projectId && projectId != '0') {\r\n this.blockUI.start('Loading project data...');\r\n this.isForEdit = true;\r\n this.activeProjectId = parseInt(projectId);\r\n this.model.id = this.activeProjectId;\r\n this.btnProjectText = 'Edit Project';\r\n this.loadUserProjects(this.activeProjectId);\r\n }\r\n\r\n this.sectorSelectionForm = this.fb.group({\r\n sectorInput: null,\r\n parentSectorInput: null\r\n });\r\n\r\n this.funderForm = this.fb.group({\r\n funderInput: null,\r\n });\r\n\r\n this.implementerForm = this.fb.group({\r\n implementerInput: null,\r\n });\r\n\r\n this.locationSelectionForm = this.fb.group({\r\n locationInput: null,\r\n });\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n var projects = localStorage.getItem('selected-projects');\r\n if (projects) {\r\n var parsedProjects = JSON.parse(projects);\r\n this.selectedProjects = parsedProjects;\r\n\r\n if (this.selectedProjects.length > 0) {\r\n //Load iati projects\r\n var filteredIATI = this.selectedProjects.filter(function (project) {\r\n return project.type == 'IATI';\r\n });\r\n\r\n var iatiIdsArr = [];\r\n filteredIATI.forEach(function (project) {\r\n var obj = { identifier: project.identifier };\r\n iatiIdsArr.push(obj);\r\n }.bind(this));\r\n this.loadIATIProjectsForIds(iatiIdsArr);\r\n\r\n //Load aims projects\r\n var filteredAIMS = this.selectedProjects.filter(function (project) {\r\n return project.type == 'AIMS';\r\n });\r\n var aimsIdsArr = [];\r\n filteredAIMS.forEach(function (project) {\r\n var id = project.identifier;\r\n aimsIdsArr.push(id);\r\n });\r\n this.loadAIMSProjectsForIds(aimsIdsArr);\r\n } else {\r\n this.isShowSources = false;\r\n }\r\n }\r\n\r\n this.currencyService.getCurrenciesList().subscribe(\r\n data => {\r\n this.currencyList = data;\r\n }\r\n );\r\n\r\n var currentDate = new Date();\r\n var currentYear = currentDate.getFullYear();\r\n var lowerLimit = currentYear - 20;\r\n var upperLimit = currentYear + 10;\r\n this.yearLowerLimit = currentYear - this.yearSpan;\r\n this.yearUpperLimit = currentYear + this.yearSpan;\r\n\r\n for (var y = currentYear; y >= lowerLimit; y--) {\r\n this.yearsList.push(y);\r\n }\r\n\r\n for(var yr = this.yearLowerLimit; yr <= this.yearUpperLimit; yr++) {\r\n this.calendarYearsList.push({\r\n id: yr,\r\n value: yr\r\n });\r\n }\r\n\r\n lowerLimit = currentYear - 5;\r\n for (var y = lowerLimit; y <= upperLimit; y++) {\r\n this.endingYearsList.push(y);\r\n }\r\n\r\n this.loadSectorTypes();\r\n this.loadSectorsList();\r\n this.loadLocationsList();\r\n this.loadOrganizationsList();\r\n this.loadDefaultCurrency();\r\n this.loadDefaultSectorType();\r\n this.loadNationalCurrency();\r\n this.loadActiveMarkers();\r\n this.loadFundingTypes();\r\n this.getExRateSettings();\r\n }\r\n\r\n checkIfUserCanEditProject() {\r\n if (this.currentProjectFundersList.length > 0) {\r\n var userOrganizationId = this.securityService.getUserOrganizationId();\r\n if (userOrganizationId) {\r\n var isFunder = this.currentProjectFundersList.filter(f => f.id == userOrganizationId);\r\n if (isFunder.length > 0) {\r\n return true;\r\n }\r\n var isImplementer = this.currentProjectImplementersList.filter(i => i.id == userOrganizationId);\r\n if (isImplementer.length > 0) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n loadIATIProjectsForIds(modelArr: any) {\r\n this.isIatiLoading = true;\r\n this.iatiService.extractProjectsByIds(modelArr).subscribe(\r\n data => {\r\n if (data) {\r\n this.iatiProjects = data;\r\n if (this.iatiProjects.length > 0) {\r\n this.iatiProjects.forEach(function (project) {\r\n project.isFunderVisible = true;\r\n project.isImplementerVisible = true;\r\n project.isBudgetVisible = false;\r\n project.isTransactionVisible = false;\r\n });\r\n }\r\n this.isIatiLoading = false;\r\n }\r\n },\r\n error => {\r\n this.isIatiLoading = false;\r\n }\r\n );\r\n }\r\n\r\n loadUserApprovedProjects() {\r\n this.projectService.getUserMembershipProjects().subscribe(\r\n data => {\r\n if (data) {\r\n this.userApprovedProjects = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n loadAIMSProjectsForIds(modelArr: any) {\r\n this.isAimsLoading = true;\r\n this.projectService.extractProjectsByIds(modelArr).subscribe(\r\n data => {\r\n if (data) {\r\n this.aimsProjects = data;\r\n }\r\n this.isAimsLoading = false;\r\n }\r\n );\r\n }\r\n\r\n loadSectorTypes() {\r\n this.sectorService.getSectorTypes().subscribe(\r\n data => {\r\n if (data) {\r\n this.sectorTypes = data;\r\n var primaryType = this.sectorTypes.filter(s => s.isPrimary == true);\r\n if (primaryType.length > 0) {\r\n this.primarySectorTypeId = primaryType[0].id;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n loadSectorsList() {\r\n this.sectorService.getAllSectors().subscribe(\r\n data => {\r\n if (data) {\r\n this.sectorsList = data;\r\n this.typeSectorsList = [];\r\n this.filteredSectors = this.typeSectorsList;\r\n this.defaultSectorsList = this.sectorsList.filter(s => s.sectorTypeId == this.primarySectorTypeId);\r\n }\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n loadLocationsList() {\r\n this.locationService.getLocationsList().subscribe(\r\n data => {\r\n this.locationsList = data;\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n loadDefaultCurrency() {\r\n this.currencyService.getDefaultCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultCurrency = data.currency;\r\n this.getExchangeRatesList();\r\n }\r\n }\r\n );\r\n }\r\n\r\n loadDefaultSectorType() {\r\n this.sectorTypeService.getDefaultSectorType().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultSectorTypeId = data.id;\r\n this.defaultSectorType = data.typeName;\r\n }\r\n }\r\n )\r\n }\r\n\r\n loadNationalCurrency() {\r\n this.currencyService.getNationalCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.nationalCurrency = data.currency;\r\n }\r\n }\r\n );\r\n }\r\n\r\n loadFundingTypes() {\r\n this.fundingTypeService.getFundingTypesList().subscribe(\r\n data => {\r\n if (data) {\r\n this.fundingTypesList = data;\r\n }\r\n }\r\n )\r\n }\r\n\r\n private filterOrganizations(value: string): any[] {\r\n if (typeof value != \"string\") {\r\n } else {\r\n const filterValue = value.toLowerCase();\r\n return this.organizationsList.filter(organization => organization.organizationName.toLowerCase().indexOf(filterValue) !== -1);\r\n }\r\n }\r\n\r\n loadOrganizationsList() {\r\n this.organizationService.getAllOrganizationsList().subscribe(\r\n data => {\r\n this.organizationsList = data;\r\n if (this.currentProjectFundersList.length == 0) {\r\n this.selectedFunderId = parseInt(localStorage.getItem('organizationId'));\r\n if (this.selectedFunderId) {\r\n var selectOrganization = this.organizationsList.filter(o => o.id == this.selectedFunderId);\r\n if (selectOrganization.length > 0) {\r\n this.funderInput.setValue(selectOrganization[0]);\r\n this.funderModel.funder = selectOrganization[0].organizationName;\r\n }\r\n }\r\n }\r\n\r\n this.filteredOrganizations = this.funderInput.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(organization => organization ? this.filterOrganizations(organization) : this.organizationsList.slice())\r\n );\r\n\r\n this.filteredImplementers = this.implementerInput.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(organization => organization ? this.filterOrganizations(organization) : this.organizationsList.slice())\r\n );\r\n },\r\n error => {\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n\r\n loadActiveMarkers() {\r\n this.markerService.getActiveMarkers().subscribe(\r\n data => {\r\n if (data) {\r\n var fields = data;\r\n fields.forEach(function (field) {\r\n field.values = field.values ? JSON.parse(field.values) : [];\r\n field.values.forEach(v => v.isSelected = false);\r\n });\r\n this.markersList = fields;\r\n }\r\n }\r\n )\r\n }\r\n\r\n enterProjectTitleAIMS(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.aimsProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n this.model.title = selectedProject[0].title.trim();\r\n }\r\n }\r\n\r\n enterProjectDescAIMS(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.aimsProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n this.model.description = selectedProject[0].description.trim();\r\n }\r\n this.getDescriptionLimitInfo();\r\n }\r\n\r\n enterStartDate(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.aimsProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n var sDate = new Date(selectedProject[0].startDate);\r\n this.model.startDate = { year: sDate.getFullYear(), month: (sDate.getMonth() + 1), day: sDate.getDate() };\r\n }\r\n }\r\n\r\n enterEndDate(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.aimsProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n var eDate = new Date(selectedProject[0].endDate);\r\n this.model.endDate = { year: eDate.getFullYear(), month: (eDate.getMonth() + 1), day: eDate.getDate() };\r\n }\r\n }\r\n\r\n enterStartDateIATI(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.iatiProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n var sDate = new Date(selectedProject[0].startDate);\r\n this.model.startDate = { year: sDate.getFullYear(), month: (sDate.getMonth() + 1), day: sDate.getDate() };\r\n }\r\n }\r\n\r\n enterEndDateIATI(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.iatiProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n var eDate = new Date(selectedProject[0].endDate);\r\n this.model.endDate = { year: eDate.getFullYear(), month: (eDate.getMonth() + 1), day: eDate.getDate() };\r\n }\r\n }\r\n\r\n enterProjectTitleIATI(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.iatiProjects.filter(p => p.id == id);\r\n if (selectedProject) {\r\n this.model.title = selectedProject[0].title.trim();\r\n }\r\n }\r\n\r\n enterProjectDescIATI(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.iatiProjects.filter(p => p.id == id);\r\n if (selectedProject) {\r\n this.model.description = selectedProject[0].description.trim();\r\n }\r\n this.getDescriptionLimitInfo();\r\n }\r\n\r\n viewCurrentProject() {\r\n var startDate = this.model.startDate.day + '/' + this.model.startDate.month + '/' +\r\n this.model.startDate.year;\r\n var endDate = this.model.endDate.day + '/' + this.model.endDate.month + '/' +\r\n this.model.endDate.year;\r\n\r\n var project = {\r\n title: this.model.title,\r\n description: this.model.description,\r\n startDate: startDate,\r\n endDate: endDate\r\n }\r\n this.viewProject = project;\r\n this.viewProjectFunders = this.currentProjectFundersList;\r\n this.viewProjectLocations = this.currentProjectLocationsList;\r\n this.viewProjectSectors = this.currentProjectSectorsList;\r\n this.viewProjectImplementers = this.currentProjectImplementersList;\r\n this.viewProjectDocuments = this.currentProjectDocumentsList;\r\n this.viewProjectDisbursements = this.currentProjectDisbursementsList;\r\n this.viewProjectFields = this.currentProjectFieldsList;\r\n this.projectInfoModal.openModal();\r\n }\r\n\r\n viewAIMSProject(e) {\r\n var projectId = e.target.id.split('-')[1];\r\n if (projectId && projectId != 0) {\r\n this.aimsProjectId = projectId;\r\n this.isShowContact = !(this.checkIfProjectPermittedToUser(projectId));\r\n var selectProject = this.aimsProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var projectData = selectProject[0];\r\n var project = {\r\n title: projectData.title,\r\n description: projectData.description,\r\n startDate: projectData.startDate,\r\n endDate: projectData.endDate\r\n }\r\n this.viewProject = projectData;\r\n this.viewProjectFunders = projectData.funders;\r\n this.viewProjectLocations = projectData.locations;\r\n this.viewProjectSectors = projectData.sectors;\r\n this.viewProjectImplementers = projectData.implementers;\r\n this.viewProjectDocuments = projectData.documents;\r\n this.projectInfoModal.openModal();\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n viewIATIProject(e) {\r\n var projectId = e.target.id.split('-')[1];\r\n if (projectId && projectId != 0) {\r\n var selectProject = this.iatiProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var projectData = selectProject[0];\r\n var project = {\r\n title: projectData.title,\r\n description: projectData.description,\r\n defaultCurrency: projectData.defaultCurrency,\r\n }\r\n this.viewProject = project;\r\n this.viewProjectLocations = projectData.locations;\r\n this.viewProjectSectors = projectData.sectors;\r\n this.viewProjectFunders = projectData.funders;\r\n this.viewProjectImplementers = projectData.implementers;\r\n this.viewProjectDocuments = projectData.documents;\r\n this.projectIATIInfoModal.openModal();\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n enterIATISector(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n\r\n var code = null;\r\n for (var i = 2; i < arr.length; i++) {\r\n if (!code) {\r\n code = arr[i];\r\n } else {\r\n code += '-' + arr[i];\r\n }\r\n }\r\n this.sectorPlaceHolder = 'Select Parent Sector';\r\n var selectProject = this.iatiProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var sectors = selectProject[0].sectors;\r\n if (sectors && sectors.length > 0) {\r\n this.sectorEntryType = 'iati';\r\n var selectSector = sectors.filter(s => s.code == code);\r\n if (selectSector && selectSector.length > 0) {\r\n if (selectSector[0].sectorName.length > 0) {\r\n var findSector = selectSector[0].sectorName;\r\n var findInAims = this.sectorsList.filter(s => s.sectorName.toLowerCase().trim() == findSector.toLowerCase().trim());\r\n if (findInAims.length > 0) {\r\n this.sectorModel.sectorTypeId = findInAims[0].sectorTypeId;\r\n this.isSectorTypeDisabled = true;\r\n } else {\r\n this.isSectorTypeDisabled = false;\r\n }\r\n this.isSectorVisible = true;\r\n this.sectorModel.sectorName = selectSector[0].sectorName;\r\n this.getSectorMappings();\r\n } else {\r\n this.sectorEntryType = 'aims';\r\n }\r\n this.sectorModel.fundsPercentage = selectSector[0].fundsPercentage;\r\n }\r\n }\r\n }\r\n }\r\n\r\n getSectorMappings() {\r\n var sectorName = this.sectorModel.sectorName;\r\n this.mappingsCount = 0;\r\n this.sectorMappings = [];\r\n\r\n this.sectorService.getMappingsForSectorByName(sectorName).subscribe(\r\n data => {\r\n if (data && data.length > 0) {\r\n this.showMappingManual = true;\r\n this.showMappingAuto = false;\r\n this.sectorMappings = data;\r\n this.mappedSectorsList = data;\r\n this.mappingsCount = data.length;\r\n if (data.length >= 1) {\r\n this.sectorModel.mappingId = data[0].id;\r\n }\r\n } else {\r\n this.mappingsCount = 0;\r\n this.sectorMappings = this.defaultSectorsList;\r\n }\r\n }\r\n )\r\n }\r\n\r\n setManualMappings() {\r\n this.sectorMappings = this.defaultSectorsList;\r\n this.showMappingManual = false;\r\n this.showMappingAuto = true;\r\n }\r\n\r\n setAutomaticMappings() {\r\n this.sectorMappings = this.mappedSectorsList;\r\n this.showMappingAuto = false;\r\n this.showMappingManual = true;\r\n }\r\n\r\n enterAIMSSector(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var sectorId = arr[2];\r\n\r\n var selectProject = this.aimsProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n this.isSectorTypeDisabled = false;\r\n var selectSector = this.sectorsList.filter(s => s.id == sectorId);\r\n if (selectSector && selectSector.length > 0) {\r\n this.sectorEntryType = 'aims';\r\n this.isSectorVisible = true;\r\n this.sectorModel.fundsPercentage = selectSector[0].fundsPercentage;\r\n this.sectorModel.sectorTypeId = selectSector[0].sectorTypeId;\r\n this.sectorModel.sectorId = selectSector[0].id;\r\n this.showSectorsForType(selectSector[0].id);\r\n }\r\n }\r\n }\r\n\r\n filterSector() {\r\n var filterValue = (this.sectorModel.sectorObj && (typeof this.sectorModel.sectorObj == 'string')) ? this.sectorModel.sectorObj.toLowerCase() : this.sectorModel.sectorObj;\r\n if (typeof filterValue == 'string') {\r\n this.filteredSectors = this.typeSectorsList.filter(s =>\r\n s.sectorName.toLowerCase().indexOf(filterValue) != -1);\r\n }\r\n }\r\n\r\n enterIATILocation(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var location = arr[2];\r\n\r\n var selectProject = this.iatiProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var locations = selectProject[0].locations;\r\n this.locationEntryType = 'iati';\r\n var selectLocation = locations.filter(s => s.name == location);\r\n if (selectLocation && selectLocation.length > 0) {\r\n if (selectLocation[0].name.length > 0) {\r\n this.locationModel.location = selectLocation[0].name;\r\n this.locationModel.latitude = selectLocation[0].latitude;\r\n this.locationModel.longitude = selectLocation[0].longitude;\r\n } else {\r\n this.locationEntryType = 'aims';\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n enterAIMSLocation(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var locationId = arr[2];\r\n\r\n var selectProject = this.aimsProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var locations = selectProject[0].locations;\r\n if (locations && locations.length > 0) {\r\n var selectLocation = locations.filter(l => l.id == locationId);\r\n if (selectLocation && selectLocation.length > 0) {\r\n this.locationEntryType = 'aims';\r\n this.locationModel.locationId = selectLocation[0].id;\r\n this.locationModel.fundsPercentage = selectLocation[0].fundsPercentage;\r\n }\r\n }\r\n }\r\n }\r\n\r\n enterIATIDocument(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var documentId = arr[2];\r\n\r\n var selectProject = this.iatiProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var documents = selectProject[0].documents;\r\n this.documentEntryType = 'iati';\r\n var selectDocument = documents.filter(d => d.id == documentId);\r\n if (selectDocument && selectDocument.length > 0) {\r\n this.documentModel.id = selectDocument[0].id;\r\n this.documentModel.documentTitle = selectDocument[0].documentTitle;\r\n this.documentModel.documentUrl = selectDocument[0].documentUrl;\r\n }\r\n }\r\n }\r\n\r\n enterAIMSDocument(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var documentId = arr[2];\r\n\r\n var selectProject = this.aimsProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var documents = selectProject[0].documents;\r\n if (documents && documents.length > 0) {\r\n var selectDocument = documents.filter(d => d.id == documentId);\r\n if (selectDocument && selectDocument.length > 0) {\r\n this.locationEntryType = 'aims';\r\n var dbDocument = documents.filter(d => d.id == documentId);\r\n if (dbDocument) {\r\n this.documentModel.documentTitle = dbDocument[0].documentTitle;\r\n this.documentModel.documentUrl = dbDocument[0].documentUrl;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n enterIATIFunder(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var funderId = arr[2];\r\n\r\n var selectProject = this.iatiProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var funders = selectProject[0].funders;\r\n var selectFunder = funders.filter(f => f.id == funderId);\r\n if (selectFunder && selectFunder.length > 0) {\r\n if (selectFunder[0].name) {\r\n this.funderModel.funder = selectFunder[0].name;\r\n this.funderEntryType = 'iati';\r\n }\r\n }\r\n }\r\n }\r\n\r\n enterIATIBudget(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var budgetId = arr[2];\r\n\r\n var selectProject = this.iatiProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var budgets = selectProject[0].budgets;\r\n var selectedBudget = budgets.filter(b => b.id == budgetId);\r\n if (selectedBudget && selectedBudget.length > 0) {\r\n if (selectedBudget.length > 0) {\r\n var eDate = new Date(selectedBudget[0].endDate);\r\n this.funderModel.dated = { year: eDate.getFullYear(), month: (eDate.getMonth() + 1), day: eDate.getDate() };\r\n this.funderModel.currency = selectedBudget[0].currency;\r\n this.funderModel.amount = selectedBudget[0].amount;\r\n }\r\n }\r\n }\r\n }\r\n\r\n enterIATIFundingTransaction(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var transactionId = arr[2];\r\n\r\n var selectProject = this.iatiProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var transactions = selectProject[0].fundingTransactions;\r\n var selectedTransaction = transactions.filter(t => t.id == transactionId);\r\n if (selectedTransaction && selectedTransaction.length > 0) {\r\n if (selectedTransaction.length > 0) {\r\n var dated = new Date(selectedTransaction[0].dated);\r\n this.funderModel.dated = { year: dated.getFullYear(), month: (dated.getMonth() + 1), day: dated.getDate() };\r\n this.funderModel.amount = selectedTransaction[0].amount;\r\n }\r\n }\r\n }\r\n }\r\n\r\n enterAIMSFunder(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var funderId = arr[2];\r\n\r\n var selectProject = this.aimsProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var funders = selectProject[0].funders;\r\n if (funders && funders.length > 0) {\r\n var selectFunder = funders.filter(f => f.funderId == funderId);\r\n if (selectFunder && selectFunder.length > 0) {\r\n this.funderEntryType = 'aims';\r\n var dbFunder = funders.filter(f => f.funderId == funderId);\r\n if (dbFunder) {\r\n var funderObj = {\r\n id: dbFunder[0].funderId,\r\n organizationName: dbFunder[0].funder\r\n };\r\n this.funderModel.funder = dbFunder[0].funder;\r\n this.funderModel.funderId = dbFunder[0].funderId;\r\n this.funderModel.fundingTypeId = dbFunder[0].fundingTypeId;\r\n this.funderModel.amount = dbFunder[0].amount;\r\n this.funderModel.exchangeRate = dbFunder[0].exchangeRate;\r\n this.funderInput.setValue(funderObj);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n //Display management for tabs in funder and implementers\r\n showFunderTab(id) {\r\n var project = this.iatiProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n project[0].isFunderVisible = true;\r\n project[0].isImplementerVisible = false;\r\n project[0].isBudgetVisible = false;\r\n project[0].isTransactionVisible = false;\r\n }\r\n }\r\n\r\n showImplementerTab(id) {\r\n var project = this.iatiProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n project[0].isImplementerVisible = true;\r\n project[0].isBudgetVisible = false;\r\n project[0].isTransactionVisible = false;\r\n }\r\n }\r\n\r\n showTransactionTab(id) {\r\n var project = this.iatiProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n project[0].isFunderVisible = false;\r\n project[0].isImplementerVisible = false;\r\n project[0].isBudgetVisible = false;\r\n project[0].isTransactionVisible = true;\r\n }\r\n }\r\n\r\n showBudgetTab(id) {\r\n var project = this.iatiProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n project[0].isFunderVisible = false;\r\n project[0].isImplementerVisible = false;\r\n project[0].isBudgetVisible = true;\r\n project[0].isTransactionVisible = false;\r\n }\r\n }\r\n /** End of tabs */\r\n\r\n enterIATIImplementer(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var implementerId = arr[2];\r\n\r\n var selectProject = this.iatiProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var implementers = selectProject[0].implementers;\r\n this.implementerEntryType = 'iati';\r\n var selectImplementer = implementers.filter(i => i.id == implementerId);\r\n if (selectImplementer && selectImplementer.length > 0) {\r\n this.implementerModel.implementer = selectImplementer[0].name;\r\n }\r\n }\r\n }\r\n\r\n enterAIMSImplementer(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var implementerId = arr[2];\r\n\r\n var selectProject = this.aimsProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var implementers = selectProject[0].implementers;\r\n if (implementers && implementers.length > 0) {\r\n var dbImplementer = implementers.filter(i => i.implementerId == implementerId);\r\n if (dbImplementer && dbImplementer.length > 0) {\r\n this.implementerEntryType = 'aims';\r\n this.implementerModel.implementerId = dbImplementer[0].implementerId;\r\n }\r\n }\r\n }\r\n }\r\n\r\n enterIATIDisbursement(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var disbursementId = arr[2];\r\n\r\n var selectProject = this.iatiProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var transactions = selectProject[0].disbursementTransactions;\r\n this.disbursementEntryType = 'iati';\r\n var selectTransaction = transactions.filter(i => i.id == disbursementId);\r\n if (selectTransaction && selectTransaction.length > 0) {\r\n this.disbursementModel.amount = selectTransaction[0].amount;\r\n var dated = selectTransaction[0].dated;\r\n if (selectTransaction[0].currency) {\r\n this.disbursementModel.currency = selectTransaction[0].currency;\r\n }\r\n if (dated && dated.length > 0) {\r\n var dateArr = dated.split('-');\r\n var dateFormatted = { year: parseInt(dateArr[0]), month: parseInt(dateArr[1]), day: parseInt(dateArr[2]) };\r\n this.disbursementModel.dated = dateFormatted;\r\n }\r\n this.filterExRateSources(this.exRateFor.DISBURSEMENT);\r\n }\r\n }\r\n }\r\n\r\n enterAIMSDisbursement(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var id = arr[2];\r\n\r\n var selectProject = this.aimsProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var disbursements = selectProject[0].disbursements;\r\n this.disbursementEntryType = 'aims';\r\n var selectTransaction = disbursements.filter(i => i.id == id);\r\n if (selectTransaction && selectTransaction.length > 0) {\r\n this.disbursementModel.amount = selectTransaction[0].amount;\r\n this.disbursementModel.currency = selectTransaction[0].currency;\r\n var dated = selectTransaction[0].dated;\r\n if (dated && dated.length > 0) {\r\n var dateArr = dated.split('-');\r\n var dateFormatted = { year: parseInt(dateArr[0]), month: parseInt(dateArr[1]), day: parseInt(dateArr[2]) };\r\n this.disbursementModel.dated = dateFormatted;\r\n }\r\n this.filterExRateSources(this.exRateFor.DISBURSEMENT);\r\n }\r\n }\r\n }\r\n\r\n loadProjectData(id: number) {\r\n this.projectService.getProjectProfileReport(id.toString()).subscribe(\r\n result => {\r\n if (result && result.projectProfile) {\r\n var data = result.projectProfile;\r\n //Setting project data\r\n console.log(data);\r\n this.model.title = data.title;\r\n this.model.description = data.description;\r\n var sDate = new Date(data.startDate);\r\n var eDate = new Date(data.endDate);\r\n this.model.startDate = { year: sDate.getFullYear(), month: (sDate.getMonth() + 1), day: sDate.getDate() };\r\n this.model.endDate = { year: eDate.getFullYear(), month: (eDate.getMonth() + 1), day: eDate.getDate() };\r\n\r\n //Setting sectors data\r\n if (data.sectors && data.sectors.length > 0) {\r\n this.currentProjectSectorsList = data.sectors;\r\n this.sectorTotalPercentage = this.calculateSectorPercentage();\r\n }\r\n\r\n if (data.locations && data.locations.length > 0) {\r\n this.currentProjectLocationsList = data.locations;\r\n this.locationTotalPercentage = this.calculateLocationPercentage();\r\n }\r\n\r\n if (data.documents && data.documents.length > 0) {\r\n this.currentProjectDocumentsList = data.documents;\r\n }\r\n\r\n if (data.funders && data.funders.length > 0) {\r\n this.currentProjectFundersList = data.funders;\r\n } else {\r\n this.funderModel.dated = this.model.startDate;\r\n }\r\n\r\n if (data.implementers && data.implementers.length > 0) {\r\n this.currentProjectImplementersList = data.implementers;\r\n }\r\n\r\n if (data.disbursements && data.disbursements.length > 0) {\r\n this.currentProjectDisbursementsList = data.disbursements;\r\n }\r\n\r\n if (data.markers && data.markers.length > 0) {\r\n this.currentProjectFieldsList = data.markers;\r\n }\r\n }\r\n setTimeout(() => {\r\n this.blockUI.stop();\r\n }, 1000);\r\n }\r\n );\r\n }\r\n\r\n loadUserProjects(projectId: number) {\r\n this.projectService.getUserProjects().subscribe(\r\n data => {\r\n if (data) {\r\n this.userProjectIds = data;\r\n if (this.userProjectIds.map(p => p.id).indexOf(projectId) == -1) {\r\n this.router.navigateByUrl('project-membership/' + projectId);\r\n } else {\r\n this.loadProjectData(projectId);\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n checkIfProjectPermittedToUser(id) {\r\n return this.userProjectIds.filter(p => p.id == id).length > 0 ? true : false;\r\n }\r\n\r\n checkIfFunderTabSelected(id) {\r\n var isSelected = false;\r\n var project = this.iatiProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n isSelected = project[0].isFunderVisible;\r\n }\r\n return isSelected;\r\n }\r\n\r\n checkIfBudgetTabSelected(id) {\r\n var isSelected = false;\r\n var project = this.iatiProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n isSelected = project[0].isBudgetVisible;\r\n }\r\n return isSelected;\r\n }\r\n\r\n checkIfTransactionTabSelected(id) {\r\n var isSelected = false;\r\n var project = this.iatiProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n isSelected = project[0].isTransactionVisible;\r\n }\r\n return isSelected;\r\n }\r\n\r\n checkIfSectorAdded(sector) {\r\n if (this.currentProjectSectorsList.length > 0) {\r\n var isExists = this.currentProjectSectorsList.filter(s =>\r\n s.sector.trim().toLowerCase() == sector.trim().toLowerCase());\r\n return isExists.length > 0 ? true : false;\r\n }\r\n }\r\n\r\n checkIfLocationAdded(location) {\r\n if (this.currentProjectLocationsList.length > 0) {\r\n var isExists = this.currentProjectLocationsList.filter(l =>\r\n l.location.trim().toLowerCase() == location.trim().toLowerCase());\r\n return isExists.length > 0 ? true : false;\r\n }\r\n }\r\n\r\n checkIfFunderAdded(funder) {\r\n if (this.currentProjectFundersList.length > 0) {\r\n var isExists = this.currentProjectFundersList.filter(f =>\r\n f.funder.trim().toLowerCase() == funder.trim().toLowerCase());\r\n return isExists.length > 0 ? true : false;\r\n }\r\n }\r\n\r\n checkIfImplementerAdded(implementer) {\r\n if (this.currentProjectImplementersList.length > 0) {\r\n var isExists = this.currentProjectImplementersList.filter(i =>\r\n i.implementer.trim().toLowerCase() == implementer.trim().toLowerCase());\r\n return isExists.length > 0 ? true : false;\r\n }\r\n }\r\n\r\n showSectorsForType(setSectorId: number = 0) {\r\n if (this.sectorModel.sectorTypeId) {\r\n this.sectorModel.sectorId = null;\r\n if (this.sectorEntryType == 'aims') {\r\n this.sectorMappings = [];\r\n }\r\n this.mappedSectorsList = [];\r\n this.sectorModel.mappingId = null;\r\n this.mappingsCount = 0;\r\n this.showMappingAuto = false;\r\n this.showMappingManual = true;\r\n this.typeSectorsList = this.sectorsList.filter(s => s.sectorTypeId == this.sectorModel.sectorTypeId);\r\n this.filteredSectors = this.typeSectorsList;\r\n if (setSectorId != 0) {\r\n var selectSector = this.sectorsList.filter(s => s.id == setSectorId);\r\n if (selectSector.length > 0) {\r\n this.sectorModel.sectorObj = selectSector[0];\r\n this.selectedSectorId = setSectorId;\r\n this.sectorModel.sectorId = setSectorId;\r\n this.showSectorMappings();\r\n }\r\n this.sectorModel.sectorId = setSectorId;\r\n }\r\n }\r\n }\r\n\r\n showSectorMappings() {\r\n if (this.sectorModel.sectorId) {\r\n var selectedSector = this.typeSectorsList.filter(s => s.id == this.sectorModel.sectorId);\r\n if (selectedSector.length > 0) {\r\n this.sectorModel.sectorName = selectedSector[0].sectorName;\r\n this.getSectorMappings();\r\n }\r\n }\r\n }\r\n\r\n showProjects() {\r\n this.manageTabsDisplay('project');\r\n }\r\n\r\n showSectors() {\r\n this.manageTabsDisplay('sector');\r\n }\r\n\r\n showLocations() {\r\n this.manageTabsDisplay('location');\r\n }\r\n\r\n showFunders() {\r\n this.manageTabsDisplay('funder');\r\n //this.getExchangeRatesList();\r\n }\r\n\r\n showImplementers() {\r\n this.manageTabsDisplay('implementer');\r\n }\r\n\r\n showDocuments() {\r\n this.manageTabsDisplay('document');\r\n }\r\n\r\n showDisbursements() {\r\n this.totalFunds = this.calculateProjectFunding();\r\n this.totalDisbursements = this.calculateProjectDisbursement();\r\n this.disbursementModel.dated = this.storeService.getTodaysDateForDtPicker();\r\n this.manageTabsDisplay('disbursement');\r\n }\r\n\r\n showMarkers() {\r\n this.manageTabsDisplay('markers');\r\n }\r\n\r\n showFinishProject() {\r\n this.manageTabsDisplay('finish');\r\n }\r\n\r\n manageTabsDisplay(tabIdentity) {\r\n for (var i = 0; i < this.displayTabs.length; i++) {\r\n var tab = this.displayTabs[i];\r\n if (tab.identity == tabIdentity) {\r\n tab.visible = true;\r\n this.currentTab = tabIdentity;\r\n } else {\r\n tab.visible = false;\r\n }\r\n }\r\n }\r\n\r\n /*Project funders display functions*/\r\n displayFunder(organization?: any): string | undefined {\r\n if (organization) {\r\n this.selectedFunderId = organization.id;\r\n } else {\r\n this.selectedFunderId = 0;\r\n }\r\n return organization ? organization.organizationName : undefined;\r\n }\r\n\r\n displayImplementer(organization?: any): string | undefined {\r\n if (organization) {\r\n this.selectedImplementerId = organization.id;\r\n } else {\r\n this.selectedImplementerId = 0;\r\n }\r\n return organization ? organization.organizationName : undefined;\r\n }\r\n\r\n displaySectorFn(sector?: Sector): string | undefined {\r\n if (sector) {\r\n this.selectedSectorId = sector.id;\r\n this.sectorModel.sectorName = sector.sectorName;\r\n this.sectorModel.sectorId = sector.id;\r\n if (this.sectorModel.sectorTypeId != this.defaultSectorTypeId) {\r\n this.getSectorMappings();\r\n }\r\n } else {\r\n this.selectedSectorId = 0;\r\n }\r\n return sector ? sector.sectorName : undefined;\r\n }\r\n\r\n private filterSectors(value: string): Sector[] {\r\n if (typeof value != \"string\") {\r\n } else {\r\n const filterValue = value.toLowerCase();\r\n return this.sectorsList.filter(sector => sector.sectorName.toLowerCase().indexOf(filterValue) !== -1);\r\n }\r\n }\r\n /*End of project sectors filtering and display functions*/\r\n\r\n /*Project locations filtering and display functions*/\r\n displayLocationFn(location?: Location): string | undefined {\r\n if (location) {\r\n this.selectedLocationId = location.id;\r\n } else {\r\n this.selectedLocationId = 0;\r\n }\r\n return location ? location.location : undefined;\r\n }\r\n\r\n private filterLocations(value: string): Location[] {\r\n if (typeof value != \"string\") {\r\n } else {\r\n const filterValue = value.toLowerCase();\r\n return this.locationsList.filter(location => location.location.toLowerCase().indexOf(filterValue) !== -1);\r\n }\r\n }\r\n /*End of project locations filtering and display functions*/\r\n\r\n /* Saving different section of project */\r\n saveProject(frm: any) {\r\n this.currentEntryForm = frm;\r\n var startDate = new Date(this.model.startDate);\r\n var endDate = new Date(this.model.endDate);\r\n\r\n if (startDate > endDate) {\r\n this.errorMessage = 'Start date cannot be greater than end date';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var model = {\r\n Title: this.model.title,\r\n StartDate: startDate,\r\n EndDate: endDate,\r\n Description: this.model.description\r\n };\r\n\r\n this.isProjectBtnDisabled = true;\r\n if (this.isForEdit || this.activeProjectId != 0) {\r\n this.btnProjectText = 'Updating...';\r\n this.blockUI.start('Updating Project...');\r\n this.projectService.updateProject(this.activeProjectId, model).subscribe(\r\n data => {\r\n if (data) {\r\n this.resetProjectEntry();\r\n this.blockUI.stop();\r\n this.currentTab = 'funder';\r\n if (this.currentProjectFundersList.length == 0) {\r\n this.funderModel.dated = this.model.startDate;\r\n }\r\n } else {\r\n this.resetProjectEntry();\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.isError = true;\r\n this.errorMessage = error;\r\n this.blockUI.stop();\r\n return false;\r\n }\r\n );\r\n } else {\r\n this.blockUI.start('Saving Project...');\r\n this.projectService.addProject(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.resetProjectEntry();\r\n this.activeProjectId = data;\r\n var message = 'New project' + Messages.NEW_RECORD;\r\n this.infoMessage = message;\r\n localStorage.setItem('active-project', data);\r\n this.btnProjectText = 'Edit Project';\r\n this.currentTab = 'funder';\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.resetProjectEntry();\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n /** Managing sectors */\r\n saveProjectSector(frm: any) {\r\n this.currentEntryForm = frm;\r\n var activeProject = localStorage.getItem('active-project');\r\n var projectId = 0;\r\n\r\n if (activeProject && activeProject != '0') {\r\n projectId = parseInt(activeProject);\r\n this.sectorModel.projectId = projectId;\r\n } else {\r\n this.errorMessage = 'There is no created project. Create/Save a project first and sector for the project';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.sectorModel.fundsPercentage <= 0 || this.sectorModel.fundsPercentage > 100) {\r\n this.errorMessage = 'Funds percentage ' + Messages.PERCENTAGE_RANGE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n /*if (this.sectorModel.sectorName != null && this.sectorModel.sectorName != '') {\r\n var isSectorExists = this.currentProjectSectorsList.filter(s => s.sector.toLowerCase() == this.sectorModel.sectorName.toLowerCase());\r\n if (isSectorExists.length > 0) {\r\n this.errorMessage = 'Selected sector' + Messages.ALREADY_IN_LIST;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n }*/\r\n\r\n if (this.sectorEntryType == 'aims') {\r\n if (this.sectorModel.sectorId != 0) {\r\n var selectSector = this.sectorsList.filter(s => s.id == this.sectorModel.sectorId);\r\n if (selectSector.length > 0) {\r\n var sectorName = selectSector[0].sectorName;\r\n if (typeof this.sectorModel.sectorObj == 'string') {\r\n if (sectorName != this.sectorModel.sectorObj) {\r\n this.errorMessage = 'Select a valid sector from list';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n }\r\n }\r\n } else {\r\n this.errorMessage = 'Select a sector from list';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n }\r\n\r\n if (this.currentProjectSectorsList.length > 0) {\r\n var percentageEntered = this.calculateSectorPercentage();\r\n var enteredPercentage = this.sectorModel.fundsPercentage;\r\n var percentageTotal = parseInt(percentageEntered) + parseInt(enteredPercentage.toString());\r\n\r\n if (percentageTotal > 100) {\r\n this.errorMessage = Messages.INVALID_PERCENTAGE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n }\r\n\r\n var sectorName = null;\r\n var displaySector = null;\r\n\r\n if (this.sectorModel.mappingId && (this.sectorModel.mappingId != null || this.sectorModel.mappingId != 'null')) {\r\n displaySector = this.defaultSectorsList.filter(s => s.id == this.sectorModel.mappingId);\r\n if (displaySector.length > 0) {\r\n sectorName = displaySector[0].sectorName;\r\n }\r\n } else {\r\n displaySector = this.typeSectorsList.filter(s => s.id == this.sectorModel.sectorId);\r\n if (displaySector.length > 0) {\r\n sectorName = displaySector[0].sectorName;\r\n }\r\n }\r\n\r\n var projectSectorModel = {\r\n sectorTypeId: this.sectorModel.sectorTypeId,\r\n projectId: projectId,\r\n sectorId: this.sectorModel.mappingId,\r\n fundsPercentage: this.sectorModel.fundsPercentage,\r\n };\r\n\r\n if (this.sectorModel.sectorTypeId == this.defaultSectorTypeId) {\r\n projectSectorModel.sectorId = this.selectedSectorId;\r\n }\r\n\r\n this.blockUI.start('Saving Sector...');\r\n if (this.sectorEntryType == 'iati') {\r\n var foundSector = this.sectorsList.filter(s => s.sectorName.toLowerCase().trim() == this.sectorModel.sectorName.toLowerCase().trim());\r\n if (foundSector.length > 0) {\r\n if (foundSector[0].sectorTypeId == this.defaultSectorTypeId) {\r\n this.sectorModel.mappingId = 0;\r\n }\r\n var iatiSectorModel = {\r\n sectorTypeId: foundSector[0].sectorTypeId,\r\n sectorName: this.sectorModel.sectorName,\r\n parentId: 0,\r\n sectorId: foundSector[0].id,\r\n mappingSectorId: this.sectorModel.mappingId\r\n };\r\n this.selectedSectorId = iatiSectorModel.sectorId;\r\n this.sectorService.addSectorWithMapping(iatiSectorModel).subscribe(\r\n data => {\r\n if (data) {\r\n if (foundSector[0].sectorTypeId != this.defaultSectorTypeId) {\r\n projectSectorModel.sectorId = iatiSectorModel.mappingSectorId;\r\n } else {\r\n projectSectorModel.sectorId = iatiSectorModel.sectorId;\r\n }\r\n \r\n this.addProjectSector(projectSectorModel);\r\n } else {\r\n this.blockUI.stop();\r\n }\r\n }\r\n );\r\n } else {\r\n var newSectorModel = {\r\n sectorTypeId: this.sectorModel.sectorTypeId,\r\n sectorName: this.sectorModel.sectorName,\r\n parentId: 0,\r\n sectorId: 0,\r\n mappingSectorId: this.sectorModel.mappingId\r\n };\r\n this.sectorService.addSectorWithMapping(newSectorModel).subscribe(\r\n data => {\r\n if (data) {\r\n this.addProjectSector(projectSectorModel);\r\n } else {\r\n this.blockUI.stop();\r\n }\r\n }\r\n );\r\n }\r\n } else {\r\n if (this.sectorModel.sectorTypeId == this.primarySectorTypeId) {\r\n projectSectorModel.sectorId = this.selectedSectorId;\r\n this.addProjectSector(projectSectorModel);\r\n } else {\r\n if (!this.sectorModel.mappingId) {\r\n this.errorMessage = 'Sector mapping is required';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var mappedSectorModel = {\r\n sectorTypeId: this.sectorModel.sectorTypeId,\r\n sectorId: this.sectorModel.sectorId,\r\n sectorName: sectorName,\r\n parentId: 0,\r\n mappingSectorId: this.sectorModel.mappingId\r\n };\r\n\r\n this.sectorService.addSectorWithMapping(mappedSectorModel).subscribe(\r\n data => {\r\n if (data) {\r\n this.addProjectSector(projectSectorModel);\r\n } else {\r\n this.blockUI.stop();\r\n }\r\n }\r\n );\r\n\r\n }\r\n }\r\n }\r\n\r\n addProjectSector(model: any) {\r\n var activeProject = localStorage.getItem('active-project');\r\n var projectId = 0;\r\n\r\n if (activeProject && activeProject != '0') {\r\n projectId = parseInt(activeProject);\r\n this.sectorModel.projectId = projectId;\r\n }\r\n\r\n this.projectService.addProjectSector(model).subscribe(\r\n data => {\r\n if (data) {\r\n var sectorObj = {\r\n projectId: projectId,\r\n sectorId: model.sectorId,\r\n sector: this.sectorModel.sectorName,\r\n fundsPercentage: this.sectorModel.fundsPercentage,\r\n };\r\n\r\n if (model.sectorId) {\r\n var selectedSector = this.sectorsList.filter(s => s.id == model.sectorId);\r\n if (selectedSector.length > 0) {\r\n sectorObj.sector = selectedSector[0].sectorName;\r\n } else {\r\n var newSector = {\r\n id: model.sectorId,\r\n sectorTypeId: model.sectorTypeId,\r\n sectorName: this.sectorModel.sectorName,\r\n parentSector: null,\r\n isDefault: false,\r\n isSourceType: true\r\n };\r\n\r\n this.sectorsList.push(newSector);\r\n }\r\n }\r\n\r\n if (sectorObj.sector == \"\") {\r\n var selectSector = this.sectorsList.filter(s => s.id == sectorObj.sectorId);\r\n if (selectSector && selectSector.length > 0) {\r\n sectorObj.sector = selectSector[0].sectorName;\r\n }\r\n }\r\n\r\n var fetchExistingSector = this.currentProjectSectorsList.filter(s => s.sectorId == model.sectorId);\r\n if (fetchExistingSector.length > 0) {\r\n var oldPercentage = parseInt(fetchExistingSector[0].fundsPercentage);\r\n fetchExistingSector[0].fundsPercentage = oldPercentage + parseInt(model.fundsPercentage);\r\n } else {\r\n this.currentProjectSectorsList.push(sectorObj);\r\n }\r\n\r\n this.sectorTotalPercentage = this.calculateSectorPercentage();\r\n this.resetDataEntryValidation();\r\n this.resetSectorEntry();\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.blockUI.stop();\r\n this.errorModal.openModal();\r\n }\r\n );\r\n }\r\n\r\n deleteProjectSector(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var sectorId = arr[2];\r\n\r\n this.blockUI.start('Removing Sector...');\r\n this.projectService.deleteProjectSector(projectId, sectorId).subscribe(\r\n data => {\r\n if (data) {\r\n this.currentProjectSectorsList = this.currentProjectSectorsList.filter(s => s.sectorId != sectorId);\r\n this.sectorTotalPercentage = this.calculateSectorPercentage();\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n /**End of managing sectors */\r\n\r\n /**Managing Locations */\r\n saveProjectLocation(frm: any) {\r\n this.currentEntryForm = frm;\r\n if (this.locationModel.locationId == null && this.locationModel.location == '') {\r\n return false;\r\n }\r\n\r\n if (this.locationModel.fundsPercentage <= 0 || this.locationModel.fundsPercentage > 100) {\r\n this.errorMessage = 'Funds percentage ' + Messages.PERCENTAGE_RANGE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.currentProjectLocationsList.length > 0) {\r\n var percentageEntered = this.calculateLocationPercentage();\r\n var enteredPercentage = this.locationModel.fundsPercentage;\r\n var percentageTotal = parseInt(percentageEntered) + parseInt(enteredPercentage.toString());\r\n\r\n if (percentageTotal > 100) {\r\n this.errorMessage = Messages.INVALID_PERCENTAGE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n }\r\n\r\n var activeProject = localStorage.getItem('active-project');\r\n var projectId = 0;\r\n\r\n if (activeProject && activeProject != '0') {\r\n projectId = parseInt(activeProject);\r\n this.locationModel.projectId = projectId;\r\n } else {\r\n this.errorMessage = Messages.PROJECT_DEPENDENCY;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var projectLocationModel = {\r\n projectId: projectId,\r\n locationId: this.locationModel.locationId,\r\n fundsPercentage: this.locationModel.fundsPercentage,\r\n };\r\n\r\n var searchLocation = this.locationModel.location;\r\n if (searchLocation != '') {\r\n var getLocation = this.locationsList.filter(location => location.location == searchLocation);\r\n if (getLocation && getLocation.length > 0) {\r\n projectLocationModel.locationId = getLocation[0].id;\r\n }\r\n }\r\n\r\n if (this.locationModel.locationId != 0 || this.locationModel.locationId != null) {\r\n var getLocation = this.locationsList.filter(location => location.id == this.locationModel.locationId);\r\n if (getLocation && getLocation.length > 0) {\r\n this.locationModel.location = getLocation[0].location;\r\n }\r\n }\r\n\r\n var isLocationExists = this.currentProjectLocationsList.filter(l => l.location.toLowerCase() == this.locationModel.location.toLowerCase()\r\n || l.id == this.locationModel.locationId);\r\n if (isLocationExists.length > 0) {\r\n this.errorMessage = 'Selected location (' + this.locationModel.location + ')' + Messages.ALREADY_IN_LIST;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.blockUI.start('Saving Location...');\r\n if (this.locationEntryType == 'iati' && projectLocationModel.locationId <= 0) {\r\n var locationModel = {\r\n location: searchLocation,\r\n latitude: 0.00,\r\n longitude: 0.00\r\n };\r\n\r\n this.locationService.addLocation(locationModel).subscribe(\r\n data => {\r\n if (data) {\r\n this.locationModel.locationId = data;\r\n this.selectedLocationId = data;\r\n projectLocationModel.locationId = data;\r\n this.addProjectLocation(projectLocationModel);\r\n } else {\r\n this.blockUI.stop();\r\n }\r\n }\r\n )\r\n } else {\r\n projectLocationModel.locationId = this.locationModel.locationId;\r\n this.addProjectLocation(projectLocationModel);\r\n }\r\n }\r\n\r\n addProjectLocation(model: any) {\r\n var activeProject = localStorage.getItem('active-project');\r\n var projectId = 0;\r\n\r\n if (activeProject && activeProject != '0') {\r\n projectId = parseInt(activeProject);\r\n this.locationModel.projectId = projectId;\r\n }\r\n\r\n this.projectService.addProjectLocation(model).subscribe(\r\n data => {\r\n if (data) {\r\n var locationObj = {\r\n id: this.locationModel.locationId,\r\n projectId: projectId,\r\n locationId: model.locationId,\r\n location: this.locationModel.location,\r\n latitude: this.locationModel.latitude,\r\n longitude: this.locationModel.longitude,\r\n fundsPercentage: this.locationModel.fundsPercentage,\r\n };\r\n this.currentProjectLocationsList.push(locationObj);\r\n this.locationTotalPercentage = this.calculateLocationPercentage();\r\n this.resetLocationEntry();\r\n this.resetDataEntryValidation();\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n deleteProjectLocation(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var locationId = arr[2];\r\n\r\n this.blockUI.start('Removing Location...');\r\n this.projectService.deleteProjectLocation(projectId, locationId).subscribe(\r\n data => {\r\n if (data) {\r\n this.currentProjectLocationsList = this.currentProjectLocationsList.filter(l => l.id != locationId);\r\n this.locationTotalPercentage = this.calculateLocationPercentage();\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n /**End of managing project locations */\r\n\r\n\r\n /**Managing Documents */\r\n saveProjectDocument(frm: any) {\r\n this.currentEntryForm = frm;\r\n var activeProject = localStorage.getItem('active-project');\r\n var projectId = 0;\r\n\r\n if (activeProject && activeProject != '0') {\r\n projectId = parseInt(activeProject);\r\n this.documentModel.projectId = projectId;\r\n } else {\r\n this.errorMessage = Messages.PROJECT_DEPENDENCY;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.documentModel.documentTitle == null || this.documentModel.documentTitle == ''\r\n || this.documentModel.documentUrl == null || this.documentModel.documentUrl == '') {\r\n\r\n return false;\r\n }\r\n\r\n var model = {\r\n id: 0,\r\n projectId: this.documentModel.projectId,\r\n documentTitle: this.documentModel.documentTitle,\r\n documentUrl: this.documentModel.documentUrl\r\n }\r\n this.blockUI.start('Saving Document...');\r\n this.projectService.addProjectDocument(model).subscribe(\r\n data => {\r\n if (data) {\r\n model.id = data;\r\n this.currentProjectDocumentsList.push(model);\r\n this.resetDocumentEntry();\r\n this.resetDataEntryValidation();\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n\r\n deleteProjectDocument(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var documentId = arr[2];\r\n\r\n this.blockUI.start('Removing Document...');\r\n this.projectService.deleteProjectDocument(documentId).subscribe(\r\n data => {\r\n if (data) {\r\n this.currentProjectDocumentsList = this.currentProjectDocumentsList.filter(d => d.id != documentId);\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n console.log(error);\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n /**End of managing project documents */\r\n\r\n /**Managing Funders */\r\n saveProjectFunder(frm: any) {\r\n var isNewFunder = false;\r\n this.currentEntryForm = frm;\r\n var activeProject = localStorage.getItem('active-project');\r\n var projectId = 0;\r\n\r\n if (activeProject && activeProject != '0') {\r\n projectId = parseInt(activeProject);\r\n this.funderModel.projectId = projectId;\r\n } else {\r\n this.errorMessage = Messages.PROJECT_DEPENDENCY;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var pModel = this.model;\r\n var startDate = pModel.startDate.year + '-' + pModel.startDate.month + '-' + pModel.startDate.day;\r\n var endDate = pModel.endDate.year + '-' + pModel.endDate.month + '-' + pModel.endDate.day;\r\n var fundingFormattedDate = this.funderModel.dated.year + '-' + this.funderModel.dated.month + '-' +\r\n this.funderModel.dated.day;\r\n\r\n var todaysDate = new Date(this.storeService.getCurrentDateSQLFormat());\r\n var projectStartDate = new Date(startDate);\r\n var projectEndDate = new Date(endDate);\r\n var fundingDate = new Date(fundingFormattedDate);\r\n\r\n if (fundingDate > todaysDate) {\r\n this.errorMessage = Messages.INVALID_FUTURE_DATE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if ((fundingDate < projectStartDate) || (fundingDate > projectEndDate)) {\r\n this.errorMessage = \"Funding\" + Messages.INVALID_TRANSACTION_DATE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.selectedFunderId != 0) {\r\n this.funderModel.funderId = this.selectedFunderId;\r\n var funderExists = this.currentProjectFundersList.filter(f => f.funderId == this.selectedFunderId\r\n && f.fundingTypeId == this.funderModel.fundingTypeId);\r\n if (funderExists.length > 0) {\r\n var funderName = (this.funderInput.value && this.funderInput.value.organizationName) ? this.funderInput.value.organizationName : this.funderInput.value;\r\n if (funderName && funderName.toLowerCase().trim() != funderExists[0].funder.toLowerCase().trim() &&\r\n this.funderModel.fundingTypeId != funderExists[0].fundingTypeId) {\r\n this.funderModel.funderId = 0;\r\n this.funderModel.funder = funderName;\r\n isNewFunder = true;\r\n } else {\r\n this.errorMessage = 'Selected funder ' + Messages.ALREADY_IN_LIST;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n }\r\n } else if (this.funderEntryType == 'aims' && this.selectedFunderId == 0) {\r\n isNewFunder = true;\r\n this.funderModel.funderId = 0;\r\n }\r\n\r\n if (this.funderEntryType == 'aims' && this.selectedFunderId == 0) {\r\n this.funderModel.funder = this.funderInput.value;\r\n if (!this.funderModel.funder) {\r\n this.errorMessage = 'Either select from list or enter valid name for funder';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.funderModel.funder.length < 3) {\r\n this.errorMessage = 'Funder name must be at least 3 characters long';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n }\r\n\r\n if (this.funderModel.amount <= 0) {\r\n this.errorMessage = \"Funder amount \" + Messages.CANNOT_BE_ZERO;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.funderModel.exchangeRate <= 0) {\r\n this.errorMessage = \"Exchange rate for USD \" + Messages.CANNOT_BE_ZERO;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.blockUI.start('Saving Funder...');\r\n var fModel = this.funderModel;\r\n var model = {\r\n funder: this.funderModel.funder,\r\n projectId: this.funderModel.projectId,\r\n funderId: this.funderModel.funderId,\r\n fundingTypeId: this.funderModel.fundingTypeId,\r\n amount: this.funderModel.amount,\r\n currency: this.funderModel.currency,\r\n exchangeRate: this.funderModel.exchangeRate,\r\n dated: fModel.dated.year + '-' + fModel.dated.month + '-' + fModel.dated.day,\r\n }\r\n\r\n if (this.funderEntryType == 'iati' || isNewFunder) {\r\n if (!isNewFunder && (this.funderModel.funder == null || this.funderModel.funder.length == 0)) {\r\n this.errorMessage = Messages.PROJECT_DEPENDENCY;\r\n this.errorModal.openModal();\r\n return false;\r\n } else {\r\n var funderModel = {\r\n Name: this.funderModel.funder\r\n }\r\n this.organizationService.addOrganization(funderModel).subscribe(\r\n data => {\r\n if (data) {\r\n model.funderId = data;\r\n this.addProjectFunder(model);\r\n } else {\r\n this.blockUI.stop();\r\n }\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n } else {\r\n var selectedFunder = this.organizationsList.filter(f => f.id == this.funderModel.funderId);\r\n if (selectedFunder && selectedFunder.length > 0) {\r\n this.funderModel.funder = selectedFunder[0].organizationName;\r\n }\r\n this.addProjectFunder(model);\r\n }\r\n }\r\n\r\n addProjectFunder(model: any) {\r\n this.projectService.addProjectFunder(model).subscribe(\r\n data => {\r\n if (data) {\r\n model.funder = this.funderModel.funder;\r\n var gTypeArr = this.fundingTypesList.filter(g => g.id == model.fundingTypeId);\r\n if (gTypeArr.length > 0) {\r\n model.fundingTypeId = gTypeArr[0].id;\r\n model.fundingType = gTypeArr[0].fundingType;\r\n }\r\n this.currentProjectFundersList.push(model);\r\n this.resetFunderEntry();\r\n this.resetDataEntryValidation();\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.blockUI.stop();\r\n this.resetFunderEntry();\r\n }\r\n )\r\n }\r\n\r\n deleteProjectFunder(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var funderId = arr[2];\r\n var totalFunding = this.calculateProjectFunding();\r\n var totalDisbursement = this.calculateProjectDisbursement();\r\n var deleteFunder = this.currentProjectFundersList.filter(f => f.funderId == funderId);\r\n\r\n this.blockUI.start('Removing Funder...');\r\n this.projectService.deleteProjectFunder(projectId, funderId).subscribe(\r\n data => {\r\n if (data) {\r\n this.currentProjectFundersList = this.currentProjectFundersList.filter(f => f.funderId != funderId);\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n /**End of managing project funders */\r\n\r\n /**Managing Implementers */\r\n saveProjectImplementer(frm: any) {\r\n this.currentEntryForm = frm;\r\n var activeProject = localStorage.getItem('active-project');\r\n var projectId = 0;\r\n\r\n if (activeProject && activeProject != '0') {\r\n projectId = parseInt(activeProject);\r\n this.implementerModel.projectId = projectId;\r\n } else {\r\n this.errorMessage = Messages.PROJECT_DEPENDENCY;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var implementerName = null;\r\n if (this.implementerEntryType == 'iati') {\r\n implementerName = this.implementerModel.implementer;\r\n } else {\r\n implementerName = (this.implementerInput.value && this.implementerInput.value.organizationName) ? this.implementerInput.value.organizationName : this.implementerInput.value;\r\n }\r\n\r\n if (!implementerName) {\r\n this.errorMessage = Messages.INVALID_IMPLEMENTER;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n implementerName = implementerName.toLowerCase().trim();\r\n if (this.selectedImplementerId == 0) {\r\n var isImplementerExists = this.organizationsList.filter(o => o.organizationName.toLowerCase().trim() == implementerName);\r\n if (isImplementerExists.length == 0) {\r\n this.errorMessage = Messages.SELECT_IMPLEMENTER_FROM_LIST;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n }\r\n\r\n var isNewImplementer = false;\r\n if (this.selectedImplementerId != 0) {\r\n this.implementerModel.implementerId = this.selectedImplementerId;\r\n var implementerExists = this.currentProjectImplementersList.filter(i => i.implementerId == this.selectedImplementerId);\r\n if (implementerExists.length > 0) {\r\n if (implementerName && implementerName == implementerExists[0].implementer.toLowerCase().trim()) {\r\n this.errorMessage = 'Selected implementer ' + Messages.ALREADY_IN_LIST;\r\n this.errorModal.openModal();\r\n return false;\r\n } else {\r\n this.errorMessage = Messages.SELECT_IMPLEMENTER_FROM_LIST;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n }\r\n } else if (this.implementerEntryType == 'aims' && this.selectedImplementerId == 0) {\r\n this.implementerModel.implementerId = 0;\r\n this.errorMessage = 'Select an implementer';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.blockUI.start('Saving Implementer...');\r\n var model = {\r\n implementer: this.implementerModel.implementer,\r\n projectId: this.implementerModel.projectId,\r\n implementerId: this.implementerModel.implementerId,\r\n }\r\n\r\n if (this.implementerEntryType == 'iati') {\r\n if (this.implementerModel.implementer == null || this.implementerModel.implementer.length == 0) {\r\n this.errorMessage = 'Provide a valid name for Implementer';\r\n this.errorModal.openModal();\r\n return false;\r\n } else {\r\n var orgModel = {\r\n Name: this.implementerModel.implementer\r\n }\r\n this.organizationService.addOrganization(orgModel).subscribe(\r\n data => {\r\n if (data) {\r\n model.implementerId = data;\r\n this.addProjectImplementer(model);\r\n } else {\r\n this.blockUI.stop();\r\n }\r\n },\r\n error => {\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n } else {\r\n var selectImplementer = this.organizationsList.filter(i => i.id == this.implementerModel.implementerId);\r\n if (selectImplementer && selectImplementer.length > 0) {\r\n model.implementer = selectImplementer[0].organizationName;\r\n }\r\n this.addProjectImplementer(model);\r\n }\r\n }\r\n\r\n addProjectImplementer(model: any) {\r\n this.projectService.addProjectImplementer(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.currentProjectImplementersList.push(model);\r\n this.resetImplementerEntry();\r\n this.resetDataEntryValidation();\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n deleteProjectImplementer(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var implementerId = arr[2];\r\n\r\n this.blockUI.start('Removing Implementer...');\r\n this.projectService.deleteProjectImplementer(projectId, implementerId).subscribe(\r\n data => {\r\n if (data) {\r\n this.currentProjectImplementersList = this.currentProjectImplementersList.filter(i => i.implementerId != implementerId);\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n /**End of managing project implementer */\r\n\r\n\r\n /**Managing Disbursements */\r\n saveProjectDisbursement(frm: any) {\r\n if (!this.disbursementModel.dated) {\r\n return false;\r\n }\r\n\r\n this.currentEntryForm = frm;\r\n var activeProject = localStorage.getItem('active-project');\r\n var projectId = 0;\r\n\r\n if (activeProject && activeProject != '0') {\r\n projectId = parseInt(activeProject);\r\n this.disbursementModel.projectId = projectId;\r\n } else {\r\n this.errorMessage = Messages.PROJECT_DEPENDENCY;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.disbursementModel.amount < 1) {\r\n this.errorMessage = 'Disbursement amount ' + Messages.CANNOT_BE_ZERO;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.disbursementModel.exchangeRate <= 0) {\r\n this.errorMessage = \"Exchange rate for USD \" + Messages.CANNOT_BE_ZERO;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.disbursementModel.dated == null) {\r\n this.errorMessage = Messages.INVALID_DATE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var dModel = this.disbursementModel;\r\n var formattedDate = dModel.dated.year + '-' + dModel.dated.month + '-' + dModel.dated.day\r\n var todaysDate = new Date(this.storeService.getCurrentDateSQLFormat());\r\n var disbursementDate = new Date(formattedDate);\r\n\r\n if (disbursementDate > todaysDate) {\r\n this.errorMessage = Messages.INVALID_FUTURE_DATE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var model = {\r\n dated: dModel.dated.year + '-' + dModel.dated.month + '-' + dModel.dated.day,\r\n formattedDate: dModel.dated.year + '-' + dModel.dated.month + '-' + dModel.dated.day,\r\n projectId: this.disbursementModel.projectId,\r\n amount: this.disbursementModel.amount,\r\n currency: this.disbursementModel.currency,\r\n exchangeRate: this.disbursementModel.exchangeRate\r\n };\r\n\r\n var totalFund = this.calculateProjectFunding();\r\n var totalDisbursement = this.calculateProjectDisbursement();\r\n\r\n if (this.disbursementModel.exchangeRate != 1) {\r\n totalDisbursement += parseFloat((this.disbursementModel.amount * (1 / this.disbursementModel.exchangeRate)).toString());\r\n } else {\r\n totalDisbursement += parseFloat(this.disbursementModel.amount.toString());\r\n }\r\n\r\n\r\n if (totalDisbursement > totalFund) {\r\n this.errorMessage = Messages.INVALID_DISBURSEMENT;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n this.blockUI.start('Saving Disbursement...');\r\n this.addProjectDisbursement(model);\r\n }\r\n\r\n addProjectDisbursement(model: any) {\r\n this.projectService.addProjectDisbursement(model).subscribe(\r\n data => {\r\n if (data) {\r\n model.id = data;\r\n this.currentProjectDisbursementsList.push(model);\r\n this.totalDisbursements = this.calculateProjectDisbursement();\r\n this.resetDisbursementEntry();\r\n this.resetDataEntryValidation();\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n deleteProjectDisbursement(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var id = arr[2];\r\n\r\n this.blockUI.start('Removing Disbursement...');\r\n this.projectService.deleteProjectDisbursement(id).subscribe(\r\n data => {\r\n if (data) {\r\n this.currentProjectDisbursementsList = this.currentProjectDisbursementsList.filter(d => (d.id != id));\r\n this.totalDisbursements = this.calculateProjectDisbursement();\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n /**End of managing project documents */\r\n\r\n /*Managing project custom fields*/\r\n selectFieldValue(fieldType: any, id: number, fieldId: number, el: any, isTypeText = false) {\r\n if (id == -1) {\r\n id = el.target.value;\r\n }\r\n\r\n if (!id) {\r\n return false;\r\n }\r\n\r\n var result = [];\r\n if (isTypeText) {\r\n result = this.markersList.filter(f => f.fieldType == fieldType && f.id == fieldId);\r\n if (result.length > 0) {\r\n var isExists = this.currentSelectedFieldValues.filter(f => f.fieldId == fieldId);\r\n if (isExists.length > 0) {\r\n isExists[0].values[0].value = this.fieldModel.newText;\r\n } else {\r\n var newTextField = {\r\n fieldId: fieldId,\r\n fieldType: fieldType,\r\n values: [\r\n { id: 1, value: this.fieldModel.newText }\r\n ]\r\n };\r\n this.currentSelectedFieldValues.push(newTextField);\r\n }\r\n }\r\n } else {\r\n result = this.markersList.filter(f => f.fieldType == fieldType && f.id == fieldId).map(f => f.values)[0].filter(v => parseInt(v.id) == id);\r\n if (result.length > 0) {\r\n var values: any = [];\r\n\r\n if (el.currentTarget.type === 'checkbox') {\r\n if (!el.currentTarget.checked) {\r\n result = this.currentSelectedFieldValues.filter(f => f.fieldType == fieldType && f.fieldId == fieldId).map(f => f.values)[0].filter(v => parseInt(v.id) != id);\r\n }\r\n }\r\n\r\n if (this.currentSelectedFieldValues.length > 0) {\r\n var isExists = this.currentSelectedFieldValues.filter(f => f.fieldId == fieldId);\r\n if (isExists.length > 0) {\r\n if (fieldType != this.fieldTypeConstants.Checkbox) {\r\n isExists[0].values = [];\r\n }\r\n\r\n var isValueExists = isExists[0].values.filter(v => v.id == id);\r\n if (isValueExists.length == 0) {\r\n isExists[0].values.push({\r\n id: id,\r\n value: result[0].value\r\n });\r\n }\r\n } else {\r\n var newField = {\r\n fieldId: fieldId,\r\n fieldType: fieldType,\r\n values: [\r\n { id: result[0].id, value: result[0].value }\r\n ]\r\n };\r\n this.currentSelectedFieldValues.push(newField);\r\n }\r\n } else {\r\n var newField = {\r\n fieldId: fieldId,\r\n fieldType: fieldType,\r\n values: [\r\n { id: result[0].id, value: result[0].value }\r\n ]\r\n };\r\n this.currentSelectedFieldValues.push(newField);\r\n }\r\n }\r\n }\r\n }\r\n\r\n saveProjectFields(id: number) {\r\n var selectedField = this.currentSelectedFieldValues.filter(f => f.fieldId == id);\r\n if (selectedField.length > 0) {\r\n if (selectedField[0].values.length == 0) {\r\n this.errorMessage = Messages.INVALID_OPTION_VALUE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var stringifiedJson = JSON.stringify(selectedField[0].values);\r\n var saveFieldModel = {\r\n projectId: this.activeProjectId,\r\n markerId: id,\r\n fieldType: selectedField[0].fieldType,\r\n values: stringifiedJson\r\n }\r\n\r\n this.blockUI.start('Saving...');\r\n this.projectService.saveProjectMarker(saveFieldModel).subscribe(\r\n data => {\r\n if (data) {\r\n var isFieldExists = this.currentProjectFieldsList.filter(f => f.markerId == id);\r\n if (isFieldExists.length > 0) {\r\n var values = [];\r\n selectedField[0].values.forEach(function (v) {\r\n values.push({\r\n id: v.id,\r\n value: v.value\r\n });\r\n });\r\n isFieldExists[0].values = values;\r\n } else {\r\n var marker = this.markersList.filter(c => c.id == id);\r\n var fieldTitle = '';\r\n if (marker.length > 0) {\r\n fieldTitle = marker[0].fieldTitle;\r\n }\r\n\r\n var values = [];\r\n selectedField[0].values.forEach(function (v) {\r\n values.push({\r\n id: v.id,\r\n value: v.value\r\n });\r\n });\r\n\r\n this.currentProjectFieldsList.push({\r\n markerId: id,\r\n fieldTitle: fieldTitle,\r\n fieldType: selectedField[0].fieldType,\r\n values: values,\r\n projectId: this.activeProjectId\r\n });\r\n }\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n deleteProjectField(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var fieldId = arr[2];\r\n\r\n this.blockUI.start('Removing Field...');\r\n this.projectService.deleteProjectMarker(projectId, fieldId).subscribe(\r\n data => {\r\n if (data) {\r\n this.currentProjectFieldsList = this.currentProjectFieldsList.filter(c => c.markerId != fieldId);\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n /** General functions */\r\n calculateSectorPercentage() {\r\n var percentageList = this.currentProjectSectorsList.map(s => parseInt(s.fundsPercentage));\r\n return percentageList.reduce(this.storeService.sumValues, 0);\r\n }\r\n\r\n calculateLocationPercentage() {\r\n var percentageList = this.currentProjectLocationsList.map(s => parseInt(s.fundsPercentage));\r\n return percentageList.reduce(this.storeService.sumValues, 0);\r\n }\r\n\r\n getExRateSettings() {\r\n this.currencyService.getExRateSettings().subscribe(\r\n data => {\r\n this.manualExRateLabel = data.manualExchangeRateSource;\r\n this.exRateSources.push({\r\n id: 2,\r\n value: this.manualExRateLabel\r\n });\r\n this.exRateSources.push({\r\n id: 3,\r\n value: 'User supplied'\r\n });\r\n }\r\n );\r\n }\r\n\r\n getExchangeRatesList() {\r\n this.currencyService.getExchangeRatesList().subscribe(\r\n data => {\r\n if (data) {\r\n if (data.rates) {\r\n this.todaysExchangeRates = data.rates;\r\n var exRate = this.todaysExchangeRates.filter(e => e.currency == this.defaultCurrency);\r\n if (exRate.length > 0) {\r\n this.defaultCurrencyRate = exRate[0].rate;\r\n //this.covertPreviousExRates();\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n selectExRateSource(eFor: any) {\r\n if (eFor == this.exRateFor.FUNDING) {\r\n if (this.funderModel.exRateSource == this.exRateSourceCodes.MANUAL) {\r\n this.isFundingExRateReadonly = false;\r\n this.funderExRate.nativeElement.focus();\r\n this.funderExRate.nativeElement.select();\r\n } else {\r\n if (!this.funderModel.exRateSource || this.funderModel.exRateSource == 'null') {\r\n this.isFundingExRateReadonly = true;\r\n return false;\r\n }\r\n this.isFundingExRateReadonly = true;\r\n }\r\n this.getExchangeRates(eFor);\r\n } else if (eFor == this.exRateFor.DISBURSEMENT) {\r\n if (this.disbursementModel.exRateSource == this.exRateSourceCodes.MANUAL) {\r\n this.isDisbursementExRateReadonly = false;\r\n this.disbursementExRate.nativeElement.focus();\r\n this.disbursementExRate.nativeElement.select();\r\n } else {\r\n if (!this.disbursementModel.exRateSource || this.disbursementModel.exRateSource == 'null') {\r\n this.isDisbursementExRateReadonly = true;\r\n return false;\r\n }\r\n this.isDisbursementExRateReadonly = true;\r\n }\r\n this.getExchangeRates(eFor);\r\n }\r\n }\r\n\r\n filterExRateSources(sFor: string) {\r\n var sCurrency = null;\r\n if (sFor == this.exRateFor.FUNDING) {\r\n this.funderModel.exRateSource = null;\r\n this.funderModel.exchangeRate = 0;\r\n this.isFundingExRateReadonly = true;\r\n this.funderModel.amountInDefaultCurrency = 0;\r\n sCurrency = this.funderModel.currency;\r\n } else {\r\n this.disbursementModel.exRateSource = null;\r\n this.disbursementModel.exchangeRate = 0;\r\n this.isDisbursementExRateReadonly = true;\r\n this.disbursementModel.amountInDefaultCurrency = 0;\r\n sCurrency = this.disbursementModel.currency;\r\n }\r\n\r\n if (sCurrency != this.defaultCurrency && sCurrency != this.nationalCurrency) {\r\n this.filteredExRateSources = this.exRateSources.filter(r => r.id != this.exRateSourceCodes.CENTRAL_BANK);\r\n } else {\r\n this.filteredExRateSources = this.exRateSources;\r\n }\r\n\r\n this.getExchangeRates(sFor);\r\n }\r\n\r\n calculateAmountInDefault(cFor: string) {\r\n if (cFor == this.exRateFor.FUNDING) {\r\n var amount = this.funderModel.amount;\r\n var exRate = this.funderModel.exchangeRate;\r\n if (amount && exRate) {\r\n if (parseFloat(exRate.toString()) < 0.1) {\r\n this.funderModel.amountInDefaultCurrency = 0;\r\n } else {\r\n this.funderModel.amountInDefaultCurrency = Math.round(((this.defaultCurrencyRate / exRate) * amount));\r\n }\r\n } else {\r\n this.funderModel.amountInDefaultCurrency = 0;\r\n }\r\n } else if (cFor == this.exRateFor.DISBURSEMENT) {\r\n var amount = this.disbursementModel.amount;\r\n var exRate = this.disbursementModel.exchangeRate;\r\n if (amount && exRate) {\r\n if (parseFloat(exRate.toString()) < 0.1) {\r\n this.disbursementModel.amountInDefaultCurrency = 0;\r\n } else {\r\n this.disbursementModel.amountInDefaultCurrency = Math.round(((this.defaultCurrencyRate / exRate) * amount));\r\n }\r\n\r\n } else {\r\n this.disbursementModel.amountInDefaultCurrency = 0;\r\n }\r\n } else {\r\n this.disbursementModel.amountInDefaultCurrency = 0;\r\n }\r\n }\r\n\r\n getExchangeRates(eFor: string) {\r\n this.funderModel.exRateDated = null;\r\n this.disbursementModel.exRateDated = null;\r\n if (eFor == this.exRateFor.FUNDING) {\r\n if (!this.funderModel.dated || !this.funderModel.currency || !this.funderModel.exRateSource) {\r\n return false;\r\n }\r\n }\r\n\r\n if (eFor == this.exRateFor.DISBURSEMENT) {\r\n if (!this.disbursementModel.dated || !this.disbursementModel.currency || !this.disbursementModel.exRateSource) {\r\n return false;\r\n }\r\n }\r\n\r\n this.blockUI.start('Searching exchange rate...');\r\n var dated = null;\r\n var exRateSource = null;\r\n if (eFor == this.exRateFor.FUNDING) {\r\n var fundingDate = this.funderModel.dated;\r\n dated = fundingDate.year + '-' + fundingDate.month + '-' + fundingDate.day;\r\n exRateSource = this.funderModel.exRateSource;\r\n } else if (eFor == this.exRateFor.DISBURSEMENT) {\r\n var disbursementDate = this.disbursementModel.dated;\r\n dated = disbursementDate.year + '-' + disbursementDate.month + '-' + disbursementDate.day;\r\n exRateSource = this.disbursementModel.exRateSource;\r\n }\r\n\r\n if (exRateSource == this.exRateSourceCodes.MANUAL) {\r\n this.blockUI.stop();\r\n return false;\r\n }\r\n\r\n if (exRateSource == this.exRateSourceCodes.OPEN_EXCHANGE) {\r\n this.currencyService.getExchangeRatesForDate(dated).subscribe(\r\n data => {\r\n if (data) {\r\n var rates = data.rates;\r\n\r\n if (rates) {\r\n if (eFor == this.exRateFor.FUNDING) {\r\n var rate = rates.filter(r => r.currency == this.funderModel.currency);\r\n if (rate.length > 0) {\r\n this.funderModel.exchangeRate = rate[0].rate;\r\n this.funderModel.exRateDated = data.dated;\r\n this.calculateAmountInDefault(this.exRateFor.FUNDING);\r\n }\r\n } else if (eFor == this.exRateFor.DISBURSEMENT) {\r\n var rate = rates.filter(r => r.currency == this.disbursementModel.currency);\r\n if (rate.length > 0) {\r\n this.disbursementModel.exchangeRate = rate[0].rate;\r\n this.disbursementModel.exRateDated = data.dated;\r\n this.calculateAmountInDefault(this.exRateFor.DISBURSEMENT);\r\n }\r\n }\r\n }\r\n } else {\r\n this.errorMessage = Messages.EX_RATE_NOT_FOUND;\r\n this.errorModal.openModal();\r\n }\r\n this.blockUI.stop();\r\n }\r\n )\r\n } else if (exRateSource == this.exRateSourceCodes.CENTRAL_BANK) {\r\n if (this.funderModel.currency == this.defaultCurrency) {\r\n this.funderModel.exchangeRate = this.defaultCurrencyRate;\r\n this.blockUI.stop();\r\n } else if (this.disbursementModel.currency == this.defaultCurrency) {\r\n this.disbursementModel.exchangeRate = this.defaultCurrencyRate;\r\n this.blockUI.stop();\r\n } else {\r\n this.currencyService.getManualExRatesByDate(dated).subscribe(\r\n data => {\r\n if (data) {\r\n if (data.exchangeRate) {\r\n if (eFor == this.exRateFor.FUNDING) {\r\n this.funderModel.exchangeRate = data.exchangeRate;\r\n this.funderModel.exRateDated = data.dated;\r\n this.calculateAmountInDefault(this.exRateFor.FUNDING);\r\n } else if (eFor == this.exRateFor.DISBURSEMENT) {\r\n this.disbursementModel.exchangeRate = data.exchangeRate;\r\n this.disbursementModel.exRateDated = data.dated;\r\n this.calculateAmountInDefault(this.exRateFor.DISBURSEMENT);\r\n }\r\n }\r\n } else {\r\n this.errorMessage = Messages.EX_RATE_NOT_FOUND;\r\n this.errorModal.openModal();\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n covertPreviousExRates() {\r\n if (this.currentProjectFundersList.length > 0) {\r\n this.currentProjectFundersList.forEach(f => {\r\n f.exchangeRate = (this.defaultCurrencyRate / f.exchangeRate);\r\n });\r\n }\r\n\r\n if (this.currentProjectDisbursementsList.length > 0) {\r\n this.currentProjectDisbursementsList.forEach(i => {\r\n i.exchangeRate = (this.defaultCurrencyRate / i.exchangeRate);\r\n });\r\n }\r\n }\r\n\r\n getCurrencyExchangeRate(currency: string) {\r\n var exRate = null;\r\n if (this.exchangeRatesList.length > 0) {\r\n this.exRatePlaceHolder = 'Fetching latest rate...';\r\n\r\n var foundRate = this.exchangeRatesList.filter(e => e.currency == currency);\r\n var defaultCurrencyRate = this.exchangeRatesList.filter(e => e.currency == this.defaultCurrency);\r\n var proposedRate = 0;\r\n if (foundRate.length > 0) {\r\n proposedRate = parseFloat(foundRate[0].rate);\r\n }\r\n if (defaultCurrencyRate.length > 0) {\r\n var defaultRate = parseFloat(defaultCurrencyRate[0].rate);\r\n if (defaultRate == 1) {\r\n if (proposedRate < 1) {\r\n exRate = (1 / proposedRate).toFixed(2);\r\n } else {\r\n exRate = proposedRate;\r\n }\r\n } else {\r\n if (proposedRate < 1) {\r\n if (defaultRate < proposedRate) {\r\n exRate = (proposedRate / defaultRate).toFixed(2);\r\n } else if (defaultRate > proposedRate) {\r\n exRate = (defaultRate / proposedRate).toFixed(2);\r\n }\r\n } else if (proposedRate > 1) {\r\n if (defaultRate < proposedRate) {\r\n exRate = (defaultRate / proposedRate).toFixed(2);\r\n } else if (defaultRate > proposedRate) {\r\n if (defaultRate > proposedRate) {\r\n exRate = (proposedRate / defaultRate).toFixed(2);\r\n }\r\n }\r\n } else if (proposedRate == 1) {\r\n if (defaultRate < 1) {\r\n exRate = (proposedRate / defaultRate).toFixed(2);\r\n } else {\r\n exRate = (defaultRate / proposedRate).toFixed(2);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return exRate;\r\n }\r\n\r\n getCurrencyManualExchangeRate() {\r\n if (this.funderModel.dated) {\r\n var dated = new Date(this.funderModel.dated.year + '-' + this.funderModel.dated.month + '-'\r\n + this.funderModel.dated.date);\r\n this.currencyService.getManualExRatesByDate(dated.toString()).subscribe(\r\n data => {\r\n }\r\n );\r\n }\r\n }\r\n\r\n getExchangeRateForFunding() {\r\n if (this.funderModel.exRateSource == this.exRateSourceCodes.OPEN_EXCHANGE) {\r\n this.funderModel.exchangeRate = this.getCurrencyExchangeRate(this.funderModel.currency);\r\n } else if (this.funderModel.exRateSource == this.exRateSourceCodes.CENTRAL_BANK) {\r\n }\r\n }\r\n\r\n getExchangeRateForDisbursement() {\r\n this.disbursementModel.exchangeRate = this.getCurrencyExchangeRate(this.disbursementModel.currency);\r\n }\r\n\r\n calculateProjectFunding() {\r\n var amountsList = this.currentProjectFundersList.map(f => (f.exchangeRate > 1 || f.exchangeRate < 1) ? parseFloat((f.amount * (this.defaultCurrencyRate / f.exchangeRate)).toFixed(2)) : parseFloat((f.amount * f.exchangeRate).toFixed(2)));\r\n return amountsList.reduce(this.storeService.sumValues, 0);\r\n }\r\n\r\n calculateProjectDisbursement() {\r\n var amountsList = this.currentProjectDisbursementsList.map(d => (d.exchangeRate > 1 || d.exchangeRate < 1) ? parseFloat((d.amount * (1 / d.exchangeRate)).toFixed(2)) : parseFloat((d.amount * d.exchangeRate).toFixed(2)));\r\n return parseFloat(amountsList.reduce(this.storeService.sumValues, 0));\r\n }\r\n\r\n checkFieldType(typeId: number) {\r\n var result = this.fieldTypes.filter(f => f.typeId == typeId).map(f => f.field);\r\n return result;\r\n }\r\n\r\n displayFieldValues(json: any) {\r\n return this.storeService.parseAndDisplayJsonAsString(json);\r\n }\r\n\r\n checkIfSelected() {\r\n /*this.currentProjectFieldsList.forEach(function (field) {\r\n var id = field.id;\r\n\r\n var values = this.storeService.parseJson(this.markersList.filter(f => f.id == id).map(v => v.values));\r\n if (values.length > 0) {\r\n var optionValue = values[0].filter(v => v.id == valId);\r\n optionValue.length > 0 ? optionValue[0].isSelected = true : null;\r\n }\r\n });*/\r\n }\r\n\r\n isShowMarkers() {\r\n var isLoanExists = this.currentProjectFundersList.filter(f => f.fundingType == this.conditionsForMarkers.GRANT_LAON);\r\n if (isLoanExists.length > 0) {\r\n return true;\r\n }\r\n\r\n var isHealthExists = this.currentProjectSectorsList.filter(s => s.sector.toLowerCase().indexOf(this.conditionsForMarkers.HEALTH_SECTOR));\r\n if (isHealthExists.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getFieldType(id: number) {\r\n return this.fieldType[id];\r\n }\r\n\r\n formatDateUKStyle(dated: any) {\r\n dated = dated.split('T')[0];\r\n var validDate = Date.parse(dated);\r\n if (isNaN(validDate)) {\r\n return 'Invalid date';\r\n }\r\n var datesArr = dated.split('/');\r\n if (datesArr.length == 1) {\r\n datesArr = dated.split('-');\r\n return this.storeService.formatDateInUkStyle(parseInt(datesArr[0]), parseInt(datesArr[1]), parseInt(datesArr[2]));\r\n } else {\r\n return this.storeService.formatDateInUkStyle(parseInt(datesArr[2]), parseInt(datesArr[0]), parseInt(datesArr[1]));\r\n }\r\n\r\n }\r\n\r\n formatToLongDate(dated: string) {\r\n return this.storeService.getLongDateString(dated);\r\n }\r\n\r\n /*Reset form states*/\r\n resetProjectEntry() {\r\n if (this.activeProjectId != null && this.activeProjectId != 0) {\r\n this.btnProjectText = 'Edit Project';\r\n } else {\r\n this.btnProjectText = 'Save Project';\r\n }\r\n this.isProjectBtnDisabled = false;\r\n }\r\n\r\n resetSectorEntry() {\r\n this.sectorEntryType = 'aims';\r\n this.isSectorVisible = false;\r\n this.sectorPlaceHolder = 'Enter/Select Sector';\r\n this.sectorModel.fundsPercentage = 0.00;\r\n this.sectorModel.parentId = 0;\r\n this.sectorModel.projectId = 0;\r\n this.sectorModel.sectorId = null;\r\n this.sectorModel.sectorName = null;\r\n this.isSectorTypeDisabled = false;\r\n this.showMappingAuto = false;\r\n this.showMappingManual = false;\r\n }\r\n\r\n resetLocationEntry() {\r\n this.locationEntryType = 'aims';\r\n this.locationModel.fundsPercentage = 0.00;\r\n this.locationModel.projectId = 0;\r\n this.locationModel.locationId = null;\r\n this.locationModel.location = '';\r\n }\r\n\r\n resetFunderEntry() {\r\n this.funderEntryType = 'aims';\r\n this.funderModel.funder = '';\r\n this.funderModel.funderId = null;\r\n this.funderModel.currency = null;\r\n this.funderModel.amount = 0.00;\r\n this.funderModel.exchangeRate = 0.00;\r\n this.selectedFunderId = 0;\r\n this.funderModel.amountInDefaultCurrency = 0;\r\n this.funderModel.exRateDated = null;\r\n this.funderInput.setValue(null);\r\n }\r\n\r\n resetImplementerEntry() {\r\n this.implementerEntryType = 'aims';\r\n this.implementerModel.implementer = null;\r\n this.implementerModel.implementerId = null;\r\n this.selectedImplementerId = 0;\r\n this.implementerInput.setValue(null);\r\n }\r\n\r\n resetDisbursementEntry() {\r\n this.disbursementEntryType = 'aims';\r\n this.disbursementModel.dated = null;\r\n this.disbursementModel.formattedDate = null;\r\n this.disbursementModel.amount = 0.00;\r\n this.disbursementModel.exRateSource = null;\r\n this.disbursementModel.currency = null;\r\n this.disbursementModel.exRateDated = null;\r\n this.disbursementModel.amountInDefaultCurrency = 0;\r\n this.disbursementModel.exchangeRate = 0;\r\n }\r\n\r\n resetDocumentEntry() {\r\n this.documentModel.documentTitle = null;\r\n this.documentModel.documentUrl = null;\r\n }\r\n\r\n resetDataEntryValidation() {\r\n this.currentEntryForm.resetForm();\r\n }\r\n\r\n resetMarkers() {\r\n this.fieldModel.dropdownId = null;\r\n this.fieldModel.newText = null;\r\n this.markersList.forEach(c => c.values.forEach(v => v.isSelected = false));\r\n }\r\n\r\n finishProject() {\r\n this.router.navigateByUrl('new-project');\r\n }\r\n\r\n deleteProject() {\r\n //To write the logic\r\n }\r\n\r\n goToHome() {\r\n localStorage.setItem('selected-projects', null);\r\n localStorage.setItem('active-project', '0');\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n displayNull(val: string) {\r\n return val ? val : 'N/a';\r\n }\r\n\r\n getDescriptionLimitInfo() {\r\n this.descriptionLimitLeft = (this.descriptionLimit - this.model.description.length);\r\n if (this.descriptionLimitLeft < 0) {\r\n this.model.description = this.model.description.substring(0, (this.descriptionLimit - 1));\r\n }\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n Information! {{infoMessage}}\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Source projects
\r\n\r\n
\r\n \r\n \r\n Wait loading aims data...\r\n \r\n \r\n \r\n \r\n \r\n \r\n Wait loading iati data...\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Project title: {{project.title | truncate}}   View\r\n Details
\r\n \r\n
\r\n Start date: {{project.startDate}} 
\r\n
\r\n
\r\n End date: {{project.endDate}} 
\r\n
\r\n AIMS\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Project title: {{project.title | truncate}}   View\r\n Details
\r\n
\r\n Start date: {{project.startDate}} 
\r\n
\r\n
\r\n End date: {{project.endDate}} 
\r\n
\r\n IATI\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
New project
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Project title is required\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n Start date is required\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n End date is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Source projects
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Project title: {{project.title | truncate}} View\r\n Details
\r\n AIMS\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorFunds %Action
\r\n {{sector.sector}}\r\n \r\n {{sector.fundsPercentage}}\r\n \r\n \r\n
\r\n
No sectors available
\r\n
\r\n \r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n Project title: {{project.title | truncate}} View\r\n Details
\r\n IATI\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorFunds %Action
\r\n {{sector.sectorName}}\r\n \r\n {{sector.fundsPercentage}}\r\n \r\n \r\n
\r\n
No sectors available
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Manage sectors
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Sector type is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{sector.sectorName}}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Sector name is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
0\">\r\n \r\n {{mappingsCount}} mapping/s found\r\n \r\n \r\n Map manually\r\n \r\n  \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
No mappings found, map sector manually
\r\n
\r\n Mapping for sector is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
0\"\r\n class=\"alert alert-danger\">\r\n Valid values for funds percentage are 1 - 100\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Project sectors
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorFund %Action
{{sector.sector}}{{sector.fundsPercentage}}\r\n \r\n
\r\n 100 || sectorTotalPercentage < 0)\" class=\"float-left\">\r\n Invalid percentage value.\r\n \r\n \r\n Total percentage: {{sectorTotalPercentage}} %\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Source projects
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Project title: {{project.title | truncate}} View\r\n Details
\r\n AIMS\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
LocationFunds %Action
\r\n {{location.location}}\r\n \r\n {{location.fundsPercentage}}\r\n \r\n \r\n
\r\n
No locations available
\r\n
\r\n \r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n Project title: {{project.title | truncate}} View\r\n Details
\r\n IATI\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Location
\r\n {{location.name}}\r\n
\r\n
No locations available
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Manage locations
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Location is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Location is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
0\"\r\n class=\"alert alert-danger\">\r\n Valid values for funds percentage are 1 - 100\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Project locations
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
LocationFund %Action
{{location.location}}{{location.fundsPercentage}}\r\n \r\n
\r\n 100 || locationTotalPercentage < 0)\" class=\"float-left\">\r\n Invalid percentage value.\r\n \r\n \r\n Total percentage: {{locationTotalPercentage}} %\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Source projects
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Project title: {{project.title | truncate}} View\r\n Details
\r\n AIMS\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Document titleUrlAction
\r\n {{document.documentTitle}}\r\n \r\n {{document.documentUrl}}\r\n \r\n \r\n
\r\n
No documents available
\r\n
\r\n \r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n Project title: {{project.title | truncate}} View\r\n Details
\r\n IATI\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Document titleDocument urlAction
\r\n {{document.documentTitle}}\r\n \r\n {{document.documentUrl}}\r\n \r\n \r\n
\r\n
No documents available
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Manage documents & links
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Document title is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Document url is required\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Project documents and links
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Document titleUrlAction
{{document.documentTitle}}{{document.documentUrl}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Source projects
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Project title: {{project.title | truncate}} View\r\n Details
\r\n AIMS\r\n \r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Funder nameAction
\r\n {{funder.funder}}\r\n \r\n \r\n
\r\n
No funders from AIMS found.
\r\n
\r\n \r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n Project title: {{project.title | truncate}} View\r\n Details
\r\n \r\n
IATI
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n 0\" class=\"table table-bordered margin-top-5\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Funder nameAction
\r\n {{funder.name}}\r\n \r\n \r\n
\r\n
\r\n No funders to show.\r\n
\r\n
\r\n \r\n
\r\n 0\" class=\"table table-bordered margin-top-5\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
AmountCurrencyDatedAction
\r\n {{displayNull(budget.amount)}}\r\n \r\n {{displayNull(budget.currency)}}\r\n \r\n {{displayNull(budget.endDate)}}\r\n \r\n \r\n
\r\n
\r\n No budgets to show.\r\n
\r\n
\r\n \r\n
\r\n 0\" class=\"table table-bordered margin-top-5\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
AmountTypeDatedAction
\r\n {{displayNull(transaction.amount)}}\r\n \r\n {{transaction.transactionType}}\r\n \r\n {{displayNull(transaction.dated)}}\r\n \r\n \r\n
\r\n
\r\n No transactions to show.\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Manage funders
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{org.organizationName}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Funder Name is required\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Funding type is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
0\"\r\n class=\"alert alert-danger\">\r\n Enter valid amount having optionally 2 decimal points\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Currency is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Exchange rate source is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Closest matching exchange rate found for the provided date is on {{formatToLongDate(funderModel.exRateDated)}}\r\n
\r\n
\r\n Enter valid exchange rate for {{defaultCurrency}} (Max 6 decimal points)\r\n
\r\n
\r\n Default currency is not set. Please contact administrator\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Project funders
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
FunderTypeAmountCurrencyExchange rateAction
{{funder.funder}}{{funder.fundingType}}{{funder.amount | number:0}}{{funder.currency}}{{funder.exchangeRate}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Source projects
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Project title: {{project.title | truncate}} View\r\n Details
\r\n AIMS\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Implementer nameAction
\r\n {{implementer.implementer}}\r\n \r\n \r\n
\r\n
No implementers found.
\r\n
\r\n \r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n Project Title: {{project.title | truncate}} View\r\n Details
\r\n IATI\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Implementer NameAction
\r\n {{implementer.name}}\r\n \r\n \r\n
\r\n
No implementers\r\n found.
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Manage Implementers
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{org.organizationName}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n Implementer Name is required\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Project Implementers
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ImplementerAction
{{implementer.implementer}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Source projects
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Project Title: {{project.title | truncate}} View\r\n Details
\r\n AIMS\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Month/YearAmountAction
\r\n {{disbursement.year}} / {{disbursement.month}}\r\n \r\n {{disbursement.amount | number:0}}\r\n \r\n \r\n
\r\n
No disbursements available\r\n
\r\n
\r\n \r\n 0\" class=\"table table-bordered\">\r\n \r\n
\r\n Project Title: {{project.title | truncate}} View\r\n Details
\r\n IATI\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TypeCurrencyAmountDatedAction
\r\n {{disbursement.transactionType}}\r\n \r\n {{displayNull(disbursement.currency)}}\r\n \r\n {{disbursement.amount | number:0}}\r\n \r\n {{displayNull(disbursement.dated)}}\r\n \r\n \r\n
\r\n
No disbursements available\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Manage disbursements
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Enter valid amount having optionally 2 decimal points\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Currency is required\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Project disbursements
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
DatedAmountCurrencyEx. rateAction
{{formatDateUKStyle(disbursement.dated)}}{{disbursement.amount | number:0}}{{disbursement.currency}}{{disbursement.exchangeRate}}\r\n \r\n
\r\n \r\n In {{defaultCurrency}} \r\n Total funding: {{totalFunds}}\r\n \r\n \r\n Disbursements: {{totalDisbursements}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{field.fieldTitle}}
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n  {{val.value}}\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n  {{val.value}}\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Project fields
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Field titleValuesActions
{{field.fieldTitle}}{{displayFieldValues(field.values)}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
Finish Project
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NotificationService } from '../services/notification.service';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { StoreService } from '../services/store-service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { OrganizationService } from '../services/organization-service';\r\nimport { Messages } from '../config/messages';\r\nimport { ModalService } from '../services/modal.service';\r\n\r\n@Component({\r\n selector: 'app-notification',\r\n templateUrl: './notification.component.html',\r\n styleUrls: ['./notification.component.css']\r\n})\r\nexport class NotificationComponent implements OnInit {\r\n notifications: any = [];\r\n projectRequests: any = [];\r\n projectDeletionRequests: any = [];\r\n organizationMergeRequests: any = [];\r\n isLoading: boolean = true;\r\n showNoFound: boolean = false;\r\n infoMessage: string = null;\r\n errorMessage: string = null;\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n displayOption: number = null;\r\n permissions: any = {};\r\n currentTab: string = 'notifications';\r\n @BlockUI() blockUI: NgBlockUI;\r\n\r\n tabConstants: any = {\r\n 'USER_REGISTRATIONS': 'notifications',\r\n 'REQUESTS': 'requests',\r\n 'DELETION_REQUESTS': 'deletionRequests',\r\n 'MERGE_ORGS_REQUESTS': 'organizationMergeRequests'\r\n };\r\n\r\n deletionStatus: any = {\r\n 'REQUESTED': 'Requested',\r\n 'APPROVED': 'Approved',\r\n 'CANCELLED': 'Cancelled'\r\n };\r\n\r\n displayTabs: any = [\r\n { visible: true, identity: 'notifications' },\r\n { visible: false, identity: 'requests' },\r\n { visible: false, identity: 'deletionRequests' },\r\n { visible: false, identity: 'organizationMergeRequests' }\r\n ];\r\n\r\n notificationTypeCodes: any = {\r\n 'ALL': 0,\r\n 'USER_REGISTRATIONS': 1,\r\n 'MEMBERSHIP_REQUESTS': 2,\r\n 'PROJECT_DELETION_REQUESTS': 3,\r\n 'MERGE_ORGS_REQUESTS': 4\r\n };\r\n\r\n notificationTypes: any = [\r\n { id: 0, text: '--All notifications--' },\r\n { id: 1, text: 'New registrations' },\r\n { id: 2, text: 'Project membership requests' },\r\n { id: 3, text: 'Project deletion requests' },\r\n { id: 4, text: 'Merge organizations requests' }\r\n ];\r\n\r\n constructor(private notificationService: NotificationService, private infoModal: InfoModalComponent,\r\n private errorModal: ErrorModalComponent, private storeService: StoreService,\r\n private securityService: SecurityHelperService, private router: Router,\r\n private projectService: ProjectService,\r\n private organizationService: OrganizationService,\r\n private modalService: ModalService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditNotifications) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n this.errorModal.openModal();\r\n this.blockUI.stop();\r\n }\r\n });\r\n\r\n this.displayOption = this.notificationTypeCodes.ALL;\r\n this.getNotifications();\r\n this.getProjectRequests();\r\n this.getProjectDeletionRequests();\r\n this.getMergeOrganizationRequestsForUser();\r\n }\r\n\r\n showNotificationType() {\r\n }\r\n\r\n getNotifications() {\r\n this.notificationService.getUserNotifications().subscribe(data => {\r\n if (data && data.length) {\r\n if (data.length > 0) {\r\n this.notifications = data;\r\n }\r\n }\r\n });\r\n }\r\n\r\n activateUserAccount(event, userId, notificationId) {\r\n if (userId && notificationId) {\r\n this.blockUI.start('Activating account...');\r\n this.notificationService.activateUserAccount(userId, notificationId).subscribe(data => {\r\n if (data) {\r\n this.reloadPage();\r\n }\r\n this.stopScreenBlocker();\r\n });\r\n }\r\n }\r\n\r\n activateUserWithInactiveOrganization(event, userId, notificationId) {\r\n if (userId && notificationId) {\r\n this.blockUI.start('Activating account...');\r\n this.notificationService.activateUserWithInactiveOrganization(userId, notificationId).subscribe(data => {\r\n if (data) {\r\n this.reloadPage();\r\n }\r\n this.stopScreenBlocker();\r\n });\r\n }\r\n }\r\n\r\n showNotifications() {\r\n this.manageTabsDisplay(this.tabConstants.USER_REGISTRATIONS);\r\n }\r\n\r\n showRequests() {\r\n this.manageTabsDisplay(this.tabConstants.REQUESTS);\r\n }\r\n\r\n showDeletionRequests() {\r\n this.manageTabsDisplay(this.tabConstants.DELETION_REQUESTS);\r\n }\r\n\r\n showMergeOrganizationsRequests() {\r\n this.manageTabsDisplay(this.tabConstants.MERGE_ORGS_REQUESTS);\r\n }\r\n\r\n reloadPage() {\r\n location.reload();\r\n }\r\n\r\n getProjectRequests() {\r\n this.projectService.getProjectMembershipRequests().subscribe(\r\n data => {\r\n if (data) {\r\n this.projectRequests = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getMergeOrganizationRequestsForUser() {\r\n this.organizationService.getMergeOrganizationRequestsForUser().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationMergeRequests = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getProjectDeletionRequests() {\r\n this.projectService.getProjectDeletionActiveRequests().subscribe(\r\n data => {\r\n if (data) {\r\n this.projectDeletionRequests = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getLongDateString(dated) {\r\n return this.storeService.getLongDateString(dated);\r\n }\r\n\r\n approveRequest(e) {\r\n var arr = e.currentTarget.id.split('-');\r\n var model = {\r\n projectId: parseInt(arr[2]),\r\n userId: parseInt(arr[3]),\r\n membershipType: parseInt(arr[4]),\r\n };\r\n\r\n if (model.projectId && model.userId) {\r\n this.blockUI.start('Wait submitting request...');\r\n this.projectService.approveProjectMembership(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.reloadPage();\r\n }\r\n this.stopScreenBlocker();\r\n }\r\n );\r\n }\r\n }\r\n\r\n unApproveRequest(e) {\r\n var arr = e.currentTarget.id.split('-');\r\n var model = {\r\n projectId: parseInt(arr[2]),\r\n userId: parseInt(arr[3]),\r\n membershipType: parseInt(arr[4])\r\n };\r\n\r\n if (model.projectId && model.userId) {\r\n this.blockUI.start('Wait submitting request...');\r\n this.projectService.unApproveProjectMembership(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.reloadPage();\r\n }\r\n this.stopScreenBlocker();\r\n }\r\n );\r\n }\r\n }\r\n\r\n approveOrganizationsMergeRequest(e) {\r\n var arr = e.currentTarget.id.split('-');\r\n var requestId = arr[2];\r\n if (requestId) {\r\n this.blockUI.start('Wait approving and merging organizations');\r\n this.organizationService.approveMergeOrganizationsRequest(requestId).subscribe(\r\n data => {\r\n if (data) {\r\n this.infoMessage = Messages.ORGANIZATIONS_MERGED;\r\n this.modalService.open('readonly-message-modal');\r\n this.securityService.clearLoginSession();\r\n setTimeout(() => {\r\n location.reload();\r\n }, 3000);\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n unApproveOrganizationsMergeRequest(e) {\r\n var arr = e.currentTarget.id.split('-');\r\n var requestId = arr[2];\r\n if (requestId) {\r\n this.blockUI.start('Wait rejecting merge organizations request');\r\n this.organizationService.rejectMergeOrganizationsRequest(requestId).subscribe(\r\n data => {\r\n if (data) {\r\n this.reloadPage();\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n approveDeletionRequest(e) {\r\n var arr = e.currentTarget.id.split('-');\r\n var projectId = arr[2];\r\n if (projectId) {\r\n this.blockUI.start('Approving request...');\r\n this.projectService.approveProjectDeletion(projectId).subscribe(\r\n data => {\r\n if (data) {\r\n this.reloadPage();\r\n }\r\n this.stopScreenBlocker();\r\n }\r\n );\r\n }\r\n }\r\n\r\n unApproveDeletionRequest(e) {\r\n var arr = e.currentTarget.id.split('-');\r\n var projectId = arr[2];\r\n if (projectId) {\r\n this.blockUI.start('Cancelling request...');\r\n this.projectService.cancelProjectDeletion(projectId).subscribe(\r\n data => {\r\n if (data) {\r\n this.reloadPage();\r\n }\r\n this.stopScreenBlocker();\r\n }\r\n );\r\n }\r\n }\r\n\r\n deleteProject(e) {\r\n var arr = e.currentTarget.id.split('-');\r\n var projectId = arr[2];\r\n if (projectId) {\r\n this.blockUI.start('Deleting project...');\r\n this.projectService.deleteProject(projectId).subscribe(\r\n data => {\r\n if (data) {\r\n this.reloadPage();\r\n }\r\n this.stopScreenBlocker();\r\n }\r\n );\r\n }\r\n }\r\n\r\n\r\n manageTabsDisplay(tabIdentity) {\r\n for (var i = 0; i < this.displayTabs.length; i++) {\r\n var tab = this.displayTabs[i];\r\n if (tab.identity == tabIdentity) {\r\n tab.visible = true;\r\n this.currentTab = tabIdentity;\r\n } else {\r\n tab.visible = false;\r\n }\r\n }\r\n }\r\n\r\n formatMergeOrganizations(orgs: any) {\r\n var resultStr = '';\r\n if (orgs && orgs.length) {\r\n var orgsList = orgs.map(o => o.organizationName);\r\n if (orgsList.length > 0) {\r\n var strList = [];\r\n strList.push('
    ');\r\n orgsList.forEach((o) => {\r\n strList.push('
  • ' + o + '
  • ');\r\n });\r\n strList.push('
');\r\n resultStr = strList.join('');\r\n }\r\n }\r\n return resultStr;\r\n }\r\n\r\n stopScreenBlocker() {\r\n setTimeout(() => {\r\n this.blockUI.stop();\r\n }, 1000);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading...\r\n
\r\n\r\n
\r\n
New registration notifications
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{i + 1}}\r\n \r\n \r\n {{notification.message}}
\r\n
\r\n \r\n Organization name: {{notification.organization}}
\r\n User email: {{notification.email}}
\r\n
\r\n \r\n Dated: {{getLongDateString(notification.dated)}}\r\n \r\n
\r\n \r\n \r\n  \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n No notifications to show\r\n
\r\n
\r\n\r\n
\r\n
Project membership requests
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{i + 1}}\r\n \r\n \r\n {{request.project}}
\r\n
\r\n \r\n Requesting organization: {{request.userOrganization}}
\r\n Requesting user: {{request.userEmail}}
\r\n Requesting role: {{request.membershipType}}
\r\n
\r\n \r\n Dated: {{getLongDateString(request.dated)}}\r\n \r\n
\r\n \r\n  \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n No project memebership requests to show\r\n
\r\n
\r\n\r\n
\r\n
Project deletion requests
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{i + 1}}\r\n \r\n \r\n {{request.project}}
\r\n
\r\n \r\n Requesting organization: {{request.userOrganization}}
\r\n Requesting user: {{request.userEmail}}
\r\n
\r\n \r\n Dated: {{getLongDateString(request.requestedOn)}}\r\n \r\n
\r\n \r\n  \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n No project deletion requests to show\r\n
\r\n
\r\n\r\n
\r\n \r\n
Organizations merge requests
\r\n 0\" class=\"table table-striped small\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Organizations to mergeAction
\r\n
\r\n
\r\n
\r\n \r\n  \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n No merge organizations requests to show\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
Information Message
\r\n
\r\n {{infoMessage}}\r\n
\r\n

\r\n
\r\n
\r\n
","import { Component } from '@angular/core';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { NotificationService } from '../services/notification.service';\r\nimport { HomePageService } from '../services/home-page.service';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\nimport { environment } from 'src/environments/environment.prod';\r\n\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n aimsTitle = null;\r\n isLoggedIn: boolean = false;\r\n isUnAffiliated: boolean = true;\r\n permissions: any = {};\r\n notificationsCount: number = 0;\r\n loggedInAs: string = null;\r\n loggedInAsFullName: string = null;\r\n currentUrl: string = null;\r\n isHomeActive: boolean = false;\r\n isProjectsActive: boolean = false;\r\n isReportActive: boolean = false;\r\n isManagementActive: boolean = false;\r\n isEntryActive: boolean = false;\r\n isHelpActive: boolean = false;\r\n isContactActive: boolean = false;\r\n isNotificationsActive: boolean = false;\r\n isBackupActive: boolean = false;\r\n menuConstants: any = Settings.dropDownMenusConstants;\r\n\r\n constructor(private securityService: SecurityHelperService, private router: Router,\r\n private notificationService: NotificationService, private homePageService: HomePageService,\r\n private storeService: StoreService) {\r\n\r\n if (environment.production) {\r\n if (location.protocol === 'http:') {\r\n window.location.href = location.href.replace('http', 'https');\r\n }\r\n }\r\n\r\n this.isLoggedIn = (localStorage.getItem('isLoggedIn') == 'true');\r\n this.isUnAffiliated = (localStorage.getItem('isUnAffiliated') == 'true');\r\n\r\n if (this.isLoggedIn) {\r\n if (!this.isUnAffiliated) {\r\n this.getNotificationsCount();\r\n }\r\n this.loggedInAsFullName = this.securityService.getUserOrganization();\r\n if (this.loggedInAsFullName && this.loggedInAsFullName != undefined) {\r\n this.loggedInAs = this.truncate(this.loggedInAsFullName, 25, null);\r\n }\r\n } \r\n\r\n\r\n this.storeService.currentReportItem.subscribe(menu => {\r\n setTimeout(() => {\r\n this.isHomeActive = false;\r\n this.isManagementActive = false;\r\n this.isProjectsActive = false;\r\n this.isEntryActive = false;\r\n this.isReportActive = false;\r\n this.isNotificationsActive = false;\r\n this.isContactActive = false;\r\n this.isHelpActive = false;\r\n this.isBackupActive = false;\r\n }, 500);\r\n\r\n switch (menu) {\r\n case this.menuConstants.HOME:\r\n setTimeout(() => {\r\n this.isHomeActive = true;\r\n }, 1000);\r\n break;\r\n\r\n case this.menuConstants.PROJECTS:\r\n setTimeout(() => {\r\n this.isProjectsActive = true;\r\n }, 1000);\r\n break;\r\n\r\n case this.menuConstants.DATA_ENTRY:\r\n setTimeout(() => {\r\n this.isEntryActive = true;\r\n }, 1000);\r\n break;\r\n\r\n case this.menuConstants.REPORTS:\r\n setTimeout(() => {\r\n this.isReportActive = true;\r\n }, 1000);\r\n break;\r\n\r\n case this.menuConstants.MANAGEMENT:\r\n setTimeout(() => {\r\n this.isManagementActive = true;\r\n }, 1000);\r\n break;\r\n\r\n case this.menuConstants.CONTACT:\r\n setTimeout(() => {\r\n this.isContactActive = true;\r\n }, 1000);\r\n break;\r\n\r\n case this.menuConstants.HELP:\r\n setTimeout(() => {\r\n this.isHelpActive = true;\r\n }, 1000);\r\n break;\r\n\r\n case this.menuConstants.BACKUP:\r\n setTimeout(() => {\r\n this.isBackupActive = true;\r\n }, 1000);\r\n break;\r\n }\r\n });\r\n this.currentUrl = this.router.url;\r\n }\r\n\r\n ngOnInit() {\r\n this.getHomePageSettings();\r\n this.permissions = this.securityService.getUserPermissions();\r\n }\r\n\r\n getNotificationsCount() {\r\n this.notificationsCount = 0;\r\n this.notificationService.getNotificationsCount().subscribe(\r\n data => {\r\n if (data) {\r\n this.notificationsCount = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n logout(e) {\r\n this.securityService.clearLoginSession();\r\n this.router.navigateByUrl('/home');\r\n setTimeout(() => {\r\n location.reload();\r\n }, 1000);\r\n }\r\n\r\n getHomePageSettings() {\r\n this.homePageService.getHomePageSettings().subscribe(\r\n data => {\r\n if (data) {\r\n this.aimsTitle = data.aimsTitle;\r\n }\r\n }\r\n );\r\n }\r\n\r\n truncate(string, length, delimiter) {\r\n delimiter = delimiter || \"...\";\r\n return string.length > length ? string.substr(0, length) + delimiter : string;\r\n };\r\n\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Settings } from 'src/app/config/settings';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { Messages } from 'src/app/config/messages';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { StoreService } from 'src/app/services/store-service';\r\nimport { ErrorModalComponent } from 'src/app/error-modal/error-modal.component';\r\n\r\n@Component({\r\n selector: 'project-markers',\r\n templateUrl: './project-markers.component.html',\r\n styleUrls: ['./project-markers.component.css']\r\n})\r\nexport class ProjectMarkersComponent implements OnInit {\r\n\r\n @Input()\r\n projectId: number = 0;\r\n @Input()\r\n markersList: any = [];\r\n @Input()\r\n currentProjectMarkers: any = [];\r\n @Output()\r\n projectMarkersChanged = new EventEmitter();\r\n @Output()\r\n proceedToNext = new EventEmitter();\r\n\r\n currentSelectedFieldValues: any = [];\r\n fieldModel = { projectId: 0, fieldId: 0, values: [], dropdownId: null, newText: null };\r\n fieldTypeConstants: any = {\r\n 'Dropdown': 1,\r\n 'Checkbox': 2,\r\n 'Text': 3,\r\n 'Radio': 4\r\n }\r\n fieldTypes: any = Settings.markerTypes;\r\n errorMessage: string = null;\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private projectService: ProjectService, private storeService: StoreService,\r\n private errorModal: ErrorModalComponent) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selectFieldValue(fieldType: any, id: number, fieldId: number, el: any, isTypeText = false) {\r\n if (id == -1) {\r\n id = el.target.value;\r\n }\r\n\r\n if (!id) {\r\n return false;\r\n }\r\n\r\n var result = [];\r\n if (isTypeText) {\r\n result = this.markersList.filter(f => f.fieldType == fieldType && f.id == fieldId);\r\n if (result.length > 0) {\r\n var isExists = this.currentSelectedFieldValues.filter(f => f.fieldId == fieldId);\r\n if (isExists.length > 0) {\r\n this.fieldModel.newText = isExists[0].values[0].value;\r\n } else {\r\n var newTextField = {\r\n fieldId: fieldId,\r\n fieldType: fieldType,\r\n values: [\r\n { id: 1, value: result[0].values }\r\n ]\r\n };\r\n this.currentSelectedFieldValues.push(newTextField);\r\n }\r\n }\r\n } else {\r\n result = this.markersList.filter(f => f.fieldType == fieldType && f.id == fieldId).map(f => f.values)[0].filter(v => parseInt(v.id) == id);\r\n if (result.length > 0) {\r\n var values: any = [];\r\n\r\n if (el.currentTarget.type === 'checkbox') {\r\n if (!el.currentTarget.checked) {\r\n result = this.currentSelectedFieldValues.filter(f => f.fieldType == fieldType && f.fieldId == fieldId).map(f => f.values)[0].filter(v => parseInt(v.id) != id);\r\n }\r\n }\r\n\r\n if (this.currentSelectedFieldValues.length > 0) {\r\n var isExists = this.currentSelectedFieldValues.filter(f => f.fieldId == fieldId);\r\n if (isExists.length > 0) {\r\n if (fieldType != this.fieldTypeConstants.Checkbox) {\r\n isExists[0].values = [];\r\n }\r\n\r\n var isValueExists = isExists[0].values.filter(v => v.id == id);\r\n if (isValueExists.length == 0) {\r\n isExists[0].values.push({\r\n id: id,\r\n value: result[0].value\r\n });\r\n }\r\n } else {\r\n var newField = {\r\n fieldId: fieldId,\r\n fieldType: fieldType,\r\n values: [\r\n { id: result[0].id, value: result[0].value }\r\n ]\r\n };\r\n this.currentSelectedFieldValues.push(newField);\r\n }\r\n } else {\r\n var newField = {\r\n fieldId: fieldId,\r\n fieldType: fieldType,\r\n values: [\r\n { id: result[0].id, value: result[0].value }\r\n ]\r\n };\r\n this.currentSelectedFieldValues.push(newField);\r\n }\r\n }\r\n }\r\n }\r\n\r\n checkFieldType(typeId: number) {\r\n var result = this.fieldTypes.filter(f => f.typeId == typeId).map(f => f.field);\r\n return result;\r\n }\r\n\r\n displayFieldValues(json: any) {\r\n return this.storeService.parseAndDisplayJsonAsString(json);\r\n }\r\n\r\n checkIfSelected(fieldId: number, valId: number) {\r\n /*\r\n To update\r\n */\r\n }\r\n\r\n saveProjectMarkers(id: number) {\r\n var selectedField = this.currentSelectedFieldValues.filter(f => f.fieldId == id);\r\n if (selectedField.length > 0) {\r\n if (selectedField[0].values.length == 0) {\r\n this.errorMessage = Messages.INVALID_OPTION_VALUE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var stringifiedJson = JSON.stringify(selectedField[0].values);\r\n var saveFieldModel = {\r\n projectId: this.projectId,\r\n markerId: id,\r\n fieldType: selectedField[0].fieldType,\r\n values: stringifiedJson\r\n }\r\n\r\n this.blockUI.start('Saving project marker...');\r\n this.projectService.saveProjectMarker(saveFieldModel).subscribe(\r\n data => {\r\n if (data) {\r\n var isFieldExists = this.currentProjectMarkers.filter(f => f.markerId == id);\r\n if (isFieldExists.length > 0) {\r\n var values = [];\r\n selectedField[0].values.forEach(function (v) {\r\n values.push({\r\n id: v.id,\r\n value: v.value\r\n });\r\n });\r\n isFieldExists[0].values = values;\r\n } else {\r\n var marker = this.markersList.filter(c => c.id == id);\r\n var fieldTitle = '';\r\n if (marker.length > 0) {\r\n fieldTitle = marker[0].fieldTitle;\r\n }\r\n\r\n var values = [];\r\n selectedField[0].values.forEach(function (v) {\r\n values.push({\r\n id: v.id,\r\n value: v.value\r\n });\r\n });\r\n\r\n this.currentProjectMarkers.push({\r\n markerId: id,\r\n fieldTitle: fieldTitle,\r\n fieldType: selectedField[0].fieldType,\r\n values: values,\r\n projectId: this.projectId\r\n });\r\n }\r\n\r\n this.updateMarkersToParent();\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n deleteProjectMarker(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var fieldId = arr[2];\r\n\r\n this.blockUI.start('Removing Field...');\r\n this.projectService.deleteProjectMarker(projectId, fieldId).subscribe(\r\n data => {\r\n if (data) {\r\n this.currentProjectMarkers = this.currentProjectMarkers.filter(c => c.markerId != fieldId);\r\n this.updateMarkersToParent();\r\n }\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n updateMarkersToParent() {\r\n this.projectMarkersChanged.emit(this.currentProjectMarkers);\r\n }\r\n\r\n proceedToFinish() {\r\n this.proceedToNext.emit();\r\n }\r\n\r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n
\r\n
Markers
\r\n
\r\n
{{field.fieldTitle}}
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n  {{val.value}}\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n  {{val.value}}\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n No markers avaialble to show\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Project markers
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n 0\" class=\"table table-bordered margin-top-10\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
MarkerValuesActions
{{field.fieldTitle}}{{displayFieldValues(field.values)}}\r\n \r\n
\r\n \r\n No markers set for this project yet\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
"," export class LoginModel {\r\n constructor(\r\n public Email: string,\r\n public Password: string,\r\n ) { }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HelpService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) { }\r\n\r\n\r\n getProjectHelpFields() {\r\n var url = this.urlHelper.getProjectHelpUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Help')));\r\n }\r\n\r\n getProjectFunderHelpFields() {\r\n var url = this.urlHelper.getProjectFunderHelpUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Funder Help')));\r\n }\r\n\r\n getProjectImplementerHelpFields() {\r\n var url = this.urlHelper.getProjectImplementerHelpUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Implementer Help')));\r\n }\r\n\r\n getProjectSectorHelpFields() {\r\n var url = this.urlHelper.getProjectSectorHelpUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Sector Help')));\r\n }\r\n\r\n getProjectLocationHelpFields() {\r\n var url = this.urlHelper.getProjectLocationHelpUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Location Help')));\r\n }\r\n\r\n getProjectDisbursementsHelpFields() {\r\n var url = this.urlHelper.getProjectDisbursementsHelpUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Disbursements Help')));\r\n }\r\n\r\n getProjectDocumentsHelpFields() {\r\n var url = this.urlHelper.getProjectDocumentsHelpUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Documents Help')));\r\n }\r\n\r\n saveProjectHelp(model: any) {\r\n var url = this.urlHelper.getSaveProjectHelpUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Help')));\r\n }\r\n\r\n saveProjectFunderHelp(model: any) {\r\n var url = this.urlHelper.getSaveProjectFunderHelpUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Help')));\r\n }\r\n\r\n saveProjectImplementerHelp(model: any) {\r\n var url = this.urlHelper.getSaveProjectImplementerHelpUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Help')));\r\n }\r\n\r\n saveProjectSectorHelp(model: any) {\r\n var url = this.urlHelper.getSaveProjectSectorHelpUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Sector Help')));\r\n }\r\n\r\n saveProjectLocationHelp(model: any) {\r\n var url = this.urlHelper.getSaveProjectLocationHelpUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Location Help')));\r\n }\r\n\r\n saveProjectDisbursementHelp(model: any) {\r\n var url = this.urlHelper.getSaveProjectDisbursementHelpUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Help')));\r\n }\r\n\r\n saveProjectDocumentHelp(model: any) {\r\n var url = this.urlHelper.getSaveProjectDocumentHelpUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Help')));\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { SectorTypeService } from '../services/sector-types.service';\r\nimport { SectorService } from '../services/sector.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-delete-sectortype',\r\n templateUrl: './delete-sectortype.component.html',\r\n styleUrls: ['./delete-sectortype.component.css']\r\n})\r\nexport class DeleteSectortypeComponent implements OnInit {\r\n id: number = 0;\r\n requestNo: number = 0;\r\n errorMessage: string = null;\r\n deletionMessage: string = 'Deletion confirmation';\r\n sectors: any = [];\r\n isLoading: boolean = true;\r\n @BlockUI() blockUI: NgBlockUI;\r\n \r\n constructor(private route: ActivatedRoute, private storeService: StoreService,\r\n private errorModal: ErrorModalComponent, private sectorService: SectorService,\r\n private sectorTypeService: SectorTypeService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n if (this.route.snapshot.data) {\r\n this.id = this.route.snapshot.params[\"{id}\"];\r\n }\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n if (!this.id) {\r\n this.router.navigateByUrl('sector-types');\r\n }\r\n\r\n this.getSectorsForType();\r\n }\r\n\r\n getSectorsForType() {\r\n this.sectorService.getSectorsForType(this.id.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.sectors = data;\r\n if (this.sectors.length > 0) {\r\n this.deletionMessage = 'Deletion message';\r\n }\r\n }\r\n this.isLoading = false;\r\n }\r\n )\r\n }\r\n\r\n showList() {\r\n this.router.navigateByUrl('sector-types');\r\n }\r\n\r\n delete() {\r\n this.blockUI.start('Deleting sector type...');\r\n this.sectorTypeService.deleteSectorType(this.id.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('sector-types');\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Dependent sectors list
\r\n
\r\n Loading sectors...\r\n
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n \r\n {{number + 1}} {{sector.sectorName}}\r\n \r\n
\r\n \r\n No dependent sectors found\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
{{deletionMessage}}
\r\n
\r\n

0\" class=\"text-warning\">\r\n There are {{sectors.length}} dependent sector/s for this sector type. Delete all\r\n dependent sector/s first before attempting to delete this sector type.\r\n

\r\n

\r\n There are no dependent sectors under this sector type. You can delete this sector type\r\n safely. This action cannot be undone.\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","export const urls = {\r\n\t//baseUrl: \"http://45.57.247.178:5000/api/\",\r\n\t//excelFilesUrl: \"http://45.57.247.178:5000/ExcelFiles/\",\r\n\t//dataBackupFilesUrl: \"http://45.57.247.178:5000/DataBackups/\",\r\n\texcelFilesShortUrl: \"/ExcelFiles/\",\r\n\tdataBackupFilesShortUrl: \"/DataBackups/\",\r\n\t//baseUrl: \"https://aimsapis.mop.gov.so/api/\",\r\n\t//excelFilesUrl: \"https://aimsapis.mop.gov.so/ExcelFiles/\",\r\n\t//dataBackupFilesUrl: \"https://aimsapis.mop.gov.so/DataBackups/\",\r\n\tbaseUrl: \"http://localhost:60815/api/\",\r\n\texcelFilesUrl: \"http://localhost:60815/ExcelFiles/\",\r\n\tdataBackupFilesUrl: \"http://localhost:60815/DataBackups/\",\r\n\tgetToken: \"User/Token\",\r\n\tcheckEmailAvailability: \"User/CheckEmailAvailability/\",\r\n\tuserRegistration: \"User\",\r\n\teditUserPassword: \"User/EditPassword/\",\r\n\tdeleteUserAccount: \"User/DeleteAccount\",\r\n\tresetPasswordRequest: \"User/ResetPasswordRequest/\",\r\n\tresetPassword: \"User/ResetPassword\",\r\n\torganizationsList: \"Organization/GetUserOrganizations\",\r\n\torganizationsMergeRequest: \"OrganizationsMergeRequest\",\r\n\tgetOrgMergeRequestsForUser: \"OrganizationsMergeRequest/GetUserRequests\",\r\n\tapproveOrganizationMergeRequest: \"OrganizationsMergeRequest/approveRequest/\",\r\n\trejectOrganizationsMergeRequest: \"OrganizationsMergeRequest/RejectRequest/\",\r\n\tallOrganizationsList: \"Organization\",\r\n\tdeleteLocation: \"Location/Delete/\",\r\n\torganizationTypesList: \"OrganizationType\",\r\n\torganizationTypeUrl: \"OrganizationType\",\r\n\torganizationsHaveUsersUrl: \"Organization/CheckIfOrganizationsHaveUsers\",\r\n\torganizationsForTypeUrl: \"Organization/GetOrganizationsForType\",\r\n\tiatiOrganizationsUrl: \"Organization/GetIATIOrganizations\",\r\n\tuserNotificationsList: \"Notification\",\r\n\tuserAccountActivation: \"User/ActivateAccount/\",\r\n\tactivateAccountInactiveOrganization: \"User/ActivateWithInactiveOrganization\",\r\n\tsearchOrganizations: \"Organization/\",\r\n\tgetOrganization: \"Organization/GetById/\",\r\n\torganizationsWithTypeUrl: \"Organization/GetWithTypes\",\r\n\torganizationsHavingEnvelopeUrl: \"Organization/GetOrganizationsHavingEnvelope\",\r\n\torganizationIdsHavingEnvelopeUrl: \"Organization/GetOrganizationIdsHavingEnvelope\",\r\n\tuserOrganizationsUrl: \"Organization/GetUserOrganizations\",\r\n\torganizationUrl: \"Organization\",\r\n\tmergeOrganization: \"Organization/Merge\",\r\n\torganizationsAppliedForMerge: \"OrganizationsMergeRequest/GetOrganizationsAppliedForMerge\",\r\n\trenameOrganization: \"Organization/Rename/\",\r\n\tdeleteOrganization: \"Organization/Delete/\",\r\n\tlocationUrl: \"Location\",\r\n\tgetLocation: \"Location/GetById/\",\r\n\tsubLocationUrl: \"SubLocation\",\r\n\tsubLocationForLocationUrl: \"SubLocation/GetForLocation/\",\r\n\tsectorTypesUrl: \"SectorTypes\",\r\n\tdefaultSectorTypeUrl: \"SectorTypes/GetDefault\",\r\n\tsectorsForTypesUrl: \"Sector/GetSectorsForType/\",\r\n\tsectorMappingsUrl: \"SectorMappings/GetForSector/\",\r\n\tsectorMappingsAddOrUpdateUrl: \"SectorMappings/AddOrUpdate\",\r\n\tsectorMappings: \"SectorMappings/\",\r\n\tmappingsForSector: \"SectorMappings/GetSectorMappings/\",\r\n\tmappingsForSectorByName: \"SectorMappings/GetSectorMappingsByName\",\r\n\totherSectorTypesUrl: \"SectorTypes/GetOtherSectorTypes\",\r\n\tgetSectorType: \"SectorTypes/GetById/\",\r\n\tsectorCategoriesUrl: \"SectorCategory\",\r\n\tgetSectorCategory: \"SectorCategory/GetById/\",\r\n\tsectorSubCategoriesUrl: \"SectorSubCategory\",\r\n\tgetSectorSubCategory: \"SectorSubCategory/GetById/\",\r\n\tsectorsUrl: \"Sector\",\r\n\tallSectorMappingsUrl: \"SectorMappings/GetAllMappings\",\r\n\taddSectorWithMapping: \"Sector/AddSectorWithMapping\",\r\n\tdeleteSector: \"Sector/Delete/\",\r\n\tsectorChildren: \"Sector/GetChildren/\",\r\n\tfinancialYearsUrl: \"FinancialYear\",\r\n\tenvelopeFinancialYearsUrl: \"FinancialYear/GetYearsForEnvelope\",\r\n\tenvelopeEntryFinancialYearsUrl: \"FinancialYear/GetYearsForEnvelopeEntry\",\r\n\tfinancialYearsRangeUrl: \"FinancialYear/AddRange\",\r\n\tgetSector: \"Sector/GetById/\",\r\n\tsetSectorChild: \"Sector/SetChild/\",\r\n\tremoveSectorChild: \"Sector/RemoveChild/\",\r\n\tprojectTypesUrl: \"ProjectType\",\r\n\tgetProjectType: \"ProjectType/GetById/\",\r\n\tprojectsUrl: \"Project\",\r\n\tprojectsDetailUrl: \"Project/GetAllWithDetail\",\r\n\tgetProject: \"Project/GetById/\",\r\n\tlatestProjects: \"Project/GetLatest\",\r\n\torganizationProjects: \"Project/GetOrganizationProjects/\",\r\n\tlocationProjects: \"Project/GetLocationProjects/\",\r\n\tmergeProjects: \"Project/MergeProjects\",\r\n\tgetProjectProfileReport: \"Project/GetProjectProfileReport/\",\r\n\tgetProjectReport: \"Report/GetProjectReport/\",\r\n\tgetProjectTitle: \"Project/GetTitle/\",\r\n\tgetProjectLocationsUrl: \"Project/GetLocations/\",\r\n\taddProjectLocation: \"Project/AddProjectLocation\",\r\n\tgetProjectSectorsUrl: \"Project/GetSectors/\",\r\n\taddProjectSector: \"Project/AddProjectSector\",\r\n\tgetProjectFundersUrl: \"Project/GetFunders/\",\r\n\taddProjectFunder: \"Project/AddProjectFunder\",\r\n\taddProjectFunderFromSource: \"Project/AddProjectFunderFromSource\",\r\n\taddProjectImplementerFromSource: \"Project/AddProjectImplementerFromSource\",\r\n\taddProjectField: \"Project/AddProjectMarker\",\r\n\tgetProjectImplementersUrl: \"Project/GetImplementers/\",\r\n\taddProjectImplementer: \"Project/AddProjectImplementer\",\r\n\tgetProjectDisbursementUrl: \"Project/GetDisbursements/\",\r\n\tadjustProjectDisbursementsUrl: \"Project/AdjustDisbursements/\",\r\n\tcreateProjectDisbursementsUrl: \"Project/CreateDisbursements/\",\r\n\taddProjectDisbursement: \"Project/AddProjectDisbursement\",\r\n\tgetProjectDocumentUrl: \"Project/GetDocuments/\",\r\n\taddProjectDocument: \"Project/AddProjectDocument\",\r\n\tdeleteProjectLocation: \"Project/DeleteProjectLocation/\",\r\n\tdeleteProjectSector: \"Project/DeleteProjectSector/\",\r\n\tdeleteProjectFunder: \"Project/DeleteProjectFunder/\",\r\n\tdeleteProjectImplementer: \"Project/DeleteProjectImplementer/\",\r\n\tdeleteProjectDisbursement: \"Project/DeleteProjectDisbursement/\",\r\n\tdeleteProjectDocument: \"Project/DeleteProjectDocument/\",\r\n\tdeleteProjectMarker: \"Project/DeleteProjectMarker/\",\r\n\tiatiActivities: \"IATI/GetActivities\",\r\n\tiatiOrganizations: \"Organization/GetIATIOrganizations\",\r\n\tiatiMatchingActivities: \"IATI/GetMatchingActivities\",\r\n\tiatiProjects: \"IATI/GetProjects\",\r\n\tgetIatiSettings: \"IATI/GetIATISettings\",\r\n\tgetIatiSettingsList: \"IATI/GetIATISettingsList\",\r\n\tsetIatiSettings: \"IATI/SetIATISettings\",\r\n\tloadLatestIATI: \"IATI/LoadLatestIATI\",\r\n\tiatiProjectsByIds: \"IATI/ExtractProjectsByIds\",\r\n\taimsProjectsByIds: \"Project/ExtractProjectsByIds\",\r\n\tsectorProjects: \"Project/GetSectorProjects/\",\r\n\tsectorProjectsReport: \"Report/GetSectorWiseProjects\",\r\n\tnoSectorProjectsReport: \"Report/GetNoSectorProjects\",\r\n\tnoLocationProjectsReport: \"Report/GetNoLocationProjects\",\r\n\tlocationProjectsReport: \"Report/GetLocationWiseProjects\",\r\n\tyearlyProjectsReport: \"Report/GetYearWiseProjects\",\r\n\tbudgetReport: \"Report/GetBudgetReport\",\r\n\tbudgetSummaryReport: \"Report/GetProjectsBudgetSummaryReport\",\r\n\tenvelopeReport: \"Report/GetEnvelopeReport\",\r\n\tallProjectsReport: \"Report/GetAllProjectsReport\",\r\n\tsearchProjectsViewByCriteria: \"Project/SearchProjectsViewByCriteria\",\r\n\tsearchProjectsByCriteriaReport: \"Report/GetSectorWiseProjects\",\r\n\tgetFinancialYears: \"FinancialYear\",\r\n\tsmtpSettings: \"SMTPSettings\",\r\n\tnotificationsCount: \"Notification/GetCount\",\r\n\tnotifications: \"Notification\",\r\n\tmarkNotificationsRead: \"Notification/MarkNotificationsRead\",\r\n\tdeleteNotifications: \"Notification/DeleteNotifications\",\r\n\tgetCurrency: \"Currency\",\r\n\tcurrenciesForUserUrl: \"Currency/GetForUser\",\r\n\tgetCurrencyById: \"Currency/GetById/\",\r\n\tgetDefaultCurrency: \"Currency/GetDefault\",\r\n\tgetNationalCurrency: \"Currency/GetNational\",\r\n\tsetDefaultCurrency: \"Currency/SetDefault/\",\r\n\tsetNationalCurrency: \"Currency/SetNational/\",\r\n\treportNamesUrl: \"ReportName\",\r\n\tuserSubscriptionsUrl: \"ReportSubscription\",\r\n\tsubscribeToReports: \"ReportSubscription/Subscribe\",\r\n\texchangeRateUrl: \"ExchangeRate\",\r\n\tgetExchangeRateSettingsUrl: \"ExchangeRate/GetSettings\",\r\n\tsetExchangeRateAutoSettingsUrl: \"ExchangeRate/SetExchangeRateAutoSetting\",\r\n\tsaveAPIKeyOpenExchange: \"ExchangeRate/SaveAPIKeyForOpenExchange\",\r\n\tsetLabelForManualExRates: \"ExchangeRate/SetLabelForManualExRates\",\r\n\tsaveManualExchangeRates: \"ExchangeRate/SaveManualCurrencyRates\",\r\n\texchangeRateForDate: \"ExchangeRate/GetRatesForDate/\",\r\n\tgetManualExchangeRates: \"ExchangeRate/GetManualExchangeRates\",\r\n\tmanualExchangeRates: \"ManualExchangeRate\",\r\n\tmanualExRatesByDate: \"ManualExchangeRate/GetByDate/\",\r\n\tmanualExRatesForCurrency: \"ManualExchangeRate/GetForNationalCurrency/\",\r\n\taverageCurrencyRate: \"ExchangeRate/GetAverageCurrencyRateForDate\",\r\n\tgetDefaultSectors: \"Sector/GetDefaultSectors\",\r\n\tenvelopeTypeUrl: \"EnvelopeType\",\r\n\tenvelopeUrl: \"Envelope\",\r\n\tmarkersUrl: \"Marker\",\r\n\tactiveMarkersUrl: \"Marker/GetActive\",\r\n\tmarkerProjects: \"Project/GetMarkerProjects/\",\r\n\tfundingTypeUrl: \"FundingType\",\r\n\temailMessageUrl: \"EmailMessage\",\r\n\tusersUrl: \"User\",\r\n\tpromoteUserUrl: \"User/PromoteUser/\",\r\n\tdemoteUserUrl: \"User/DemoteUser/\",\r\n\tgetManagerUsers: \"User/GetManagerUsers\",\r\n\tgetStandardUsers: \"User/GetStandardUsers\",\r\n\tsendEmailUrl: \"Email/SendEmailToUsers\",\r\n\tuserApprovedRequests: \"ProjectMembership/GetUserApprovedRequests\",\r\n\tuserProjects: \"Project/GetUserProjects\",\r\n\tprojectMembershipUrl: \"ProjectMembership\",\r\n\tprojectTitlesUrl: \"Project/GetProjectTitles\",\r\n\tapproveProjectMembership: \"ProjectMembership/ApproveRequest\",\r\n\tunApproveProjectMembership: \"ProjectMembership/UnApproveRequest\",\r\n\timportNewExcelDataUrl: \"ImportData/UploadDataImportFileEighteen\",\r\n\timportOldExcelDataUrl: \"ImportData/UploadDataImportFileSeventeen\",\r\n\timportLatestDataUrl: \"ImportData/ImportLatestData\",\r\n\timportEnvelopeDataUrl: \"ImportData/ImportEnvelopeData\",\r\n\timportOrganizationTypesUrl: \"ImportData/ImportOrganizationTypes\",\r\n\timportFixGhostOrgsUrl: \"ImportData/ImportGhostOrganizationFixes\",\r\n\tcontactUrl: \"Contact\",\r\n\tprojectEmailUrl: \"Contact/SendSuggestionEmailForProject\",\r\n\tcontactMessageUrl: \"ContactMessage\",\r\n\tapproveContactMessageUrl: \"ContactMessage/Approve\",\r\n\tdeleteProjectIdsUrl: \"ProjectDeletionRequest/GetProjectIds\",\r\n\tprojectDeletionRequestUrl: \"ProjectDeletionRequest\",\r\n\tprojectDeletionActiveRequestsUrl: \"ProjectDeletionRequest/GetActiveRequests\",\r\n\tprojectDeletionApprovalUrl: \"ProjectDeletionRequest/ApproveRequest/\",\r\n\tprojectDeletionCancelUrl: \"ProjectDeletionRequest/CancelRequest/\",\r\n\texchangeRateUsageUrl: \"ExchangeRateUsage\",\r\n\tprojectsCountUrl: \"Project/GetActiveProjectsCount\",\r\n\torganizationsCountUrl: \"Organization/GetOrganizationsCount\",\r\n\tusersCountUrl: \"User/GetActiveUsersCount\",\r\n\tcurrentYearDisbursementsUrl: \"Project/GetCurrentYearDisbursements\",\r\n\tsetHomePageSettingsUrl: \"HomePage/SetSettings\",\r\n\tgetHomePageSettingsUrl: \"HomePage/GetSettings\",\r\n\tprojectHelpUrl: \"Help/GetProjectFields\",\r\n\tprojectFunderHelpUrl: \"Help/GetProjectFunderFields\",\r\n\tprojectImplementerHelpUrl: \"Help/GetProjectImplementerFields\",\r\n\tprojectDisbursementsHelpUrl: \"Help/GetProjectDisbursementsFields\",\r\n\tprojectDocumentsHelpUrl: \"Help/GetProjectDocumentsFields\",\r\n\tprojectSectorHelpUrl: \"Help/GetProjectSectorFields\",\r\n\tprojectLocationHelpUrl: \"Help/GetProjectLocationFields\",\r\n\taddProjectHelpUrl: \"Help/AddProjectHelp\",\r\n\taddProjectFunderHelpUrl: \"Help/AddProjectFunderHelp\",\r\n\taddProjectImpelementerHelpUrl: \"Help/AddProjectImplementerHelp\",\r\n\taddProjectDisbursementHelpUrl: \"Help/AddProjectDisbursementHelp\",\r\n\taddProjectDocumentHelpUrl: \"Help/AddProjectDocumentHelp\",\r\n\taddProjectSectorHelpUrl: \"Help/AddProjectSectorHelp\",\r\n\taddProjectLocationHelpUrl: \"Help/AddProjectLocationHelp\",\r\n\tbackupDataUrl: \"DataBackup/PerformBackup\",\r\n\trestoreDataUrl: \"DataBackup/PerformRestore\",\r\n\tbackupFilesUrl: \"DataBackup/GetBackupFiles\",\r\n\tdeleteBackupUrl: \"DataBackup/DeleteBackup\",\r\n\tcountriesUrl: \"IATICountry\",\r\n\tsetActiveCountryUrl: \"IATICountry/SetActiveCountry\",\r\n\tfinancialYearSettingsUrl: \"FinancialYearSettings\",\r\n\tdocumentLinkUrl: \"DocumentLink\",\r\n\tsponsorLogoUrl: \"SponsorLogo\"\r\n};","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Messages } from '../config/messages';\r\nimport { Settings } from '../config/settings';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { DocumentLinkService } from '../services/document-link.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { StoreService } from '../services/store-service';\r\n\r\n@Component({\r\n selector: 'app-manage-document-link',\r\n templateUrl: './manage-document-link.component.html',\r\n styleUrls: ['./manage-document-link.component.css']\r\n})\r\nexport class ManageDocumentLinkComponent implements OnInit {\r\n\r\n isBtnDisabled: boolean = false;\r\n orgId: number = 0;\r\n btnText: string = 'Add Document Link';\r\n errorMessage: string = '';\r\n documentlinkTypes: any = null;\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n permissions: any = {};\r\n model = { title: null, url: null };\r\n\r\n constructor(private documentlinkService: DocumentLinkService,\r\n private router: Router, private storeService: StoreService,\r\n private securityService: SecurityHelperService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditDocument) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n saveLink() {\r\n this.isBtnDisabled = true;\r\n \r\n this.btnText = 'Saving...';\r\n this.documentlinkService.addDocumentLink(this.model).subscribe(\r\n data => {\r\n if (data) {\r\n var message = 'New document link' + Messages.NEW_RECORD;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('document-links');\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.resetFormState();\r\n }\r\n );\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n this.btnText = 'Add Document Link';\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Document link
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n Link title is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Url is required\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CurrencyService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) { }\r\n\r\n\r\n getCurrenciesList() {\r\n var url = this.urlHelper.getCurrencyUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Currencies')));\r\n }\r\n\r\n getCurrenciesForUser() {\r\n var url = this.urlHelper.getCurrenciesForUserUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Currencies for User')));\r\n }\r\n\r\n getExchangeRatesList() {\r\n var url = this.urlHelper.getExchangeRatesUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Exchange Rates')));\r\n }\r\n\r\n getAverageCurrencyForDate(model: any) {\r\n var url = this.urlHelper.averageCurrencyRateForDateUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Average Exchange Rate'))\r\n );\r\n }\r\n\r\n getExchangeRatesForDate(dated: string) {\r\n var url = this.urlHelper.getExchangeRatesForDateUrl(dated);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Exchange Rates')));\r\n }\r\n\r\n searchCurrencies(criteria: string) {\r\n var url = this.urlHelper.getSearchCurrencyUrl(criteria);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Currencies')));\r\n }\r\n\r\n getCurrency(id: number) {\r\n var url = this.urlHelper.getCurrencyByIdUrl(id.toString());\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Currencies')));\r\n }\r\n\r\n getDefaultCurrency() {\r\n var url = this.urlHelper.getDefaultCurrencyUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Default Currency')));\r\n }\r\n\r\n getNationalCurrency() {\r\n var url = this.urlHelper.getNationalCurrencyUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('National Currency')));\r\n }\r\n\r\n getExRateSettings() {\r\n var url = this.urlHelper.getExRateSettingsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Exchange Rates Settings')));\r\n }\r\n\r\n getManualExchangeRates() {\r\n var url = this.urlHelper.getManualExRatesUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Manual Ex Rates')));\r\n }\r\n\r\n getManaulExRatesForCurrency(code: string) {\r\n var url = this.urlHelper.getManualExchangeRatesForCurrency(code);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Manual Ex Rates')));\r\n }\r\n\r\n getManualExRatesByDate(dated: string) {\r\n var url = this.urlHelper.getManualExchangeRatesByDateUrl(dated);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Manual Ex Rates by Date')));\r\n }\r\n\r\n saveManualExchangeRates(model: any) {\r\n var url = this.urlHelper.getManualExchangeRatesUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Manual Exchange Rate')));\r\n }\r\n\r\n deleteManualExchangeRate(id: string) {\r\n var url = this.urlHelper.getManualExchangeRatesUrl() + '/' + id;\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Manual Exchange Rate')));\r\n }\r\n\r\n saveAPIKeyOpenExchange(key: string) {\r\n var url = this.urlHelper.saveAPIKeyOpenExchangeUrl();\r\n var model = {\r\n Key: key\r\n };\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('OpenExchange API Key')));\r\n }\r\n\r\n setLabelForManualExRates(label: string) {\r\n var url = this.urlHelper.setLabelForManualExRatesUrl();\r\n var model = {\r\n label: label\r\n };\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Manual Ex Rates Label')));\r\n }\r\n\r\n saveExchangeRateAutoSettings(isAutomatic: boolean) {\r\n var url = this.urlHelper.getExRateAutoSettingsUrl();\r\n var model = {\r\n IsAutomatic: isAutomatic\r\n };\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('OpenExchange Auto Setting')));\r\n }\r\n\r\n saveManualCurrencyRates(model: any) {\r\n var url = this.urlHelper.saveManualCurrencyRatesUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Manual Currency Rates')));\r\n }\r\n\r\n setDefaultCurrency(id: number) {\r\n var url = this.urlHelper.getUpdateDefaultCurrencyUrl(id);\r\n return this.httpClient.post(url,\r\n JSON.stringify(null), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Default Currency')));\r\n }\r\n\r\n setNationalCurrency(id: number) {\r\n var url = this.urlHelper.getUpdateNationalCurrencyUrl(id);\r\n return this.httpClient.post(url,\r\n JSON.stringify(null), httpOptions).pipe(\r\n catchError(this.storeService.handleError('National Currency')));\r\n }\r\n\r\n\r\n addCurrency(model: any) {\r\n var url = this.urlHelper.getCurrencyUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Currency')));\r\n }\r\n\r\n editCurrency(id: number, model: any) {\r\n var url = this.urlHelper.getCurrencyUrl() + '/' + id;\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Currency'))\r\n );\r\n }\r\n\r\n deleteCurrency(id: string) {\r\n var url = this.urlHelper.getDeleteCurrencyUrl(id);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Currency')));\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { StoreService } from '../services/store-service';\r\nimport { FinancialYearService } from '../services/financial-year.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-financial-year-settings',\r\n templateUrl: './financial-year-settings.component.html',\r\n styleUrls: ['./financial-year-settings.component.css']\r\n})\r\n\r\nexport class FinancialYearSettingsComponent implements OnInit {\r\n permissions: any = {};\r\n months: any = [\r\n { index: 1, month: 'January', date: 31 },\r\n { index: 2, month: 'February', date: 28 },\r\n { index: 3, month: 'March', date: 31 },\r\n { index: 4, month: 'April', date: 30 },\r\n { index: 5, month: 'May', date: 31 },\r\n { index: 6, month: 'June', date: 30 },\r\n { index: 7, month: 'July', date: 31 },\r\n { index: 8, month: 'August', date: 31 },\r\n { index: 9, month: 'September', date: 30 },\r\n { index: 10, month: 'October', date: 31 },\r\n { index: 11, month: 'November', date: 30 },\r\n { index: 12, month: 'December', date: 31 }\r\n ];\r\n model: any = { month: 0, day: 0 };\r\n days: any = [];\r\n isLeapYear: boolean = false;\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private storeService: StoreService, private yearService: FinancialYearService,\r\n private securityService: SecurityHelperService, private router: Router) { \r\n }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditYear) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.isLeapYear = this.storeService.isCurrentlyLeapYear();\r\n this.getSettings();\r\n }\r\n\r\n onMonthChange() {\r\n var month = parseInt(this.model.month);\r\n switch(month) {\r\n case 1:\r\n case 3:\r\n case 5:\r\n case 7:\r\n case 8:\r\n case 10:\r\n case 12:\r\n this.fillDays(31);\r\n break;\r\n\r\n case 4:\r\n case 6:\r\n case 9:\r\n case 11:\r\n this.fillDays(30);\r\n break;\r\n\r\n case 2:\r\n if (this.isLeapYear) {\r\n this.fillDays(29);\r\n } else {\r\n this.fillDays(28);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n fillDays(dayLimit: number) {\r\n this.days = [];\r\n for(var day=1; day <= dayLimit; day++) {\r\n this.days.push(day);\r\n }\r\n }\r\n\r\n getSettings() {\r\n this.blockUI.start('Loading settings...');\r\n this.yearService.getSettings().subscribe(\r\n data => {\r\n if (data) {\r\n this.model.month = data.month;\r\n this.onMonthChange();\r\n setTimeout(() => {\r\n this.model.day = data.day;\r\n }, 1000);\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n saveSettings() {\r\n this.blockUI.start('Saving settings, be patient, will take some time...');\r\n this.yearService.saveSettings(this.model).subscribe(\r\n data => {\r\n if (data) {\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
Financial year settings
\r\n

\r\n Please set month and day of the year to mark when financial year starts. e.g. April 1st.\r\n It must be noted that by changing the month and day settings, system will update the financial years\r\n for projects which are already entered as per new settings and may drop disbursements that are out\r\n of the span of the financial years assigned to projects. It is recommended to take backup of the database before applying\r\n new settings so that in any other case AIMS may be reverted to the current state of the database.\r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n Month is required\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Day is required\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-disbursement-iati',\r\n templateUrl: './disbursement-iati.component.html',\r\n styleUrls: ['./disbursement-iati.component.css']\r\n})\r\nexport class DisbursementIatiComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

\r\n disbursement-iati works!\r\n

\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, catchError, tap } from 'rxjs/operators';\r\nimport { Organization } from '../models/organization-model';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OrganizationService {\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) { }\r\n\r\n searchOrganizations(filter: { name: string } = { name: '' }, page = 1): Observable {\r\n var url = this.urlHelper.organizationsListUrl();\r\n return this.httpClient.get(url)\r\n .pipe(\r\n tap((response: Organization[]) => {\r\n if (response && response.length > 0) {\r\n response\r\n .map(org => new Organization(org.id, org.organizationName))\r\n .filter(org => (org.organizationName) ? org.organizationName.includes(filter.name) : null)\r\n }\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n getOrganizationTypes() {\r\n var url = this.urlHelper.organizationTypesUrl();\r\n return this.httpClient\r\n .get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Organization Types'))\r\n );\r\n }\r\n\r\n getOrganizationsCount() {\r\n var url = this.urlHelper.getOrganizationsCountUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Organizations Count'))\r\n );\r\n }\r\n\r\n getOrganizationsForType(id: string) {\r\n var url = this.urlHelper.getOrganizationsForTypeUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Organizations for Type'))\r\n );\r\n }\r\n\r\n getMergeOrganizationRequestsForUser() {\r\n var url = this.urlHelper.getMergeOrganizationsRequestsForUserUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Merge Organizations Requests for User'))\r\n );\r\n }\r\n\r\n getOrganizationsAppliedForMerge() {\r\n var url = this.urlHelper.organizationsAppliedForMergeUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Organizations Applied for Merge'))\r\n );\r\n }\r\n\r\n approveMergeOrganizationsRequest(id: string) {\r\n var url = this.urlHelper.getApproveMergeOrganizationsRequestUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Approve Merge Organizations Requests'))\r\n );\r\n }\r\n\r\n rejectMergeOrganizationsRequest(id: string) {\r\n var url = this.urlHelper.getRejectMergeOrganizationsRequestUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Reject Merge Organizations Requests'))\r\n );\r\n }\r\n\r\n getOrganizationsWithType() {\r\n var url = this.urlHelper.getOrganizationWithTypeUrl();\r\n return this.httpClient.get(url);\r\n }\r\n\r\n getOrganizationsList() {\r\n var url = this.urlHelper.organizationsListUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Organizations')));\r\n }\r\n\r\n getAllOrganizationsList() {\r\n var url = this.urlHelper.getAllOrganizationsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Organizations')));\r\n }\r\n\r\n getUserOrganizations() {\r\n var url = this.urlHelper.getUserOrganizationsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('User Organizations')));\r\n }\r\n\r\n getIATIOrganizations() {\r\n var url = this.urlHelper.getIATIOrganizationsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('User Organizations')));\r\n }\r\n\r\n getOrganizationsHavingEnvelope() {\r\n var url = this.urlHelper.getOrganizationHavingEnvelopeUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Organization with Envelope')));\r\n }\r\n\r\n getOrganizationIdsHavingEnvelope() {\r\n var url = this.urlHelper.getOrganizationIdsHavingEnvelopeUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Organization Ids with Envelope')));\r\n }\r\n\r\n filterOrganizations(criteria: string) {\r\n var url = this.urlHelper.organizationsFilterUrl(criteria);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Organizations')));\r\n }\r\n\r\n getOrganization(id: string) {\r\n var url = this.urlHelper.getSearchOrganizationUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Organization')));\r\n }\r\n\r\n checkIfOrganizationsHaveUsers(model: any) {\r\n var url = this.urlHelper.getIfOrganizationsHaveUsersUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Organizations have users')));\r\n }\r\n\r\n addMergeOrganizationsRequest(model: any) {\r\n var url = this.urlHelper.getMergeOrganizationsRequestUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Merge Organizations Request')));\r\n }\r\n\r\n addOrganization(model: any) {\r\n var url = this.urlHelper.getOrganizationUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Organization')));\r\n }\r\n\r\n getOrganizationProjects(id: string) {\r\n var url = this.urlHelper.getOrganizationProjectsUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Organization Projects'))\r\n );\r\n }\r\n\r\n deleteOrganization(id: string, newId: string) {\r\n var url = this.urlHelper.deleteOrganizationUrl(id, newId);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Organization'))\r\n );\r\n }\r\n\r\n mergeOrganizations(model: any) {\r\n var url = this.urlHelper.getMergeOrganizationsUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Merge Organizations')));\r\n }\r\n\r\n renameOrganization(id: number, model: any) {\r\n var url = this.urlHelper.getRenameOrganizationUrl(id.toString());\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Update Organization')));\r\n }\r\n\r\n updateOrganization(id: number, model: any) {\r\n var url = this.urlHelper.getOrganizationUrl() + '/' + id;\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Update Organization')));\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { StoreService } from '../services/store-service';\r\nimport {Settings} from '../config/settings';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { UserService } from '../services/user-service';\r\nimport { OrganizationService } from '../services/organization-service';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { CurrencyService } from '../services/currency.service';\r\nimport { HomePageService } from '../services/home-page.service';\r\nimport { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';\r\nimport { EmbedVideoService } from 'ngx-embed-video';\r\nimport { faBuilding, faMoneyCheck, faTasks, faUser } from '@fortawesome/free-solid-svg-icons';\r\nimport { DocumentLinkService } from '../services/document-link.service';\r\nimport { SponsorLogoService } from '../services/sponsor-logo.service';\r\nimport { UrlHelperService } from '../services/url-helper-service';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n faBuilding: any = faBuilding;\r\n faMoneyCheck: any = faMoneyCheck;\r\n faTasks: any = faTasks;\r\n faUser: any = faUser;\r\n infoMessage: string = null;\r\n showMessage: boolean = false;\r\n isProjectsLoading: boolean = true;\r\n isSponsorsLoading: boolean = true;\r\n isIntroLoading: boolean = true;\r\n isLinkLoading: boolean = true;\r\n usersCount: number = 0;\r\n projectsCount: number = 0;\r\n organizationsCount: number = 0;\r\n currentYearDisbursements: number = 0;\r\n defaultCurrency: string = null;\r\n defaultCurrencyCode: string = null;\r\n currentYear: number = 0;\r\n currentFinancialYear: string = 'FY...';\r\n model: any = { aimsTitle: null, introductionHeading: null, introductionText: null };\r\n latestProjects: any = [];\r\n links: any = [];\r\n sponsors: any = [];\r\n requestNo: number = 0;\r\n safeSrcVideoOne: SafeResourceUrl;\r\n safeSrcVideoTwo: SafeResourceUrl;\r\n yt_video1_frame: any;\r\n yt_video2_frame: any;\r\n videoOneUrl: string = \"https://www.youtube.com/watch?v=DYG0VayhKcs\";\r\n videoTwoUrl: string = \"https://www.youtube.com/watch?v=H_n8DjUbCmk\";\r\n \r\n constructor(private storeService: StoreService, private route: ActivatedRoute,\r\n private userService: UserService, private organizationService: OrganizationService,\r\n private projectService: ProjectService, private currencyService: CurrencyService,\r\n private homePageService: HomePageService, private router: Router,\r\n private embedService: EmbedVideoService,\r\n private documentService: DocumentLinkService,\r\n private sponsorService: SponsorLogoService,\r\n private urlService: UrlHelperService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.yt_video1_frame = this.embedService.embed(this.videoOneUrl, {\r\n attr: {width: '100%', height: '250px'}\r\n });\r\n this.yt_video2_frame = this.embedService.embed(this.videoTwoUrl, {\r\n attr: {width: '100%', height: '250px'}\r\n });\r\n this.storeService.newReportItem(Settings.dropDownMenus.home);\r\n this.storeService.currentInfoMessage.subscribe(message => this.infoMessage = message);\r\n if (this.infoMessage !== null && this.infoMessage !== '') {\r\n this.showMessage = true;\r\n }\r\n setTimeout(() => {\r\n this.storeService.newInfoMessage('');\r\n this.showMessage = false;\r\n }, Settings.displayMessageTime);\r\n\r\n this.getCurrentYearDisbursements();\r\n this.getHomePageSettings();\r\n this.getUsersCount();\r\n this.getProjectsCount();\r\n this.getOrganizationsCount();\r\n this.getDefaultCurrency();\r\n this.getLatestProjects();\r\n this.getDocumentLinks();\r\n this.getSponsors();\r\n }\r\n\r\n getDefaultCurrency() {\r\n this.currencyService.getDefaultCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultCurrency = data.currencyName;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getUsersCount() {\r\n this.userService.getUsersCount().subscribe(\r\n data => {\r\n if (data) {\r\n this.usersCount = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getProjectsCount() {\r\n this.projectService.getProjectsCount().subscribe(\r\n data => {\r\n if (data) {\r\n this.projectsCount = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getOrganizationsCount() {\r\n this.organizationService.getOrganizationsCount().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationsCount = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getCurrentYearDisbursements() {\r\n this.projectService.getCurrentYearsDisbursements().subscribe(\r\n data => {\r\n if (data) {\r\n this.currentYear = data.currentYear;\r\n this.currentFinancialYear = data.financialYear;\r\n this.currentYearDisbursements = Math.round(data.disbursements);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getHomePageSettings() {\r\n this.homePageService.getHomePageSettings().subscribe(\r\n data => {\r\n if (data) {\r\n this.model = data;\r\n }\r\n this.isIntroLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getLatestProjects() {\r\n this.projectService.getLatestProjects().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultCurrencyCode = (data.defaultCurrency) ? data.defaultCurrency : null;\r\n this.latestProjects = (data.projects) ? data.projects : [];\r\n }\r\n this.isProjectsLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getDocumentLinks() {\r\n this.documentService.getDocumentLinks().subscribe(\r\n data => {\r\n if (data) {\r\n this.links = data;\r\n }\r\n this.isLinkLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getSponsors() {\r\n var logosBaseUrl = this.urlService.getLogosUrl();\r\n this.sponsorService.getLogos().subscribe(\r\n data => {\r\n if (data) {\r\n this.sponsors = data.sponsorLogos; \r\n this.sponsors.forEach((s) => {\r\n s.logoPath = logosBaseUrl + s.logoPath;\r\n });\r\n }\r\n this.isSponsorsLoading = false;\r\n }\r\n );\r\n }\r\n\r\n viewProjectDetail(id) {\r\n if (id) {\r\n this.router.navigateByUrl('view-project/' + id);\r\n }\r\n }\r\n\r\n formatNumberWithCommas(value: number) {\r\n return this.storeService.getNumberWithCommas(value);\r\n }\r\n\r\n}\r\n","
\r\n\r\n
\r\n
\r\n \r\n Information! {{infoMessage}}\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
User accounts
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{{usersCount}}
\r\n
Registered users
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
AIMS projects
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{{projectsCount}}
\r\n
Active projects
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Organizations
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{{organizationsCount}}
\r\n
Organizations
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n {{currentFinancialYear}} disbursements to date\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{{formatNumberWithCommas(currentYearDisbursements)}}
\r\n
{{defaultCurrency}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
{{model.introductionHeading}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n  Loading introduction...\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
Recently updated projects
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n  Loading projects...\r\n
\r\n
\r\n
\r\n 0\" class=\"table table-striped table-condensed small\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ProjectProject value ({{defaultCurrencyCode}})Detail
{{project.title}}{{project.projectCurrency}}\r\n {{formatNumberWithCommas(project.projectCost)}}\r\n \r\n \r\n
\r\n
\r\n No projects to show\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
Sponsors
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n  Loading sponsors...\r\n
\r\n
\r\n
\r\n 0\">\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n No sponsors to show\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
Learn about AIMS
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
Important links
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n  Loading links...\r\n
\r\n
\r\n
\r\n 0\" class=\"table table-condensed small\">\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{link.title}}\r\n \r\n
\r\n
\r\n No links to show\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { CurrencyService } from '../services/currency.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Messages } from '../config/messages';\r\n//import { modelGroupProvider } from '@angular/forms/src/directives/ng_model_group';\r\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-manage-currency',\r\n templateUrl: './manage-currency.component.html',\r\n styleUrls: ['./manage-currency.component.css']\r\n})\r\nexport class ManageCurrencyComponent implements OnInit {\r\n\r\n isBtnDisabled: boolean = false;\r\n currencyId: number = 0;\r\n btnText: string = 'Add currency';\r\n errorMessage: string = '';\r\n requestNo: number = 0;\r\n isForEdit: boolean = false;\r\n isError: boolean = false;\r\n model = { id: 0, currency: null, currencyName: null, isDefault: false, isNational: false };\r\n entryForm: any = null;\r\n permissions: any = {};\r\n\r\n constructor(private currencyService: CurrencyService, private route: ActivatedRoute,\r\n private router: Router, private storeService: StoreService,\r\n private securityService: SecurityHelperService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditCurrency) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n if (this.route.snapshot.data && this.route.snapshot.data.isForEdit) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Edit currency';\r\n this.isForEdit = true;\r\n this.currencyId = id;\r\n this.currencyService.getCurrency(id).subscribe(\r\n data => {\r\n if (data) {\r\n this.model.id = data.id;\r\n this.model.currency = data.currency;\r\n this.model.currencyName = data.currencyName;\r\n this.model.isDefault = data.isDefault;\r\n this.model.isNational = data.isNational;\r\n }\r\n },\r\n error => {\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n }\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n saveCurrency(frm: any) {\r\n this.entryForm = frm;\r\n this.btnText = 'Saving...';\r\n this.isBtnDisabled = true;\r\n\r\n if (this.isForEdit) {\r\n if (this.currencyId) {\r\n this.currencyService.editCurrency(this.currencyId, this.model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('currencies');\r\n } else {\r\n this.resetFormState();\r\n }\r\n }\r\n )\r\n }\r\n } else {\r\n this.currencyService.addCurrency(this.model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('currencies');\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.resetFormState();\r\n }\r\n );\r\n }\r\n }\r\n\r\n toggleDefault() {\r\n if (this.model.isDefault) {\r\n this.model.isDefault = false;\r\n } else {\r\n this.model.isDefault = true;\r\n }\r\n }\r\n\r\n toggleNational() {\r\n if (this.model.isNational) {\r\n this.model.isNational = false;\r\n } else {\r\n this.model.isNational = true;\r\n }\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n this.btnText = 'Add Currency';\r\n this.entryForm.resetForm();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Currency
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Currency code is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Currency name is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n  Is default currency?\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Is national currency?\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { SectorService } from '../services/sector.service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { Messages } from '../config/messages';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-sector-mappings',\r\n templateUrl: './sector-mappings.component.html',\r\n styleUrls: ['./sector-mappings.component.css']\r\n})\r\nexport class SectorMappingsComponent implements OnInit {\r\n\r\n inputTextHolder: string = 'Enter sector name to search';\r\n errorMessage: string = null;\r\n requestNo: number = 0;\r\n defaultSectors: any = [];\r\n sectorTypes: any = [];\r\n sectorsList: any = [];\r\n defaultSectorTypeId: number = 0;\r\n selectedSectorTypeId: number = 0;\r\n filteredSectors: any = [];\r\n sectorsForType: any = [];\r\n filteredSectorsForType: any = [];\r\n sectorMappings: any = [];\r\n allSectorMappings: any = [];\r\n newMappings: any = [];\r\n isLoadingMappings: boolean = false;\r\n isLoadingSectorsForType: boolean = false;\r\n permissions: any = {};\r\n isLoading: boolean = false;\r\n criteria: string = null;\r\n otherCriteria: string = null;\r\n showUnmappedOnly: boolean = false;\r\n unMappedText: string = 'Show only un-mapped';\r\n model: any = { selectedSectorId: null, sectorTypeId: null };\r\n @BlockUI() blockUI: NgBlockUI;\r\n \r\n constructor(private sectorService: SectorService, private errorModal: ErrorModalComponent,\r\n private storeService: StoreService) { }\r\n\r\n ngOnInit() {\r\n this.isLoading = true;\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.getAllSectorsMappings();\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n }\r\n\r\n getSectorTypes() {\r\n this.sectorService.getSectorTypes().subscribe(\r\n data => {\r\n if (data) {\r\n this.sectorTypes = data;\r\n var defaultType = this.sectorTypes.filter(s => s.isPrimary == true);\r\n if (defaultType.length > 0) {\r\n this.defaultSectorTypeId = defaultType[0].id;\r\n this.sectorTypes = this.sectorTypes.filter(t => t.id != this.defaultSectorTypeId);\r\n }\r\n }\r\n this.getAllSectors();\r\n }\r\n );\r\n }\r\n\r\n getAllSectors() {\r\n this.sectorService.getAllSectors().subscribe(\r\n data => {\r\n if (data) {\r\n this.sectorsList = data;\r\n if (this.defaultSectorTypeId) {\r\n this.defaultSectors = this.sectorsList.filter(s => s.sectorTypeId == this.defaultSectorTypeId && s.parentSector != null);\r\n }\r\n }\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getAllSectorsMappings() {\r\n this.sectorService.getAllSectorMappings().subscribe(\r\n data => {\r\n if (data) {\r\n this.allSectorMappings = data;\r\n }\r\n this.getSectorTypes();\r\n }\r\n );\r\n }\r\n\r\n getSectorMappings() {\r\n var id = this.model.selectedSectorId;\r\n if (id) {\r\n this.isLoadingMappings = true;\r\n this.sectorMappings.length = 0;\r\n this.sectorService.getSectorMappings(id).subscribe(\r\n data => {\r\n if (data) {\r\n if (!data.mappedSectors) {\r\n this.sectorMappings.length = 0;\r\n } else {\r\n this.sectorMappings = data.mappedSectors;\r\n }\r\n }\r\n this.isLoadingMappings = false;\r\n }\r\n );\r\n }\r\n }\r\n\r\n getSectorsForType() {\r\n if (this.model.sectorTypeId == null) {\r\n return false;\r\n }\r\n \r\n this.filteredSectorsForType = this.sectorsList.filter(s => s.sectorTypeId == this.model.sectorTypeId);\r\n this.filteredSectorsForType.forEach((s) => {\r\n var mapping = this.allSectorMappings.filter(sec => sec.sectorId == s.id);\r\n if (mapping.length > 0) {\r\n s.mappingId = mapping[0].mappedSectorId;\r\n } else {\r\n s.mappingId = null;\r\n }\r\n });\r\n\r\n if (this.showUnmappedOnly) {\r\n this.filteredSectorsForType = this.filteredSectorsForType.filter(s => s.mappingId == null);\r\n }\r\n }\r\n\r\n addOrUpdateSectorMapping(id) {\r\n var sector = this.filteredSectorsForType.filter(s => s.id == id);\r\n if (sector.length > 0) {\r\n var model = {\r\n sectorTypeId: parseInt(this.model.sectorTypeId),\r\n sectorId: parseInt(sector[0].id),\r\n mappingId: parseInt(sector[0].mappingId)\r\n }\r\n\r\n this.blockUI.start('Wait update mapping');\r\n this.sectorService.addOrUpdateSectorMappings(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.allSectorMappings = this.allSectorMappings.filter(s => s.sectorId != id);\r\n var mappingModel = {\r\n sectorId: parseInt(model.sectorId.toString()),\r\n mappedSectorId: parseInt(model.mappingId.toString())\r\n }\r\n this.allSectorMappings.push(mappingModel);\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n filterSectors() {\r\n if (this.criteria) {\r\n this.getSectorsForType();\r\n var criteria = this.criteria.toLowerCase();\r\n this.filteredSectorsForType = this.filteredSectorsForType.filter(s => s.sectorName.toLowerCase().indexOf(criteria) != -1);\r\n }\r\n }\r\n\r\n updateUnMappedStatus() {\r\n this.showUnmappedOnly = !this.showUnmappedOnly;\r\n if (this.showUnmappedOnly) {\r\n this.filteredSectorsForType = this.filteredSectorsForType.filter(s => s.mappingId == null);\r\n } else {\r\n this.getSectorsForType();\r\n }\r\n }\r\n\r\n mapSector(e) {\r\n var id = e.target.id.split('-')[1];\r\n if (id) {\r\n var selectSector = this.sectorsForType.filter(s => s.id == id);\r\n if (selectSector.length > 0) {\r\n this.newMappings.push(selectSector[0]);\r\n }\r\n }\r\n }\r\n\r\n unMapSector(e) {\r\n var id = e.target.id.split('-')[1];\r\n if (id) {\r\n var selectSector = this.sectorsForType.filter(s => s.id == id);\r\n if (selectSector.length > 0) {\r\n this.newMappings = this.newMappings.filter(s => s.id != id);\r\n }\r\n }\r\n }\r\n\r\n\r\n checkIfSectorMapped(id) {\r\n if (this.sectorMappings.length > 0 && this.sectorMappings[0].sectors) {\r\n var isMapped = this.sectorMappings[0].sectors.filter(s => s.sectorId == id);\r\n return isMapped.length > 0 ? true : false;\r\n }\r\n return false;\r\n }\r\n\r\n}\r\n","
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n Select a sector type to see sectors list and mappings for NDP sectors. You may assign/update \r\n the mapping using this section. \r\n

\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n  {{unMappedText}}\r\n
\r\n
\r\n\r\n
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorMapped to Somali sector
\r\n \r\n {{sector.sectorWithCode}}
\r\n
\r\n
\r\n \r\n
\r\n \r\n No sectors to show\r\n \r\n \r\n Wait loading...\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { ContactService } from '../services/contact.service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { Messages } from '../config/messages';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { Settings } from '../config/settings';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-contact-form',\r\n templateUrl: './contact-form.component.html',\r\n styleUrls: ['./contact-form.component.css']\r\n})\r\nexport class ContactFormComponent implements OnInit {\r\n isLoggedIn: boolean = false;\r\n isError: boolean = false;\r\n errorMessage: string = null;\r\n successMessage: string = null;\r\n isShowSuccessMessage: boolean = false;\r\n isShowList: boolean = false;\r\n projectsList: any = [];\r\n projectsSettings: any = {};\r\n filteredProjectsList: any = [];\r\n criteria: string = null;\r\n isLoading: boolean = false;\r\n itemsToShowInDropdowns: number = 5;\r\n MESSAGE_SENT = 1;\r\n MESSAGE_TO_REVIEW = 2;\r\n messageLimit: number = Settings.descriptionMediumLimit;\r\n messageLimitLeft: number = Settings.descriptionMediumLimit;\r\n model: any = { emailType: null, senderName: null, projectTitle: null, senderEmail: null, \r\n projectId: 0, subject: null, message: null, selectedProject: null \r\n };\r\n\r\n emailTypes: any = [\r\n { text: 'Help', val: 1 },\r\n { text: 'Project information', val: 2 }\r\n ];\r\n\r\n emailTypeCodes: any = {\r\n HELP: 1,\r\n INFORMATION: 2\r\n };\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n \r\n constructor(private securityService: SecurityHelperService, \r\n private contactService: ContactService, private errorModal: ErrorModalComponent,\r\n private projectService: ProjectService, private storeService: StoreService,\r\n private router: Router) {\r\n }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.contact);\r\n this.isLoggedIn = this.securityService.checkIsLoggedIn();\r\n if (this.isLoggedIn) {\r\n this.model.senderEmail = this.securityService.getUserEmail();\r\n }\r\n this.getProjects();\r\n\r\n this.projectsSettings = {\r\n singleSelection: true,\r\n idField: 'id',\r\n textField: 'title',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: this.itemsToShowInDropdowns,\r\n allowSearchFilter: true\r\n };\r\n }\r\n\r\n sendEmailRequest(frm: any) {\r\n this.isShowSuccessMessage = false;\r\n if (this.model.selectedProject == null) {\r\n this.errorMessage = 'Select a project before posting the message';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.model.projectId = this.model.selectedProject.id;\r\n this.blockUI.start('Submitting request...');\r\n this.model.emailType = parseInt(this.model.emailType);\r\n this.model.projectTitle = this.model.selectedProject.title;\r\n this.model.projectId = this.model.selectedProject.id;\r\n var model = {\r\n emailType: this.model.emailType, \r\n senderName: this.model.senderName, \r\n projectTitle: this.model.selectedProject[0].title, \r\n senderEmail: this.model.senderEmail, \r\n projectId: this.model.selectedProject[0].id, \r\n subject: this.model.subject, \r\n message: this.model.message\r\n }\r\n this.contactService.sendContactMessage(model).subscribe(\r\n data => {\r\n if (data) {\r\n if (data.success && data.returnedId == this.MESSAGE_SENT) {\r\n this.successMessage = 'Your message for the project is forwarded successfully';\r\n } else if (data.success && data.returnedId == this.MESSAGE_TO_REVIEW) {\r\n this.successMessage = 'Your message is sent for review by the management user. Once reviewed, it will be forwarded.';\r\n }\r\n this.isShowSuccessMessage = true;\r\n this.resetModel();\r\n frm.resetForm();\r\n window.scroll(0, 0);\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n getProjects() {\r\n this.isLoading = true;\r\n this.projectService.getProjectTitles().subscribe(\r\n data => {\r\n if (data) {\r\n this.projectsList = data;\r\n this.filteredProjectsList = data;\r\n this.isShowList = true;\r\n }\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n filterProjects() {\r\n if (!this.criteria) {\r\n this.filteredProjectsList = this.projectsList;\r\n } else {\r\n if (this.projectsList.length > 0) {\r\n var criteria = this.criteria.toLowerCase();\r\n this.filteredProjectsList = this.projectsList.filter(s => (s.title.toLowerCase().indexOf(criteria) != -1));\r\n }\r\n }\r\n }\r\n\r\n selectProject(e) {\r\n var id = parseInt(e.currentTarget.id.split('-')[1]);\r\n if (id) {\r\n var selectedProject = this.projectsList.filter(p => p.id == id);\r\n if (selectedProject.length > 0) {\r\n this.model.projectId = id;\r\n this.criteria = selectedProject[0].title;\r\n this.isShowList = false;\r\n }\r\n }\r\n }\r\n\r\n changeRequest() {\r\n if (this.model.emailType == this.emailTypeCodes.INFORMATION) {\r\n this.isShowList = true;\r\n if (this.projectsList.length == 0) {\r\n this.getProjects();\r\n }\r\n } else {\r\n this.isShowList = false;\r\n }\r\n }\r\n\r\n showProjectsList() {\r\n this.isShowList = true;\r\n this.criteria = null;\r\n this.model.projectId = 0;\r\n this.filteredProjectsList = this.projectsList;\r\n }\r\n\r\n resetModel() {\r\n var senderEmail = this.model.senderEmail;\r\n this.model = { emailType: null, senderName: null, projectTitle: null, \r\n projectId: 0, subject: null, message: null,\r\n senderEmail: senderEmail\r\n };\r\n }\r\n\r\n getMessageLimitInfo() {\r\n this.messageLimitLeft = (this.messageLimit - this.model.message.length);\r\n if (this.messageLimitLeft < 0) {\r\n this.model.message = this.model.message.substring(0, (this.messageLimit - 1));\r\n }\r\n }\r\n\r\n clear() {\r\n this.criteria = null;\r\n this.model.projectId = 0;\r\n this.isShowList = true;\r\n this.filteredProjectsList = this.projectsList;\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Contact form
\r\n
\r\n \r\n Information! {{successMessage}}\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Email is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Name is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Message type is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n Project selection is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Subject is required\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Message is required\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-management',\r\n templateUrl: './management.component.html',\r\n styleUrls: ['./management.component.css']\r\n})\r\nexport class ManagementComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ReportService } from 'src/app/services/report.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { StoreService } from 'src/app/services/store-service';\r\nimport { LocationService } from 'src/app/services/location.service';\r\nimport { FinancialYearService } from 'src/app/services/financial-year.service';\r\nimport { OrganizationService } from 'src/app/services/organization-service';\r\nimport { CurrencyService } from 'src/app/services/currency.service';\r\nimport { Messages } from 'src/app/config/messages';\r\nimport { ErrorModalComponent } from 'src/app/error-modal/error-modal.component';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { Settings } from 'src/app/config/settings';\r\nimport { SectorService } from 'src/app/services/sector.service';\r\nimport { MarkerService } from 'src/app/services/marker.service';\r\nimport { UrlHelperService } from 'src/app/services/url-helper-service';\r\n\r\n@Component({\r\n selector: 'location-report',\r\n templateUrl: './location-report.component.html',\r\n styleUrls: ['./location-report.component.css']\r\n})\r\nexport class LocationReportComponent implements OnInit {\r\n locationsSettings: any = [];\r\n selectedLocations: any = [];\r\n selectedOrganizations: any = [];\r\n exchangeRates: any = [];\r\n organizationsSettings: any = {};\r\n markerValuesSettings: any = {};\r\n dataOptionSettings: any = {};\r\n subLocationsSettings: any = {};\r\n projectsSettings: any = {};\r\n yearsList: any = [];\r\n locationsList: any = [];\r\n subLocationsList: any = [];\r\n filteredSubLocationsList: any = [];\r\n organizationsList: any = [];\r\n currenciesList: any = [];\r\n exchangeRatesList: any = [];\r\n manualExchangeRatesList: any = [];\r\n selectedDataOptions: any = [];\r\n projects: any = [];\r\n allSectorsList: any = [];\r\n sectorsList: any = [];\r\n markersList: any = [];\r\n markerValues: any = [];\r\n sectorIds: any = [];\r\n subSectorIds: any = [];\r\n subSubSectorIds: any = [];\r\n requestNo: number = 0;\r\n isAnyFilterSet: boolean = false;\r\n isNoLocationReport: boolean = false;\r\n defaultCurrency: string = null;\r\n nationalCurrency: string = null;\r\n nationalCurrencyName: string = null;\r\n selectedCurrencyName: string = null;\r\n errorMessage: string = null;\r\n oldCurrencyRate: number = 0;\r\n showChart: boolean = true;\r\n excelFile: string = null;\r\n manualExRate: any = 0;\r\n oldCurrency: string = null;\r\n defaultCurrencyRate: number = 0;\r\n chartCategory: number = 1;\r\n multiDataDisplay: boolean = true;\r\n datedToday: string = null;\r\n paramMarkerValues: any = [];\r\n paramMarkerValues2: any = [];\r\n paramLocationIds: any = [];\r\n paramSubLocationIds: any = [];\r\n paramOrgIds: any = [];\r\n paramProjectIds: any = [];\r\n paramChartType: string = null;\r\n loadReport: boolean = false;\r\n isLoading: boolean = true;\r\n isDataLoading: boolean = true;\r\n isShowStackedChart: boolean = false;\r\n isNoSectorReport: boolean = false;\r\n isManageDataDisplay: boolean = true;\r\n btnReportText: string = 'Update report';\r\n\r\n chartOptions: any = [\r\n { id: 1, type: 'bar', title: 'Bar chart' },\r\n { id: 2, type: 'pie', title: 'Pie chart' },\r\n { id: 3, type: 'doughnut', title: 'Doughnut chart' },\r\n { id: 4, type: 'stacked-bar', title: 'Stacked bar' },\r\n ];\r\n\r\n chartTypes: any = {\r\n BAR: 'bar',\r\n PIE: 'pie',\r\n DOUGHNUT: 'doughnut',\r\n STACKEDBAR: 'stacked-bar'\r\n };\r\n\r\n chartTypeCodes: any = {\r\n BAR: 1,\r\n PIE: 2,\r\n DOUGHNUT: 3,\r\n STACKEDBAR: 4,\r\n };\r\n\r\n dataOptions: any = [\r\n { id: 1, type: 'actual-disbursements', value: 'Actual disbursements' },\r\n { id: 2, type: 'planned-disbursements', value: 'Planned disbursements' },\r\n { id: 3, type: 'total-disbursements', value: 'Total disbursements' }\r\n ];\r\n\r\n sectorLevels: any = [\r\n { \"id\": 1, \"level\": \"Parent sectors\" },\r\n { \"id\": 2, \"level\": \"Sub sectors\" },\r\n ];\r\n\r\n sectorLevelCodes: any = {\r\n NO_SECTORS: 4,\r\n SECTORS: 1,\r\n SUB_SECTORS: 2,\r\n SUB_SUB_SECTORS: 3\r\n }\r\n\r\n dataOptionsIndexForDoughnut: any = {\r\n 1: 0,\r\n 2: 1,\r\n 3: 2\r\n };\r\n\r\n dataOptionsCodes: any = {\r\n 'ACTUAL_DISBURSEMENTS': 1,\r\n 'PLANNED_DISBURSEMENTS': 2,\r\n 'DISBURSEMENTS': 3\r\n };\r\n\r\n noLocationOptions: any = [\r\n { id: 1, option: 'Projects with locations' },\r\n { id: 2, option: 'Projects without locations' },\r\n ];\r\n\r\n noLocationCodes: any = {\r\n PROJECTS_WITH_LOCATIONS: 1,\r\n PROJECTS_WITHOUT_LOCATIONS: 2\r\n }\r\n\r\n dataOptionLabels: any = {\r\n ACTUAL_DISBURSEMENTS: 'Actual disbursements',\r\n PLANNED_DISBURSEMENTS: 'Planned disbursements',\r\n DISBURSEMENTS: 'Total disbursements'\r\n };\r\n\r\n exRateSourceCodes: any = {\r\n 'OPEN_EXCHANGE': 1,\r\n 'AFRICAN_BANK': 2\r\n };\r\n\r\n exRateSources: any = [\r\n { id: 1, value: 'Open exchange api' },\r\n { id: 2, value: 'African bank' }\r\n ];\r\n\r\n reportDataList: any = [];\r\n dropdownSettings: any = {};\r\n stackedChartOptions: any = {\r\n responsive: true,\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var tooltipValue = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n return parseInt(tooltipValue).toLocaleString();\r\n }\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true,\r\n callback: function (value, index, values) {\r\n return value.toLocaleString(\"en-US\");\r\n }\r\n }\r\n }],\r\n xAxes: [{\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }]\r\n }\r\n };\r\n\r\n barChartOptions: any = {\r\n scaleShowVerticalLines: false,\r\n responsive: true,\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var tooltipValue = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n return parseInt(tooltipValue).toLocaleString();\r\n }\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n callback: function (value, index, values) {\r\n return value.toLocaleString(\"en-US\");\r\n }\r\n }\r\n }],\r\n xAxes: [{\r\n beginAtZero: true,\r\n ticks: {\r\n autoSkip: false\r\n }\r\n }],\r\n },\r\n plugins: {\r\n datalabels: {\r\n anchor: 'end',\r\n align: 'end',\r\n }\r\n }\r\n };\r\n\r\n pieChartOptions: any = {\r\n responsive: true,\r\n legend: {\r\n position: 'top',\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function(tooltipItem, data) {\r\n var dataLabel = data.labels[tooltipItem.index];\r\n var value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index].toLocaleString();\r\n dataLabel += value;\r\n return dataLabel;\r\n }\r\n }\r\n }\r\n }\r\n\r\n radarChartOptions: any = {\r\n responsive: true,\r\n tooltips: {\r\n callbacks: {\r\n label: function(tooltipItem, data) {\r\n var dataLabel = data.labels[tooltipItem.index];\r\n var value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index].toLocaleString();\r\n dataLabel += value;\r\n return dataLabel;\r\n }\r\n }\r\n }\r\n }\r\n\r\n chartColors: any = [\r\n {\r\n backgroundColor: [\r\n \"#FF7360\", \"#6FC8CE\", \"#4cc6bb\", \"#fdd100\", \"#123ea9\"\r\n ]\r\n }\r\n ];\r\n chartLables: any = [];\r\n stackedChartLabels: any = [];\r\n doughnutChartLabels: any = [];\r\n barChartType: string = 'bar';\r\n chartLegend: boolean = true;\r\n chartData: any = [];\r\n stackedChartData: any = [];\r\n doughnutChartData: any = [];\r\n model: any = {\r\n title: '', organizationIds: [], startingYear: 0, endingYear: 0, chartType: this.chartTypeCodes.BAR,\r\n sectorIds: [], locationIds: [], selectedSectors: [], selectedOrganizations: [],\r\n selectedLocations: [], selectedSubLocations: [], sectorsList: [], locationsList: [], organizationsList: [],\r\n selectedCurrency: null, exRateSource: null, dataOption: 1, selectedDataOptions: [],\r\n selectedDataOption: 1, chartTypeName: 'bar', selectedProjects: [], sectorId: 0, \r\n noLocationOption: this.noLocationCodes.PROJECTS_WITH_LOCATIONS, sectorLevel: 0,\r\n markerId: 0, markerValues: [], markerId2: 0, markerValues2: []\r\n };\r\n //Overlay UI blocker\r\n @BlockUI() blockUI: NgBlockUI;\r\n\r\n constructor(private reportService: ReportService, private storeService: StoreService,\r\n private locationService: LocationService, private fyService: FinancialYearService,\r\n private organizationService: OrganizationService, private currencyService: CurrencyService,\r\n private errorModal: ErrorModalComponent, private route: ActivatedRoute, \r\n private projectService: ProjectService, private sectorService: SectorService,\r\n private markerService: MarkerService,\r\n private urlService: UrlHelperService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.reports);\r\n this.getDefaultCurrency();\r\n this.getNationalCurrency();\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.blockUI.stop();\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n if (this.route.snapshot.queryParams.load) {\r\n this.route.queryParams.subscribe(params => {\r\n if (params) {\r\n this.model.title = (params.title) ? params.title : null;\r\n this.model.noLocationOption = (params.noLocations) ? this.noLocationCodes.PROJECTS_WITHOUT_LOCATIONS : this.noLocationCodes.PROJECTS_WITH_LOCATIONS;\r\n this.model.startingYear = (params.syear) ? parseInt(params.syear) : 0;\r\n this.model.endingYear = (params.eyear) ? parseInt(params.eyear) : 0;\r\n this.model.sectorId = (params.sectorId) ? parseInt(params.sectorId) : 0;\r\n this.model.markerId = (params.mid) ? parseInt(params.mid) : 0;\r\n this.model.markerId2 = (params.mid2) ? parseInt(params.mid2) : 0;\r\n this.paramProjectIds = (params.projects) ? params.projects.split(',').map(p => parseInt(p)) : [];\r\n this.paramLocationIds = (params.locations) ? params.locations.split(',').map(l => parseInt(l)) : [];\r\n this.paramSubLocationIds = (params.slocations) ? params.slocations.split(',').map(l => parseInt(l)) : [];\r\n this.paramOrgIds = (params.orgs) ? params.orgs.split(',').map(o => parseInt(o)) : [];\r\n this.paramChartType = (params.ctype) ? params.ctype : this.chartTypeCodes.BAR;\r\n if (params.mvalue) {\r\n this.paramMarkerValues = params.mvalue.split(',');\r\n }\r\n if (params.mvalue2) {\r\n this.paramMarkerValues2 = params.mvalue2.split(',');\r\n }\r\n this.loadReport = true;\r\n if (this.model.noLocationOption) {\r\n this.isNoLocationReport = true;\r\n }\r\n } \r\n });\r\n } else {\r\n this.searchProjectsByCriteriaReport();\r\n }\r\n\r\n this.getProjectTitles();\r\n this.getLocationsList();\r\n this.getOrganizationsList();\r\n this.loadFinancialYears();\r\n this.getSectorsList();\r\n this.getMarkers();\r\n\r\n this.locationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'locationName',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.subLocationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'subLocation',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.projectsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'title',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.organizationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'organizationName',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.locationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'location',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.markerValuesSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'value',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.dataOptionSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'value',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n var dataOption = this.dataOptions.filter(o => o.id == this.dataOptionsCodes.ACTUAL_DISBURSEMENTS);\r\n if (dataOption.length > 0) {\r\n this.model.selectedDataOptions.push(dataOption[0]);\r\n this.selectedDataOptions.push(this.dataOptionsCodes.ACTUAL_DISBURSEMENTS);\r\n }\r\n }\r\n\r\n getManualExchangeRateForToday() {\r\n var dated = this.storeService.getCurrentDateSQLFormat();\r\n var model = {\r\n dated: dated\r\n };\r\n this.currencyService.getAverageCurrencyForDate(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.exchangeRates = data;\r\n var nationalCurrencyRate = this.exchangeRates.filter(c => c.currency == this.nationalCurrencyName);\r\n if (nationalCurrencyRate.length > 0) {\r\n this.manualExRate = nationalCurrencyRate[0].rate;\r\n this.oldCurrencyRate = 1;\r\n }\r\n }\r\n });\r\n }\r\n\r\n getSectorsList() {\r\n this.sectorService.getDefaultSectors().subscribe(\r\n data => {\r\n if (data) {\r\n var allSectorsList = data;\r\n this.allSectorsList = allSectorsList;\r\n var sectorsList = allSectorsList.filter(s => s.parentSector == null);\r\n this.sectorsList = sectorsList;\r\n var sectorIds = sectorsList.map(s => s.id);\r\n var subSectorsList = allSectorsList.filter(s => sectorIds.indexOf(s.parentSectorId) != -1);\r\n var subSectorIds = subSectorsList.map(s => s.id);\r\n this.subSectorIds = subSectorIds;\r\n var subSubSectors = allSectorsList.filter(s => subSectorIds.indexOf(s.parentSectorId) != -1);\r\n var subSubSectorIds = subSubSectors.map(s => s.id);\r\n this.subSubSectorIds = subSubSectorIds;\r\n\r\n if (this.subSubSectorIds.length > 0) {\r\n this.sectorLevels.push({\r\n id: 3,\r\n level: 'Sub-sub sectors'\r\n });\r\n this.sectorLevels.sort(s => s.id);\r\n }\r\n\r\n if (this.model.sectorId) {\r\n if (this.sectorIds.includes(this.model.sectorId)) {\r\n this.model.sectorLevel == this.sectorLevelCodes.SECTORS;\r\n } else if (this.subSectorIds.includes(this.model.sectorId)) {\r\n this.model.sectorLevel = this.sectorLevelCodes.SUB_SECTORS;\r\n } else if (this.subSubSectorIds.includes(this.model.sectorId)) {\r\n this.model.sectorLevel = this.sectorLevelCodes.SUB_SUB_SECTORS;\r\n }\r\n }\r\n\r\n if (this.loadReport) {\r\n if (this.model.sectorId > 0) {\r\n var sectorId = parseInt(this.model.sectorId);\r\n if (sectorIds.indexOf(sectorId) != -1) {\r\n this.model.sectorLevel = this.sectorLevelCodes.SECTORS;\r\n } else if (subSectorIds.indexOf(sectorId) != -1) {\r\n this.model.sectorLevel = this.sectorLevelCodes.SUB_SECTORS;\r\n } else if (subSubSectorIds.indexOf(sectorId) != -1) {\r\n this.model.sectorLevel = this.sectorLevelCodes.SUB_SUB_SECTORS;\r\n }\r\n\r\n this.manageSectorLevel();\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getProjectTitles() {\r\n this.projectService.getProjectTitles().subscribe(\r\n data => {\r\n if (data) {\r\n this.projects = data;\r\n if (this.loadReport) {\r\n if (this.paramProjectIds.length > 0) {\r\n this.paramProjectIds.forEach(function (id) {\r\n var project = this.projects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n this.model.selectedProjects.push(project[0]);\r\n }\r\n }.bind(this));\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getDefaultCurrency() {\r\n this.currencyService.getDefaultCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultCurrency = data.currency;\r\n this.model.selectedCurrency = data.currency;\r\n this.oldCurrency = this.model.selectedCurrency;\r\n this.selectedCurrencyName = data.currencyName;\r\n this.currenciesList.push(data);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getNationalCurrency() {\r\n this.currencyService.getNationalCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.nationalCurrency = data;\r\n this.nationalCurrencyName = data.currency;\r\n this.currenciesList.push(data);\r\n this.getManualExchangeRateForToday();\r\n }\r\n\r\n setTimeout(() => {\r\n this.isDataLoading = false;\r\n if (this.loadReport) {\r\n this.searchProjectsByCriteriaReport();\r\n }\r\n }, 3000);\r\n }\r\n );\r\n }\r\n\r\n searchProjectsByCriteriaReport() {\r\n var currentDate = new Date();\r\n this.chartLables = [];\r\n this.chartData = [];\r\n var projectIds = [];\r\n var chartType = (this.loadReport) ? this.paramChartType : this.model.chartType;\r\n if (this.model.selectedProjects.length > 0) {\r\n projectIds = this.model.selectedProjects.map(p => parseInt(p.id));\r\n }\r\n\r\n var searchModel = {\r\n projectIds: projectIds,\r\n startingYear: (this.model.startingYear) ? parseInt(this.model.startingYear) : 0,\r\n endingYear: (this.model.endingYear) ? parseInt(this.model.endingYear) : 0,\r\n organizationIds: this.model.selectedOrganizations.map(o => o.id),\r\n locationIds: this.model.selectedLocations.map(l => l.id),\r\n subLocationIds: this.model.selectedSubLocations.map(l => l.id),\r\n sectorId: (this.model.sectorId) ? parseInt(this.model.sectorId) : 0,\r\n markerId: (this.model.markerId) ? parseInt(this.model.markerId) : 0,\r\n markerId2: (this.model.markerId2) ? parseInt(this.model.markerId2) : 0,\r\n markerValues: (this.model.markerValues.length > 0) ? this.model.markerValues.map(v => v.value) : [],\r\n markerValues2: (this.model.markerValues2.length > 0) ? this.model.markerValues2.map(v => v.value) : [],\r\n chartType: (chartType) ? parseInt(chartType) : 1\r\n };\r\n\r\n this.resetSearchResults();\r\n this.blockUI.start('Generating report...');\r\n /*if (this.isNoLocationReport) {\r\n this.model.selectedLocations = [];\r\n }*/\r\n\r\n if (this.model.noLocationOption == this.noLocationCodes.PROJECTS_WITHOUT_LOCATIONS) {\r\n this.reportService.getNoLocationProjectsReport(searchModel).subscribe(\r\n data => {\r\n if (data) {\r\n this.reportDataList = data;\r\n this.btnReportText = 'Update report';\r\n if (this.reportDataList && this.reportDataList.locationProjectsList) {\r\n this.reportDataList.locationProjectsList.forEach((p) => {\r\n p.isDisplay = false;\r\n });\r\n var locationNames = this.reportDataList.locationProjectsList.map(p => p.locationName);\r\n this.chartLables = locationNames;\r\n if (this.reportDataList.reportSettings) {\r\n this.excelFile = this.reportDataList.reportSettings.excelReportName;\r\n this.setExcelFile();\r\n }\r\n\r\n if (!this.loadReport) {\r\n this.manageDataToDisplay();\r\n }\r\n \r\n this.model.selectedCurrency = this.defaultCurrency;\r\n setTimeout(() => {\r\n this.datedToday = this.storeService.getLongDateString(currentDate);\r\n if (this.loadReport) {\r\n this.loadReport = false;\r\n if (chartType) {\r\n this.model.chartType = parseInt(chartType);\r\n this.manageDataToDisplay();\r\n }\r\n }\r\n }, 1000);\r\n\r\n setTimeout(() => {\r\n this.selectCurrency();\r\n }, 2000);\r\n }\r\n }\r\n this.blockUI.stop();\r\n this.isNoLocationReport = false;\r\n }\r\n );\r\n\r\n } else {\r\n this.reportService.getLocationWiseProjectsReport(searchModel).subscribe(\r\n data => {\r\n if (data) {\r\n this.reportDataList = data;\r\n this.btnReportText = 'Update report';\r\n if (this.reportDataList && this.reportDataList.locationProjectsList) {\r\n this.reportDataList.locationProjectsList.forEach((p) => {\r\n p.isDisplay = false;\r\n });\r\n var locationNames = this.reportDataList.locationProjectsList.map(p => p.locationName);\r\n this.chartLables = locationNames;\r\n if (this.reportDataList.reportSettings) {\r\n this.excelFile = this.reportDataList.reportSettings.excelReportName;\r\n this.setExcelFile();\r\n }\r\n\r\n if (!this.loadReport) {\r\n this.manageDataToDisplay();\r\n }\r\n this.model.selectedCurrency = this.defaultCurrency;\r\n \r\n setTimeout(() => {\r\n this.datedToday = this.storeService.getLongDateString(currentDate);\r\n if (this.loadReport) {\r\n this.loadReport = false;\r\n if (chartType) {\r\n this.model.chartType = parseInt(chartType);\r\n this.manageDataToDisplay();\r\n }\r\n }\r\n this.selectCurrency();\r\n }, 2000);\r\n }\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n }, 1000);\r\n this.manageResetDisplay();\r\n }\r\n\r\n manageSectorLevel() {\r\n this.model.selectedSectors = [];\r\n if (!this.loadReport) {\r\n this.model.sectorId = 0; \r\n }\r\n if (this.model.sectorLevel) {\r\n var level = parseInt(this.model.sectorLevel);\r\n switch (level) {\r\n case this.sectorLevelCodes.SECTORS:\r\n this.sectorsList = this.allSectorsList.filter(s => s.parentSectorId == 0);\r\n break;\r\n\r\n case this.sectorLevelCodes.SUB_SECTORS:\r\n this.sectorsList = this.allSectorsList.filter(s => this.subSectorIds.indexOf(s.id) != -1);\r\n break;\r\n\r\n case this.sectorLevelCodes.SUB_SUB_SECTORS:\r\n this.sectorsList = this.allSectorsList.filter(s => this.subSubSectorIds.indexOf(s.id) != -1);\r\n break;\r\n\r\n case this.sectorLevelCodes.NO_SECTORS:\r\n this.sectorsList = [];\r\n break;\r\n\r\n default:\r\n this.model.sectorId = 0;\r\n this.sectorsList = this.allSectorsList.filter(s => s.parentSectorId == 0);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n onChangeParentSector() {\r\n if (this.model.parentSectorId != 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n resetSearchResults() {\r\n this.chartData = [];\r\n this.chartLables = [];\r\n this.reportDataList = [];\r\n }\r\n\r\n noLocationChanged() {\r\n if (this.model.noLocationOption == this.noLocationCodes.PROJECTS_WITHOUT_LOCATIONS) {\r\n this.model.selectedLocations = [];\r\n }\r\n this.manageResetDisplay();\r\n }\r\n\r\n formatFunders(funders: any = null) {\r\n var fundersStr = '';\r\n if (funders && funders.length > 0) {\r\n var funderNames = funders.map(f => f.funder);\r\n fundersStr = funderNames.join(', ');\r\n }\r\n return fundersStr;\r\n }\r\n\r\n formatImplementers(implementers: any = null) {\r\n var implementersStr = '';\r\n if (implementers && implementers.length > 0) {\r\n var implementerNames = implementers.map(i => i.implementer);\r\n implementersStr = implementerNames.join(', ');\r\n }\r\n return implementersStr;\r\n }\r\n\r\n loadFinancialYears() {\r\n this.fyService.getYearsList().subscribe(\r\n data => {\r\n this.yearsList = data;\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n generatePDF() {\r\n this.blockUI.start('Generating PDF...');\r\n setTimeout(() => {\r\n var result = Promise.resolve(this.reportService.generatePDF('rpt-location-pdf-view'));\r\n result.then(() => {\r\n this.blockUI.stop();\r\n });\r\n }, 500);\r\n }\r\n\r\n printReport() {\r\n this.storeService.printReport('rpt-location-project', 'Locations report', this.selectedCurrencyName);\r\n }\r\n\r\n public chartClicked(e: any): void {\r\n }\r\n\r\n public chartHovered(e: any): void {\r\n }\r\n\r\n getLocationsList() {\r\n this.locationService.getLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.locationsList = data;\r\n this.getSubLocationsList();\r\n \r\n if (this.loadReport) {\r\n if (this.paramLocationIds.length > 0) {\r\n this.paramLocationIds.forEach(function (id) {\r\n var location = this.locationsList.filter(s => s.id == id);\r\n if (location.length > 0) {\r\n this.model.selectedLocations.push(location[0]);\r\n }\r\n }.bind(this));\r\n }\r\n }\r\n \r\n }\r\n }\r\n );\r\n }\r\n\r\n getSubLocationsList() {\r\n this.locationService.getSubLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.subLocationsList = data;\r\n this.filteredSubLocationsList = data;\r\n if (this.loadReport) {\r\n if (this.paramSubLocationIds.length > 0) {\r\n this.paramSubLocationIds.forEach(function (id) {\r\n var subLocation = this.subLocationsList.filter(s => s.id == id);\r\n if (subLocation.length > 0) {\r\n this.model.selectedSubLocations.push(subLocation[0]);\r\n }\r\n }.bind(this));\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getOrganizationsList() {\r\n this.organizationService.getOrganizationsList().subscribe(\r\n data => {\r\n this.organizationsList = data;\r\n\r\n if (this.loadReport) {\r\n if (this.paramOrgIds.length > 0) {\r\n this.paramOrgIds.forEach(function (id) {\r\n var org = this.organizationsList.filter(o => o.id == id);\r\n if (org.length > 0) {\r\n this.model.selectedOrganizations.push(org[0]);\r\n }\r\n }.bind(this));\r\n }\r\n }\r\n }\r\n )\r\n }\r\n\r\n onChangeStartingYear() {\r\n if (this.model.startingYear != 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n onChangeEndingYear() {\r\n if (this.model.endingYear != 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n onProjectSelect(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onProjectSelectAll(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onProjectDeSelect(item: any) {\r\n if (this.model.selectedProjects.length == 0) {\r\n this.manageResetDisplay();\r\n } else {\r\n this.setFilter();\r\n }\r\n }\r\n\r\n onProjectDeSelectAll(items: any) {\r\n this.model.selectedProjects = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n onLocationSelect(item: any) {\r\n this.filterSubLocations();\r\n this.setFilter();\r\n }\r\n\r\n onLocationDeSelect(item: any) {\r\n if (this.model.selectedLocations.length == 0) {\r\n this.manageResetDisplay();\r\n } \r\n this.filterSubLocations();\r\n }\r\n\r\n onLocationSelectAll(items: any) {\r\n this.filterSubLocations();\r\n this.setFilter();\r\n }\r\n\r\n onLocationDeSelectAll(items: any) {\r\n this.model.selectedLocations = [];\r\n this.model.selectedSubLocations = [];\r\n this.filteredSubLocationsList = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n onSubLocationSelect(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onSubLocationDeSelect(item: any) {\r\n if (this.model.selectedLocations.length == 0) {\r\n this.manageResetDisplay();\r\n } \r\n }\r\n\r\n onSubLocationSelectAll(items: any) {\r\n this.setFilter();\r\n }\r\n\r\n onSubLocationDeSelectAll(items: any) {\r\n this.model.selectedLocations = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n onOrganizationSelect(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onOrganizationDeSelect(item: any) {\r\n if (this.selectedOrganizations.length == 0) {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n onOrganizationSelectAll(items: any) {\r\n this.setFilter();\r\n }\r\n\r\n onOrganizationDeSelectAll(items: any) {\r\n this.model.selectedOrganizations = []; \r\n this.manageResetDisplay();\r\n }\r\n\r\n filterSubLocations() {\r\n var locationIds = this.model.selectedLocations.map(l => l.id);\r\n this.model.filteredSubLocationsList = [];\r\n this.model.selectedSubLocations = [];\r\n\r\n if (locationIds.length == 0) {\r\n this.filteredSubLocationsList = this.subLocationsList;\r\n } else {\r\n this.filteredSubLocationsList = this.subLocationsList.filter(s => locationIds.includes(s.locationId));\r\n }\r\n }\r\n\r\n selectDataOption() {\r\n this.chartData = [];\r\n var selectedDataOption = 1;\r\n if (this.model.selectedDataOption) {\r\n selectedDataOption = parseInt(this.model.selectedDataOption);\r\n }\r\n\r\n switch (selectedDataOption) {\r\n case this.dataOptionsCodes.PROJECTS:\r\n this.chartData = this.reportDataList.locationProjectsList.map(p => p.projects.length);\r\n break;\r\n\r\n case this.dataOptionsCodes.FUNDING:\r\n this.chartData = this.reportDataList.locationProjectsList.map(p => p.totalFunding);\r\n break;\r\n\r\n case this.dataOptionsCodes.DISBURSEMENTS:\r\n this.chartData = this.reportDataList.locationProjectsList.map(p => p.totalDisbursements);\r\n break;\r\n\r\n default:\r\n this.chartData = this.reportDataList.locationProjectsList.map(p => p.projects.length);\r\n break;\r\n }\r\n }\r\n\r\n getGrandTotalFundingForLocation() {\r\n var totalFunding = 0;\r\n if (this.reportDataList && this.reportDataList.locationProjectsList) {\r\n this.reportDataList.locationProjectsList.forEach(function (p) {\r\n totalFunding += p.totalFunding;\r\n });\r\n }\r\n return totalFunding;\r\n }\r\n\r\n getGrandTotalActualDisbursementForLocation() {\r\n var totalDisursement = 0;\r\n if (this.reportDataList && this.reportDataList.locationProjectsList) {\r\n this.reportDataList.locationProjectsList.forEach(function (p) {\r\n totalDisursement += p.actualDisbursements;\r\n });\r\n }\r\n return totalDisursement;\r\n }\r\n\r\n getGrandTotalPlannedDisbursementForLocation() {\r\n var totalDisursement = 0;\r\n if (this.reportDataList && this.reportDataList.locationProjectsList) {\r\n this.reportDataList.locationProjectsList.forEach(function (p) {\r\n totalDisursement += p.plannedDisbursements;\r\n });\r\n }\r\n return totalDisursement;\r\n }\r\n\r\n convertAmountsToCurrency() {\r\n if (this.reportDataList && this.reportDataList.locationProjectsList) {\r\n this.reportDataList.locationProjectsList.forEach(function (p) {\r\n p.totalDisbursements = 0;\r\n });\r\n }\r\n }\r\n\r\n selectCurrency() {\r\n if (this.model.selectedCurrency == null || this.model.selectedCurrency == 'null') {\r\n return false;\r\n } else {\r\n var selectedCurrency = this.currenciesList.filter(c => c.currency == this.model.selectedCurrency);\r\n if (selectedCurrency.length > 0) {\r\n this.selectedCurrencyName = selectedCurrency[0].currencyName;\r\n }\r\n }\r\n if (this.model.selectedCurrency) {\r\n this.getCurrencyRates();\r\n }\r\n }\r\n\r\n selectExRateSource() {\r\n if (this.model.exRateSource && this.model.selectedCurrency) {\r\n this.getCurrencyRates();\r\n }\r\n }\r\n\r\n getCurrencyRates() {\r\n var exRate: number = 0;\r\n var calculatedRate = 0;\r\n if (this.manualExRate == 0) {\r\n this.errorMessage = Messages.EX_RATE_NOT_FOUND;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.model.selectedCurrency == this.defaultCurrency) {\r\n exRate = 1;\r\n } else {\r\n exRate = this.manualExRate;\r\n }\r\n\r\n calculatedRate = (exRate / this.oldCurrencyRate);\r\n this.oldCurrencyRate = exRate;\r\n this.oldCurrency = this.model.selectedCurrency;\r\n\r\n if (calculatedRate > 0 && calculatedRate != 1) {\r\n this.applyRateOnFinancials(calculatedRate);\r\n }\r\n }\r\n\r\n applyRateOnFinancials(calculatedRate: number) {\r\n if (this.reportDataList && this.reportDataList.locationProjectsList) {\r\n this.reportDataList.locationProjectsList.forEach(function (location) {\r\n location.totalFunding = Math.round(parseFloat(((location.totalFunding * calculatedRate).toFixed(2))));\r\n location.totalDisbursements = Math.round(parseFloat(((location.totalDisbursements * calculatedRate).toFixed(2))));\r\n location.actualDisbursements = Math.round(parseFloat(((location.actualDisbursements * calculatedRate).toFixed(2))));\r\n location.plannedDisbursements = Math.round(parseFloat(((location.plannedDisbursements * calculatedRate).toFixed(2))));\r\n\r\n if (location.projects && location.projects.length > 0) {\r\n location.projects.forEach(function (project) {\r\n project.projectCost = Math.round(parseFloat(((project.projectCost * calculatedRate).toFixed(2))));\r\n project.actualDisbursements = Math.round(parseFloat(((project.actualDisbursements * calculatedRate).toFixed(2))));\r\n project.plannedDisbursements = Math.round(parseFloat(((project.plannedDisbursements * calculatedRate).toFixed(2))));\r\n });\r\n }\r\n });\r\n\r\n this.getGrandTotalFundingForLocation();\r\n this.getGrandTotalActualDisbursementForLocation();\r\n this.getGrandTotalPlannedDisbursementForLocation();\r\n\r\n this.showChart = false;\r\n if (this.selectedDataOptions.indexOf(this.dataOptionsCodes.FUNDING) != -1) {\r\n this.chartData = [];\r\n var locationFunding = this.reportDataList.locationProjectsList.map(p => p.totalFunding);\r\n var chartData = { data: locationFunding, label: this.dataOptionLabels.FUNDING };\r\n this.chartData.push(chartData);\r\n this.doughnutChartData.push(locationFunding);\r\n this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.FUNDING] = (this.doughnutChartData.length - 1);\r\n }\r\n\r\n if (this.selectedDataOptions.indexOf(this.dataOptionsCodes.DISBURSEMENTS) != -1) {\r\n this.chartData = [];\r\n var locationDisbursements = this.reportDataList.locationProjectsList.map(p => p.totalDisbursements);\r\n var chartData = { data: locationDisbursements, label: this.dataOptionLabels.DISBURSEMENTS };\r\n this.chartData.push(chartData);\r\n this.doughnutChartData.push(locationDisbursements);\r\n this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.DISBURSEMENTS] = (this.doughnutChartData.length - 1);\r\n }\r\n\r\n setTimeout(() => {\r\n this.showChart = true;\r\n }, 1000);\r\n }\r\n }\r\n\r\n manageDataOptions() {\r\n if (this.selectedDataOptions.length > 0 && this.reportDataList.locationProjectsList) {\r\n this.chartData = [];\r\n this.doughnutChartData = [];\r\n this.showChart = false;\r\n\r\n if (this.selectedDataOptions.indexOf(this.dataOptionsCodes.ACTUAL_DISBURSEMENTS) != -1) {\r\n var isDataExists = this.chartData.filter(d => d.label == this.dataOptionLabels.ACTUAL_DISBURSEMENTS);\r\n if (isDataExists.length == 0) {\r\n var locationProjects = this.reportDataList.locationProjectsList.map(p => p.actualDisbursements);\r\n var chartData = { data: locationProjects, label: this.dataOptionLabels.ACTUAL_DISBURSEMENTS };\r\n this.chartData.push(chartData);\r\n this.doughnutChartData.push(locationProjects);\r\n this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.ACTUAL_DISBURSEMENTS] = (this.doughnutChartData.length - 1);\r\n }\r\n } else {\r\n this.chartData = this.chartData.filter(d => d.label != this.dataOptionLabels.ACTUAL_DISBURSEMENTS);\r\n this.doughnutChartData.splice(this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.ACTUAL_DISBURSEMENTS], 1);\r\n }\r\n\r\n if (this.selectedDataOptions.indexOf(this.dataOptionsCodes.PLANNED_DISBURSEMENTS) != -1) {\r\n var isDataExists = this.chartData.filter(d => d.label == this.dataOptionLabels.PLANNED_DISBURSEMENTS);\r\n if (isDataExists.length == 0) {\r\n var plannedDisbursements = this.reportDataList.locationProjectsList.map(p => p.plannedDisbursements);\r\n var chartData = { data: plannedDisbursements, label: this.dataOptionLabels.PLANNED_DISBURSEMENTS };\r\n this.chartData.push(chartData);\r\n this.doughnutChartData.push(plannedDisbursements);\r\n this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.PLANNED_DISBURSEMENTS] = (this.doughnutChartData.length - 1);\r\n }\r\n } else {\r\n this.chartData = this.chartData.filter(d => d.label != this.dataOptionLabels.PLANNED_DISBURSEMENTS);\r\n this.doughnutChartData.splice(this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.PLANNED_DISBURSEMENTS], 1);\r\n }\r\n\r\n if (this.selectedDataOptions.indexOf(this.dataOptionsCodes.DISBURSEMENTS) != -1) {\r\n var isDataExists = this.chartData.filter(d => d.label == this.dataOptionLabels.DISBURSEMENTS);\r\n if (isDataExists.length == 0) {\r\n var locationDisbursements = this.reportDataList.locationProjectsList.map(p => p.totalDisbursements);\r\n var chartData = { data: locationDisbursements, label: this.dataOptionLabels.DISBURSEMENTS };\r\n this.chartData.push(chartData);\r\n this.doughnutChartData.push(locationDisbursements);\r\n this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.DISBURSEMENTS] = (this.doughnutChartData.length - 1);\r\n }\r\n } else {\r\n this.chartData = this.chartData.filter(d => d.label != this.dataOptionLabels.DISBURSEMENTS);\r\n this.doughnutChartData.splice(this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.DISBURSEMENTS], 1);\r\n }\r\n\r\n if (this.selectedDataOptions.length > 0) {\r\n setTimeout(() => {\r\n this.showChart = true;\r\n }, 1000);\r\n }\r\n }\r\n\r\n if (this.selectedDataOptions.length == 0 && this.chartData.length > 0) {\r\n this.chartData = [];\r\n this.doughnutChartData = [];\r\n setTimeout(() => {\r\n this.showChart = true;\r\n }, 1000);\r\n }\r\n }\r\n\r\n setupStackedChartData() {\r\n this.stackedChartData = [];\r\n var locationProjects = this.reportDataList.locationProjectsList;\r\n this.stackedChartLabels = this.reportDataList.locationProjectsList.map(p => p.locationName);\r\n var actualDisbursements = locationProjects.map(s => s.actualDisbursements);\r\n var plannedDisbursements = locationProjects.map(s => s.plannedDisbursements);\r\n\r\n this.stackedChartData.push({\r\n data: actualDisbursements,\r\n label: 'Actual disbursements',\r\n stack: 'Stack 0'\r\n });\r\n\r\n this.stackedChartData.push({\r\n data: plannedDisbursements,\r\n label: 'Planned disbursements',\r\n stack: 'Stack 0'\r\n });\r\n\r\n setTimeout(() => {\r\n this.isShowStackedChart = true;\r\n }, 1000);\r\n }\r\n\r\n setExcelFile() {\r\n if (this.excelFile) {\r\n this.excelFile = this.urlService.getExcelFilesUrl() + this.excelFile;\r\n }\r\n }\r\n\r\n manageDataToDisplay() {\r\n this.chartData = [];\r\n var selectedDataOption = 1;\r\n var chartType = (this.loadReport) ? this.paramChartType : this.model.chartType;\r\n if (this.model.selectedDataOption) {\r\n this.selectedDataOptions = [];\r\n selectedDataOption = parseInt(this.model.selectedDataOption);\r\n this.selectedDataOptions.push(selectedDataOption);\r\n }\r\n selectedDataOption = parseInt(this.model.selectedDataOption);\r\n var searchChartType = this.chartOptions.filter(c => c.id == chartType);\r\n if (searchChartType.length > 0) {\r\n this.model.chartTypeName = searchChartType[0].type;\r\n }\r\n \r\n if (chartType == this.chartTypeCodes.STACKEDBAR) {\r\n this.isShowStackedChart = false;\r\n this.setupStackedChartData();\r\n } else if (chartType != this.chartTypeCodes.PIE && chartType != this.chartTypeCodes.POLAR) {\r\n this.manageDataOptions();\r\n } else {\r\n switch (selectedDataOption) {\r\n case this.dataOptionsCodes.ACTUAL_DISBURSEMENTS:\r\n this.chartData = this.reportDataList.locationProjectsList.map(p => p.actualDisbursements);\r\n break;\r\n \r\n case this.dataOptionsCodes.PLANNED_DISBURSEMENTS:\r\n this.chartData = this.reportDataList.locationProjectsList.map(p => p.plannedDisbursements);\r\n break;\r\n \r\n case this.dataOptionsCodes.DISBURSEMENTS:\r\n this.chartData = this.reportDataList.locationProjectsList.map(p => p.totalDisbursements);\r\n break;\r\n \r\n default:\r\n this.chartData = this.reportDataList.locationProjectsList.map(p => p.actualDisbursements);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n displayHideRow(locationName) {\r\n if (this.reportDataList.locationProjectsList) {\r\n var selectLocation = this.reportDataList.locationProjectsList.filter(l => l.locationName == locationName);\r\n if (selectLocation.length > 0) {\r\n selectLocation[0].isDisplay = !selectLocation[0].isDisplay;\r\n }\r\n }\r\n }\r\n\r\n manageResetDisplay() {\r\n if (this.model.selectedProjects.length == 0 && this.model.startingYear == 0 &&\r\n this.model.endingYear == 0 && this.model.selectedLocations.length == 0 && \r\n this.model.selectedSubLocations == 0 &&\r\n this.model.selectedOrganizations.length == 0 && this.model.sectorId == 0 &&\r\n this.model.selectedCurrency == this.defaultCurrency) {\r\n this.isAnyFilterSet = false;\r\n } else {\r\n this.isAnyFilterSet = true;\r\n }\r\n }\r\n\r\n getMarkers() {\r\n this.markerService.getMarkers().subscribe(\r\n data => {\r\n if (data) {\r\n this.markersList = data;\r\n if (this.model.markerId) {\r\n var values = (this.paramMarkerValues.length > 0) ? this.paramMarkerValues : [];\r\n this.getSelectedMarkerValues(values);\r\n }\r\n if (this.model.markerId2) {\r\n var values = (this.paramMarkerValues2.length > 0) ? this.paramMarkerValues2 : [];\r\n this.getSelectedMarkerValuesTwo(values);\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getSelectedMarkerValues(selectedValues: any = []) {\r\n this.markerValues = [];\r\n this.model.markerValues = [];\r\n \r\n if (this.model.markerId) {\r\n var values = this.markersList.filter(m => m.id == this.model.markerId).map(m => m.values);\r\n if (values && values.length > 0) {\r\n this.markerValues = JSON.parse(values);\r\n if (selectedValues.length > 0) {\r\n this.model.markerValues = this.markerValues.filter(m => selectedValues.indexOf(m.value) != -1);\r\n }\r\n };\r\n }\r\n }\r\n\r\n getSelectedMarkerValuesTwo(selectedValues: any = []) {\r\n this.markerValues = [];\r\n this.model.markerValues2 = [];\r\n if (this.model.markerId2) {\r\n var values = this.markersList.filter(m => m.id == this.model.markerId2).map(m => m.values);\r\n if (values && values.length > 0) {\r\n this.markerValues = JSON.parse(values);\r\n if (selectedValues.length > 0) {\r\n this.model.markerValues2 = this.markerValues.filter(m => selectedValues.indexOf(m.value) != -1);\r\n }\r\n };\r\n }\r\n }\r\n\r\n setFilter() {\r\n this.isAnyFilterSet = true;\r\n }\r\n\r\n resetFilters() {\r\n this.model.selectedProjects = [];\r\n this.model.startingYear = 0;\r\n this.model.endingYear = 0;\r\n this.model.selectedLocations = [];\r\n this.model.selectedSubLocations = [];\r\n this.model.selectedOrganizations = [];\r\n this.filteredSubLocationsList = this.subLocationsList;\r\n this.model.sectorId = 0;\r\n this.model.sectorLevel = this.sectorLevelCodes.SECTORS;\r\n this.isAnyFilterSet = false;\r\n }\r\n\r\n formatNumber(value: number) {\r\n return this.storeService.getNumberWithCommas(value);\r\n }\r\n\r\n getTodaysDate() {\r\n return this.storeService.getLongDateAndTime();\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Period from: \r\n \r\n \r\n   \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n  \r\n 0 && model.selectedCurrency == nationalCurrencyName\" class=\"text-warning\">\r\n Exchange rate: 1 {{defaultCurrency}} = {{manualExRate}} {{nationalCurrencyName}} on\r\n {{datedToday}}\r\n \r\n \r\n No exchange rate available, contact Administrator.\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Download spreadsheet\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n  Setting up report...\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
0 && showChart\" class=\"col-md-12 text-center\">\r\n
Locations report (Currency: {{this.selectedCurrencyName}})
\r\n
\r\n\r\n
0 && isShowStackedChart\"\r\n class=\"col-lg-12 col-md-12 margin-top-20\">\r\n
\r\n \r\n
\r\n
\r\n
0 && showChart\" class=\"col-md-12\">\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ProjectFundersImplementersActual disbursementsPlanned disbursements
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n  \r\n \r\n \r\n {{locationProject.locationName}}\r\n \r\n \r\n \r\n {{formatNumber(locationProject.actualDisbursements)}}\r\n \r\n {{formatNumber(locationProject.plannedDisbursements)}}\r\n
{{project.title}}{{project.funders}}{{project.implementers}}\r\n {{formatNumber(project.actualDisbursements)}}
\r\n
\r\n {{formatNumber(project.plannedDisbursements)}}\r\n
\r\n No projects found\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
   \r\n \r\n \r\n Total: {{formatNumber(getGrandTotalActualDisbursementForLocation())}}\r\n \r\n \r\n \r\n \r\n \r\n Total: {{formatNumber(getGrandTotalPlannedDisbursementForLocation())}}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n Generated on: {{getTodaysDate()}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: true\r\n};\r\n\r\n/*\r\n * In development mode, for easier debugging, you can ignore zone related error\r\n * stack frames such as `zone.run`/`zoneDelegate.invokeTask` by importing the\r\n * below file. Don't forget to comment it out in production mode\r\n * because it will have a performance impact when errors are thrown\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FinancialYearService } from '../services/financial-year.service';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\nimport { Messages } from '../config/messages';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\n\r\n@Component({\r\n selector: 'app-manage-year',\r\n templateUrl: './manage-year.component.html',\r\n styleUrls: ['./manage-year.component.css']\r\n})\r\nexport class ManageYearComponent implements OnInit {\r\n\r\n isBtnDisabled: boolean = false;\r\n btnText: string = 'Generate financial year/s';\r\n errorMessage: string = '';\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n months: any = [\r\n { index: 1, month: 'January', date: 31 },\r\n { index: 2, month: 'February', date: 28 },\r\n { index: 3, month: 'March', date: 31 },\r\n { index: 4, month: 'April', date: 30 },\r\n { index: 5, month: 'May', date: 31 },\r\n { index: 6, month: 'June', date: 30 },\r\n { index: 7, month: 'July', date: 31 },\r\n { index: 8, month: 'August', date: 31 },\r\n { index: 9, month: 'September', date: 30 },\r\n { index: 10, month: 'October', date: 31 },\r\n { index: 11, month: 'November', date: 30 },\r\n { index: 12, month: 'December', date: 31 }\r\n ];\r\n model: any = { month: 0, day: 0 };\r\n days: any = [];\r\n isLeapYear: boolean = false;\r\n\r\n constructor(private financialYearService: FinancialYearService, \r\n private router: Router,\r\n private storeService: StoreService,\r\n private errorModal: ErrorModalComponent) {\r\n }\r\n\r\n ngOnInit() {\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n }\r\n\r\n onMonthChange() {\r\n var month = parseInt(this.model.month);\r\n switch(month) {\r\n case 1:\r\n case 3:\r\n case 5:\r\n case 7:\r\n case 8:\r\n case 10:\r\n case 12:\r\n this.fillDays(31);\r\n break;\r\n\r\n case 4:\r\n case 6:\r\n case 9:\r\n case 11:\r\n this.fillDays(30);\r\n break;\r\n\r\n case 2:\r\n if (this.isLeapYear) {\r\n this.fillDays(29);\r\n } else {\r\n this.fillDays(28);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n fillDays(dayLimit: number) {\r\n this.days = [];\r\n for(var day=1; day <= dayLimit; day++) {\r\n this.days.push(day);\r\n }\r\n }\r\n\r\n saveFinancialYear() {\r\n this.isBtnDisabled = true;\r\n this.btnText = 'Saving...';\r\n this.financialYearService.addYear(this.model).subscribe(\r\n data => {\r\n this.router.navigateByUrl('financial-years');\r\n }\r\n );\r\n }\r\n\r\n resetForm() {\r\n this.isBtnDisabled = false;\r\n this.btnText = 'Add Financial Year';\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Set start day
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n Month is required\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n Day is required\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit, NgZone } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormControl } from '@angular/forms';\r\nimport { switchMap, debounceTime, tap, finalize, startWith, map } from 'rxjs/operators';\r\nimport { OrganizationService } from '../services/organization-service';\r\nimport { StoreService } from '../services/store-service';\r\nimport { RegistrationModel } from '../models/registration';\r\nimport { UserService } from '../services/user-service';\r\nimport { Router } from '@angular/router';\r\nimport { Messages } from '../config/messages';\r\nimport { Organization } from '../models/organization-model';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-user-org-registration',\r\n templateUrl: './user-org-registration.component.html',\r\n styleUrls: ['./user-org-registration.component.css']\r\n})\r\nexport class UserOrgRegistrationComponent implements OnInit {\r\n\r\n organizations: any = [];\r\n userInput = new FormControl();\r\n filteredOrganizations: any = [] ;\r\n organizationTypes: any = [];\r\n organizationType: string = null;\r\n isLoading = true;\r\n organizationId: number = 0;\r\n organizationTypeId: string = null;\r\n isProcessing: boolean = false;\r\n btnRegisterText: string = 'Register';\r\n isShowType: boolean = false;\r\n delaySeconds: number = 2000;\r\n selectedOrganizationId: number = 0;\r\n validationMessage: string = '';\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n errorMessage: string = '';\r\n model: any = { email: null, password: null, organizationTypeId: null, organizationId: null, isNewOrganization: false, organizationName: null };\r\n\r\n constructor(private fb: FormBuilder, private organizationService: OrganizationService,\r\n private storeService: StoreService, private userService: UserService,\r\n private router: Router,\r\n private zone: NgZone) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.storeService.currentRegistration.subscribe(model => {\r\n if (model) {\r\n if (model.email === '' || model.email == null) {\r\n this.router.navigateByUrl('user-registration');\r\n } else {\r\n this.model = model;\r\n }\r\n } else {\r\n this.router.navigateByUrl('user-registration');\r\n }\r\n });\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n this.loadOrganizationTypes();\r\n this.loadOrganizations();\r\n }\r\n \r\n displayFn(organization?: Organization): string | undefined {\r\n if (organization) {\r\n this.selectedOrganizationId = organization.id;\r\n } else {\r\n this.selectedOrganizationId = 0;\r\n }\r\n return organization ? organization.organizationName : undefined;\r\n }\r\n\r\n selectOrganization(e) {\r\n var id = e.currentTarget.id.split('-')[1];\r\n if (id) {\r\n var organization = this.organizations.filter(o => o.id == id);\r\n if (organization.length > 0) {\r\n this.model.organizationTypeId = null;\r\n if (organization[0].organizationTypeId != 0) {\r\n this.model.organizationTypeId = organization[0].organizationTypeId; \r\n }\r\n this.selectedOrganizationId = organization[0].id;\r\n this.model.organizationName = organization[0].organizationName;\r\n }\r\n }\r\n }\r\n\r\n filterOrganizations() {\r\n var org = this.model.organizationName;\r\n var organizations = [];\r\n if (this.model.organizationTypeId && this.model.organizationTypeId != 0) {\r\n organizations = this.organizations.filter(o => o.organizationTypeId == this.model.organizationTypeId);\r\n } else {\r\n organizations = this.organizations;\r\n }\r\n\r\n if (!org) {\r\n this.filteredOrganizations = organizations;\r\n } else {\r\n org = org.toLowerCase();\r\n this.filteredOrganizations = organizations.filter(o => o.organizationName.toLowerCase().indexOf(org) != -1);\r\n }\r\n }\r\n\r\n loadOrganizationTypes() {\r\n this.organizationService.getOrganizationTypes().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationTypes = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n loadOrganizations() {\r\n this.organizationService.getUserOrganizations().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizations = data;\r\n this.filteredOrganizations = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n filterOrganizationsList() {\r\n var id = this.model.organizationTypeId;\r\n if (id) {\r\n this.model.organizationName = null;\r\n this.model.organizationId = null;\r\n this.selectedOrganizationId = 0;\r\n this.filteredOrganizations = this.organizations.filter(o => o.organizationTypeId == id);\r\n }\r\n }\r\n\r\n registerUser() {\r\n if (this.model.organizationTypeId == 0 || this.model.organizationTypeId == null) {\r\n return false;\r\n }\r\n \r\n if (this.selectedOrganizationId == 0) {\r\n if (this.model.organizationName.length == 0) {\r\n return false;\r\n } else if (this.model.isNewOrganization) {\r\n return false;\r\n } else if (!this.model.organizationTypeId) {\r\n return false;\r\n }\r\n this.model.isNewOrganization = true;\r\n this.model.organizationId = 0;\r\n } else if (this.selectedOrganizationId != 0) {\r\n this.model.organizationId = parseInt(this.selectedOrganizationId.toString());\r\n }\r\n\r\n this.model.organizationTypeId = parseInt(this.model.organizationTypeId);\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.isProcessing = true;\r\n this.btnRegisterText = 'Wait processing...';\r\n this.userService.registerUser(this.model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n this.storeService\r\n .newInfoMessage(Messages.USER_REGISTRATION_MESSAGE);\r\n this.btnRegisterText = 'Redirecting...';\r\n setTimeout(() => {\r\n this.resetModel();\r\n this.router.navigateByUrl('');\r\n }, this.delaySeconds);\r\n } else {\r\n this.resetProcessingStatus();\r\n }\r\n },\r\n error => {\r\n console.log(\"Request Faild: \", error);\r\n this.resetProcessingStatus();\r\n }\r\n )\r\n }\r\n\r\n resetProcessingStatus() {\r\n this.btnRegisterText = 'Register';\r\n this.isProcessing = false;\r\n }\r\n\r\n resetModel() {\r\n this.model = new RegistrationModel('', '', '', '', '', '', false);\r\n }\r\n\r\n clear() {\r\n this.model.organizationName = null;\r\n this.selectedOrganizationId = 0;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Select or create organization
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Organization type is required\r\n
\r\n
\r\n
\r\n \r\n \r\n  \r\n \r\n \r\n
\r\n
\r\n Valid organization name is required (at least 2 characters)\r\n
\r\n
\r\n \r\n
\r\n
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n
{{org.organizationName}}\r\n \r\n
\r\n \r\n No organizations found\r\n \r\n \r\n  Loading...\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { Organization } from '../models/organization-model';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { OrganizationService } from '../services/organization-service';\r\nimport { StoreService } from '../services/store-service';\r\nimport { startWith, map } from 'rxjs/operators';\r\nimport { Messages } from '../config/messages';\r\nimport { IATIService } from '../services/iati.service';\r\n\r\n@Component({\r\n selector: 'app-project-funder',\r\n templateUrl: './project-funder.component.html',\r\n styleUrls: ['./project-funder.component.css']\r\n})\r\nexport class ProjectFunderComponent implements OnInit {\r\n\r\n @Input()\r\n isBtnDisabled: boolean = false;\r\n btnText: string = 'Add Project Funder';\r\n errorMessage: string = '';\r\n organizations: any = [];\r\n iatiOrganizations: any = [];\r\n filteredIATIOrganizations: any = [];\r\n requestNo: number = 0;\r\n selectedOrganizationId: number = 0;\r\n isError: boolean = false;\r\n isLoading: boolean = false;\r\n model = { projectId: 0, organizationId: null, amount: null, currency: null, exchangeRate: null };\r\n funderSelectionForm: FormGroup;\r\n projectTitle: string = '';\r\n userInput = new FormControl();\r\n filteredOrganizations: Observable;\r\n\r\n constructor(private fb: FormBuilder,private projectService: ProjectService, private route: ActivatedRoute,\r\n private router: Router, private organizationService: OrganizationService,\r\n private storeService: StoreService, private iatiService: IATIService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.route.snapshot.data) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Add Funder';\r\n this.model.projectId = id;\r\n this.loadOrganizations();\r\n this.getProjectTitle(id);\r\n } else {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n \r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n\r\n this.funderSelectionForm = this.fb.group({\r\n userInput: null,\r\n });\r\n }\r\n\r\n private filterOrganizations(value: string): Organization[] {\r\n if (typeof value != \"string\") {\r\n } else {\r\n const filterValue = value.toLowerCase();\r\n return this.organizations.filter(organization => organization.organizationName.toLowerCase().indexOf(filterValue) !== -1);\r\n }\r\n }\r\n\r\n private getProjectTitle(id: string) {\r\n this.projectService.getProjectTitle(id).subscribe(\r\n data => {\r\n this.projectTitle = data.projectTitle;\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n loadOrganizations() {\r\n this.organizationService.getOrganizationsList().subscribe(\r\n data => {\r\n this.organizations = data;\r\n this.filteredOrganizations = this.userInput.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(organization => organization ? this.filterOrganizations(organization) : this.organizations.slice())\r\n );\r\n },\r\n error => {\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n\r\n displayFn(organization?: Organization): string | undefined {\r\n if (organization) {\r\n this.selectedOrganizationId = organization.id;\r\n }\r\n return organization ? organization.organizationName : undefined;\r\n }\r\n\r\n saveProjectFunder() {\r\n if (this.selectedOrganizationId == 0) {\r\n return false;\r\n }\r\n\r\n this.model.organizationId = this.selectedOrganizationId;\r\n var model = {\r\n ProjectId: this.model.projectId,\r\n FunderId: this.model.organizationId,\r\n Amount: this.model.amount,\r\n Currency: this.model.currency,\r\n ExchangeRate: this.model.exchangeRate\r\n };\r\n\r\n this.isBtnDisabled = true;\r\n this.btnText = 'Saving...';\r\n this.projectService.addProjectFunder(model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n var message = 'New project funder ' + Messages.NEW_RECORD;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('view-project/' + this.model.projectId);\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.resetFormState();\r\n }\r\n );\r\n }\r\n\r\n loadIATIOrganizations() {\r\n this.iatiService.getOrganizations().subscribe(\r\n data => {\r\n this.iatiOrganizations = data;\r\n },\r\n error => {\r\n }\r\n )\r\n }\r\n\r\n filterMatchingOrganizations(e) {\r\n var str = e.target.value;\r\n if (this.iatiOrganizations.length > 0) {\r\n const filterValue = str.toLowerCase();\r\n this.filteredIATIOrganizations = this.iatiOrganizations.filter(\r\n iati => iati.name.toLowerCase().indexOf(filterValue) !== -1 &&\r\n iati.role == 'Funding'\r\n );\r\n }\r\n }\r\n\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n this.btnText = 'Add Funder';\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Funder
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{funder.organizationName}}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Amount is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Currency is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Exchange rate is required\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, catchError, tap } from 'rxjs/operators';\r\nimport { Organization } from '../models/organization-model';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OrganizationTypeService {\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) { }\r\n\r\n getOrganizationTypes() {\r\n var url = this.urlHelper.organizationTypesUrl();\r\n return this.httpClient\r\n .get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Organization Types'))\r\n );\r\n }\r\n \r\n getOrganizationType(id: string) {\r\n var url = this.urlHelper.organizationTypesUrl() + '/' + id;\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Organization type')));\r\n }\r\n\r\n addOrganizationType(model: any) {\r\n var url = this.urlHelper.organizationTypesUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Organization Type')));\r\n }\r\n\r\n updateOrganizationType(id: number, model: any) {\r\n var url = this.urlHelper.organizationTypesUrl() + '/' + id;\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Update Organization Type')));\r\n }\r\n\r\n deleteOrganizationType(id: string, newId: string) {\r\n var url = this.urlHelper.deleteOrganizationTypeUrl(id, newId);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Organization Type'))\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { OrganizationService } from '../services/organization-service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ProjectInfoModalComponent } from '../project-info-modal/project-info-modal.component';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-delete-organization',\r\n templateUrl: './delete-organization.component.html',\r\n styleUrls: ['./delete-organization.component.css']\r\n})\r\nexport class DeleteOrganizationComponent implements OnInit {\r\n\r\n organizationsList: any = [];\r\n projectsList: any = [];\r\n requestNo: number = 0;\r\n id: string = null;\r\n errorMessage: string = null;\r\n isLoading: boolean = true;\r\n\r\n viewProject: any = [];\r\n viewProjectLocations: any = [];\r\n viewProjectSectors: any = [];\r\n viewProjectDocuments: any = [];\r\n viewProjectFunders: any = [];\r\n viewProjectImplementers: any = [];\r\n viewParticipatingOrganizations: any = [];\r\n viewProjectDisbursements: any = [];\r\n\r\n model: any = { organizationId: 0 };\r\n \r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private organizationService: OrganizationService, private router: Router,\r\n private storeService: StoreService, private errorModal: ErrorModalComponent,\r\n private route: ActivatedRoute, private projectInfoModal: ProjectInfoModalComponent) { }\r\n\r\n ngOnInit() {\r\n if (this.route.snapshot.data) {\r\n this.id = this.route.snapshot.params[\"{id}\"];\r\n }\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n this.getOrganizationsList();\r\n this.getOrganizationProjects();\r\n }\r\n\r\n getOrganizationsList() {\r\n this.organizationService.getOrganizationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationsList = data;\r\n this.organizationsList = this.organizationsList.filter(o => o.id != this.id);\r\n }\r\n }\r\n )\r\n }\r\n\r\n getOrganizationProjects() {\r\n this.organizationService.getOrganizationProjects(this.id).subscribe(\r\n data => {\r\n if (data) {\r\n this.projectsList = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n )\r\n }\r\n\r\n deleteAndMergeOrganization() {\r\n this.blockUI.start('Deleting organization...');\r\n this.organizationService.deleteOrganization(this.id, this.model.organizationId).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('organizations');\r\n }\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n viewProjectDetail(e) {\r\n var projectId = e.target.value.split('-')[1];\r\n if (projectId && projectId != 0) {\r\n var selectProject = this.projectsList.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var projectData = selectProject[0];\r\n var project = {\r\n title: projectData.title,\r\n description: projectData.description,\r\n startDate: projectData.startDate,\r\n endDate: projectData.endDate\r\n }\r\n this.viewProject = projectData;\r\n this.viewProjectFunders = projectData.funders;\r\n this.viewProjectLocations = projectData.locations;\r\n this.viewProjectSectors = projectData.sectors;\r\n this.viewProjectImplementers = projectData.implementers;\r\n this.viewProjectDocuments = projectData.documents;\r\n this.projectInfoModal.openModal();\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Effected projects list
\r\n
\r\n Loading projects...\r\n
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{number + 1}} {{project.title}}\r\n \r\n
\r\n \r\n No projects to show\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
Delete confirmation
\r\n
\r\n

\r\n You can assign the new organization to effected project/s. If you do not assign the project\r\n and delete without assign, the selected organization will be deleted for all the effected projects.\r\n Please review the settings before delete, as this action cannot be undone.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Injectable, Input, OnInit, Output } from '@angular/core';\r\nimport { Settings } from '../config/settings';\r\nimport { ModalService } from '../services/modal.service';\r\n\r\n@Component({\r\n selector: 'sublocation-modal',\r\n templateUrl: './sublocation-modal.component.html',\r\n styleUrls: ['./sublocation-modal.component.css']\r\n})\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SublocationModalComponent implements OnInit {\r\n\r\n @Input()\r\n locationId: number = 0;\r\n\r\n @Input()\r\n subLocations: any = [];\r\n\r\n @Input()\r\n selectedSubLocations: any = [];\r\n\r\n @Input()\r\n locationName: string = null;\r\n \r\n @Output()\r\n updatedSubLocations = new EventEmitter();\r\n\r\n subLocationsSettings = {};\r\n itemsToShowInDropdowns = 5;\r\n isBtnDisabled: boolean = false;\r\n isError: boolean = false;\r\n errorMessage: string = null;\r\n isLoading: boolean = true;\r\n btnText = 'Set & Close';\r\n\r\n constructor(private modalService: ModalService) { \r\n }\r\n\r\n ngOnInit(): void {\r\n console.log(this.selectedSubLocations);\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n this.subLocationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'subLocation',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: this.itemsToShowInDropdowns,\r\n allowSearchFilter: true\r\n };\r\n }, 500);\r\n }\r\n\r\n openModal() {\r\n setTimeout(() => {\r\n this.modalService.open('sublocation-modal');\r\n }, 500);\r\n }\r\n\r\n setSubLocations() {\r\n var model = {\r\n locationId: this.locationId,\r\n subLocations: this.selectedSubLocations\r\n }\r\n this.closeModal();\r\n setTimeout(() => {\r\n this.updatedSubLocations.emit(model);\r\n }, 500);\r\n \r\n }\r\n\r\n closeModal() {\r\n this.modalService.close('sublocation-modal');\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
Sublocations settings for {{locationName}}
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n  \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { UserService } from '../services/user-service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Messages } from '../config/messages';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ModalService } from '../services/modal.service';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-reset-password',\r\n templateUrl: './reset-password.component.html',\r\n styleUrls: ['./reset-password.component.css']\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n model: any = { password: null, confirmPassword: null, token: null };\r\n isError: boolean = false;\r\n requestNo: number = 0;\r\n errorMessage: string = '';\r\n isInfo: boolean = false;\r\n infoMessage: string = '';\r\n btnText: string = 'Reset Password';\r\n isBtnDisabled: boolean = false;\r\n resetSuccessful: boolean = false;\r\n\r\n constructor(private userService: UserService, private route: ActivatedRoute, \r\n private router: Router, private storeService: StoreService, \r\n private modalService: ModalService) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n var params = this.route.snapshot.queryParams; \r\n var token = null;\r\n\r\n if (params && params.token) {\r\n token = params.token;\r\n }\r\n \r\n if (token != null) {\r\n this.model.token = token;\r\n }\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n this.resetFormStatus();\r\n }\r\n });\r\n }\r\n\r\n resetPassword() {\r\n if (this.model.token == null) {\r\n this.errorMessage = Messages.INVALID_ATTEMPT;\r\n this.isError = true;\r\n return false;\r\n } else {\r\n this.isError = false;\r\n }\r\n \r\n var model = { newPassword: this.model.password, token: this.model.token };\r\n this.isBtnDisabled = true;\r\n this.btnText = 'Resetting Password...';\r\n this.userService.resetPassword(model).subscribe(\r\n data => {\r\n if (data && data.success) {\r\n this.infoMessage = Messages.PASSWORD_UPDATED;\r\n this.resetSuccessful = true;\r\n } else if (data && !data.success) {\r\n this.errorMessage = data.message;\r\n this.isError = true;\r\n this.isBtnDisabled = false;\r\n this.resetFormStatus();\r\n }\r\n }\r\n );\r\n }\r\n\r\n goToLogin() {\r\n this.router.navigateByUrl('login');\r\n }\r\n\r\n closeModalAndNavigate() {\r\n this.modalService.close('message-modal');\r\n this.router.navigateByUrl('login');\r\n setTimeout(() => {\r\n location.reload();\r\n }, 2000);\r\n }\r\n\r\n resetFormStatus() {\r\n this.btnText = 'Reset Password';\r\n this.isBtnDisabled = false;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n \r\n
\r\n \r\n Information! {{infoMessage}}
\r\n \r\n
\r\n\r\n
Set new password
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Password is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Passwords do not match\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
Information message
\r\n
\r\n {{infoMessage}}\r\n
\r\n

\r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { EnvelopeTypeService } from '../services/envelope-type.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-delete-envelope-type',\r\n templateUrl: './delete-envelope-type.component.html',\r\n styleUrls: ['./delete-envelope-type.component.css']\r\n})\r\nexport class DeleteEnvelopeTypeComponent implements OnInit {\r\n\r\n envelopeTypes: any = [];\r\n envelopeTypeId: string = null;\r\n requestNo: number = 0;\r\n errorMessage: string = null;\r\n model: any = { envelopeTypeId: 0};\r\n permissions: any = {};\r\n isLoading: boolean = true;\r\n @BlockUI() blockUI: NgBlockUI;\r\n\r\n constructor(private envelopeTypeService: EnvelopeTypeService, private securityService: SecurityHelperService,\r\n private router: Router, private route: ActivatedRoute, private storeService: StoreService,\r\n private errorModal: ErrorModalComponent) { }\r\n \r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditCurrency) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n if (this.route.snapshot.data) {\r\n this.envelopeTypeId = this.route.snapshot.params[\"{id}\"];\r\n }\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n this.getEnvelopeTypes();\r\n }\r\n\r\n getEnvelopeTypes() {\r\n this.envelopeTypeService.getAllEnvelopeTypes().subscribe(\r\n data => {\r\n if (data) {\r\n this.envelopeTypes = data.filter(d => d.id != this.envelopeTypeId);\r\n }\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n deleteAndMapType() {\r\n if (!this.envelopeTypeId) {\r\n this.errorMessage = 'Id must be provided for the envelope type to be deleted';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (!this.model.envelopeTypeId) {\r\n this.errorMessage = 'Please select envelope type to be mapped after this type is deleted';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.blockUI.start('Wait deleting...');\r\n var id = parseInt(this.envelopeTypeId);\r\n this.envelopeTypeService.deleteEnvelopeType(id, this.model.envelopeTypeId).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('envelope-types');\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
Delete confirmation
\r\n
\r\n

\r\n You can assign other envelope type to map the envelope records linked to the selected type\r\n for deletion. The selected envelope type will be deleted once confirmed and this\r\n action cannot be undone.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n Loading data...\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\n\r\n@Component({\r\n selector: 'app-membership-requests',\r\n templateUrl: './membership-requests.component.html',\r\n styleUrls: ['./membership-requests.component.css']\r\n})\r\nexport class MembershipRequestsComponent implements OnInit {\r\n projectRequests: any = [];\r\n requestNo: number = 0;\r\n errorMessage: string = null;\r\n isLoading: boolean = true;\r\n @BlockUI() blockUI: NgBlockUI;\r\n \r\n constructor(private projectService: ProjectService, private storeService: StoreService,\r\n private errorModal: ErrorModalComponent) { }\r\n\r\n ngOnInit() {\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n //this.getProjectRequests();\r\n }\r\n\r\n \r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n 0\" class=\"table table-stripped\">\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{i + 1}}\r\n \r\n \r\n {{request.project}}
\r\n
\r\n \r\n Requestee organization: {{request.userOrganization}}
\r\n
\r\n \r\n Dated: {{getLongDateString(request.dated)}}\r\n \r\n
\r\n \r\n
\r\n No project membership requests available to show\r\n
\r\n\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { IATIService } from '../services/iati.service';\r\nimport { ProjectInfoModalComponent } from '../project-info-modal/project-info-modal.component';\r\nimport { ProjectiInfoModalComponent } from '../projecti-info-modal/projecti-info-modal.component';\r\nimport { Messages } from '../config/messages';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Router } from '@angular/router';\r\n//import { forEach } from '@angular/router/src/utils/collection';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { ModalService } from '../services/modal.service';\r\nimport { FinancialYearService } from '../services/financial-year.service';\r\nimport { CurrencyService } from '../services/currency.service';\r\nimport { Settings } from '../config/settings';\r\nimport { FundingTypeService } from '../services/funding-type.service';\r\n\r\n@Component({\r\n selector: 'app-merge-projects',\r\n templateUrl: './merge-projects.component.html',\r\n styleUrls: ['./merge-projects.component.css']\r\n})\r\n\r\n\r\nexport class MergeProjectsComponent implements OnInit {\r\n\r\n isProjectBtnDisabled: boolean = true;\r\n errorMessage: string = '';\r\n infoMessage: string = '';\r\n permissions: any = [];\r\n iatiProjects: any = [];\r\n financialYears: any = [];\r\n fundingTypes: any = [];\r\n filteredIatiProjects: any = [];\r\n filteredAIMSProjects: any = [];\r\n projectIds: any = [];\r\n selectedProjects: any = [];\r\n sourceProjects: any = [];\r\n aimsProjects: any = [];\r\n currencies: any = [];\r\n exchangeRates: any = [];\r\n\r\n viewProject: any = {};\r\n viewProjectLocations: any = [];\r\n viewProjectSectors: any = [];\r\n viewProjectDocuments: any = [];\r\n viewProjectFunders: any = [];\r\n viewProjectImplementers: any = [];\r\n viewProjectDisbursements: any = [];\r\n projectDisbursements: any = [];\r\n\r\n calendarMaxDate: any = {};\r\n isIatiLoading: boolean = true;\r\n isAimsLoading: boolean = true;\r\n financialsOk: boolean = true;\r\n sectorPercentageOk: boolean = true;\r\n locationPercentageOk: boolean = true;\r\n locationPercentage: number = 0;\r\n sectorPercentage: number = 0;\r\n descriptionLimit: number = Settings.descriptionLongLimit;\r\n requestNo: number = 0;\r\n currentYear: number = 0;\r\n model: any = { id: 0, title: null, startDate: null, endDate: null, startingFinancialYear: null, endingFinancialYear: null, \r\n projectValue: null, projectCurrency: null, description: null, fundingTypeId: null };\r\n\r\n disbursementTypeConstants: any = {\r\n 1: 'Actual',\r\n 2: 'Planned'\r\n }\r\n\r\n //Overlay UI blocker\r\n @BlockUI() blockUI: NgBlockUI;\r\n\r\n constructor(private projectService: ProjectService, private iatiService: IATIService,\r\n private projectInfoModal: ProjectInfoModalComponent, private storeService: StoreService,\r\n private projectIATIInfoModal: ProjectiInfoModalComponent,\r\n private errorModal: ErrorModalComponent, private router: Router,\r\n private modalService: ModalService,\r\n private securityService: SecurityHelperService,\r\n private yearService: FinancialYearService,\r\n private fundingTypeService: FundingTypeService,\r\n private currencyService: CurrencyService) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditProject) {\r\n this.router.navigateByUrl('projects');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.entry);\r\n this.blockUI.start('Loading projects data...');\r\n this.currentYear = this.storeService.getCurrentYear();\r\n this.getExchangeRates();\r\n this.getFinancialYears();\r\n this.getCurrenciesList();\r\n this.getFundingTypes();\r\n //this.calendarMaxDate = this.storeService.getCalendarUpperLimit();\r\n var projects = localStorage.getItem('merge-projects');\r\n if (projects) {\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n var parsedProjects = JSON.parse(projects);\r\n //Load iati projects\r\n var filteredIATI = parsedProjects.filter(function (project) {\r\n return project.type == 'IATI';\r\n });\r\n\r\n var iatiIdsArr = [];\r\n filteredIATI.forEach(function (project) {\r\n var obj = { identifier: project.identifier };\r\n iatiIdsArr.push(obj);\r\n }.bind(this));\r\n //this.loadIATIProjectsForIds(iatiIdsArr);\r\n //Load aims projects\r\n var filteredAIMS = parsedProjects.filter(function (project) {\r\n return project.type == 'AIMS';\r\n });\r\n var aimsIdsArr = [];\r\n filteredAIMS.forEach(function (project) {\r\n var id = project.identifier;\r\n aimsIdsArr.push(id);\r\n });\r\n this.projectIds = aimsIdsArr;\r\n\r\n //this.loadIATIProjectsForIds(iatiIdsArr);\r\n this.loadAIMSProjectsForIds(aimsIdsArr);\r\n } else {\r\n this.router.navigateByUrl('new-entry');\r\n }\r\n }\r\n\r\n loadIATIProjectsForIds(modelArr: any) {\r\n this.isIatiLoading = true;\r\n this.iatiService.extractProjectsByIds(modelArr).subscribe(\r\n data => {\r\n this.sourceProjects = data;\r\n this.isIatiLoading = false;\r\n this.isProjectBtnDisabled = false;\r\n },\r\n error => {\r\n this.isIatiLoading = false;\r\n this.isProjectBtnDisabled = false;\r\n }\r\n );\r\n }\r\n\r\n getFinancialYears() {\r\n this.yearService.getYearsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.financialYears = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getCurrenciesList() {\r\n this.currencyService.getCurrenciesForUser().subscribe(\r\n data => {\r\n if (data) {\r\n this.currencies = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getFundingTypes() {\r\n this.fundingTypeService.getFundingTypesList().subscribe(\r\n data => {\r\n if (data) {\r\n this.fundingTypes = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n selectForMerge(e) {\r\n var id = e.target.id.split('-')[1];\r\n var project = this.aimsProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n this.selectedProjects.push(project[0]);\r\n }\r\n this.aimsProjects = this.aimsProjects.filter(p => p.id != id);\r\n }\r\n\r\n deSelectForMerge(e) {\r\n if (this.selectedProjects.length < 3) {\r\n this.errorMessage = Messages.ATLEAST_PROJECT_MERGE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var id = e.target.id.split('-')[1];\r\n var project = this.selectedProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n this.aimsProjects.push(project[0]);\r\n }\r\n this.selectedProjects = this.selectedProjects.filter(p => p.id != id);\r\n }\r\n\r\n enterTitle(e) {\r\n var id = e.target.id.split('-')[1];\r\n var project = this.selectedProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n this.model.title = project[0].title.trim();\r\n }\r\n }\r\n\r\n enterDescription(e) {\r\n var id = e.target.id.split('-')[1];\r\n var project = this.selectedProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n this.model.description = project[0].description.trim();\r\n }\r\n }\r\n\r\n enterStartingYear(e) {\r\n var id = e.target.id.split('-')[1];\r\n var project = this.selectedProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n this.model.startingFinancialYear = project[0].startingFinancialYear;\r\n this.setDisbursementsData();\r\n }\r\n this.calculateDisbursementsTotal();\r\n }\r\n\r\n enterEndingYear(e) {\r\n var id = e.target.id.split('-')[1];\r\n var project = this.selectedProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n this.model.endingFinancialYear = project[0].endingFinancialYear;\r\n this.setDisbursementsData();\r\n }\r\n this.calculateDisbursementsTotal();\r\n }\r\n\r\n enterStartDate(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.selectedProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n this.model.startDate = this.formatDateToYMD(selectedProject[0].startDate);\r\n this.setDisbursementsData();\r\n }\r\n }\r\n\r\n enterEndDate(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.selectedProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n this.model.endDate = this.formatDateToYMD(selectedProject[0].endDate);\r\n this.setDisbursementsData();\r\n }\r\n }\r\n\r\n enterProjectValue (e) {\r\n var id = e.target.id.split('-')[1];\r\n var project = this.selectedProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n this.model.projectValue = project[0].projectValue;\r\n }\r\n this.calculateDisbursementsTotal();\r\n }\r\n\r\n enterDisbursement(projectId, year, disbursementType) {\r\n var project = this.selectedProjects.filter(p => p.id == projectId);\r\n if (project.length > 0) {\r\n var disbursement = project[0].disbursements.filter(d => d.year == year && d.disbursementType == disbursementType);\r\n if (disbursement.length > 0) {\r\n var disbursementToUpdate = this.projectDisbursements.filter(d => d.year == year && d.disbursementType == disbursementType);\r\n if (disbursementToUpdate.length > 0) {\r\n disbursementToUpdate[0].amount = disbursement[0].amount;\r\n }\r\n this.calculateDisbursementsTotal();\r\n }\r\n }\r\n }\r\n\r\n enterProjectCurrency (e) {\r\n var id = e.target.id.split('-')[1];\r\n var project = this.selectedProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n this.model.projectCurrency = project[0].projectCurrency;\r\n this.getExchangeRateForCurrency();\r\n }\r\n this.calculateDisbursementsTotal();\r\n }\r\n\r\n enterProjectDescription (e) {\r\n var id = e.target.id.split('-')[1];\r\n var project = this.selectedProjects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n this.model.description = project[0].description;\r\n }\r\n }\r\n\r\n setDisbursementsData() {\r\n if (this.model.startDate != null && this.model.endDate != null) {\r\n this.model.startingFinancialYear = new Date(this.model.startDate).getFullYear();\r\n this.model.endingFinancialYear = new Date(this.model.endDate).getFullYear();\r\n for (var yr = this.model.startingFinancialYear; yr <= this.model.endingFinancialYear; yr++) {\r\n var data = this.projectDisbursements.filter(d => d.year == yr);\r\n if (data.length == 0) {\r\n \r\n if (yr <= this.currentYear) {\r\n var newDisbursement = {\r\n year: yr,\r\n currency: this.model.projectCurrency,\r\n exchangeRate: 1,\r\n disbursementType: 1,\r\n amount: 0\r\n };\r\n this.projectDisbursements.push(newDisbursement);\r\n }\r\n \r\n if (yr >= this.currentYear) {\r\n var newDisbursement = {\r\n year: yr,\r\n currency: this.model.projectCurrency,\r\n exchangeRate: 1,\r\n disbursementType: 2,\r\n amount: 0\r\n };\r\n this.projectDisbursements.push(newDisbursement);\r\n }\r\n }\r\n }\r\n \r\n if (this.projectDisbursements.length > 0) {\r\n this.projectDisbursements.sort((a, b) => parseFloat(a.year) - parseFloat(b.year));\r\n this.calculateDisbursementsTotal();\r\n }\r\n }\r\n }\r\n\r\n calculateDisbursementsTotal() {\r\n var projectValue = !this.model.projectValue ? parseFloat('0') : parseFloat(this.model.projectValue);\r\n var totalDisbursements = 0;\r\n if (this.projectDisbursements.length > 0) {\r\n this.projectDisbursements.forEach((d) => {\r\n totalDisbursements += parseFloat(d.amount);\r\n });\r\n }\r\n this.financialsOk = (projectValue == totalDisbursements) ? true : false;\r\n }\r\n\r\n loadAIMSProjectsForIds(modelArr: any) {\r\n this.isAimsLoading = true;\r\n this.projectService.extractProjectsByIds(modelArr).subscribe(\r\n data => {\r\n this.selectedProjects = data;\r\n if (this.model.projectCurrency) {\r\n }\r\n\r\n this.calculateDisbursementsTotal();\r\n this.calculateSectorPercentage();\r\n this.calculateLocationPercentage();\r\n this.isAimsLoading = false;\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n viewAIMSProject(e) {\r\n var projectId = e.target.id.split('-')[1];\r\n if (projectId && projectId != 0) {\r\n var selectProject = this.selectedProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var projectData = selectProject[0];\r\n var project = {\r\n title: projectData.title,\r\n description: projectData.description,\r\n startDate: projectData.startDate,\r\n endDate: projectData.endDate\r\n }\r\n this.viewProject = projectData;\r\n this.viewProjectFunders = projectData.funders;\r\n this.viewProjectLocations = projectData.locations;\r\n this.viewProjectSectors = projectData.sectors;\r\n this.viewProjectImplementers = projectData.implementers;\r\n this.viewProjectDocuments = projectData.documents;\r\n this.projectInfoModal.openModal();\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n viewIATIProject(e) {\r\n var projectId = e.target.id.split('-')[1];\r\n if (projectId && projectId != 0) {\r\n var selectProject = this.sourceProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var projectData = selectProject[0];\r\n var project = {\r\n title: projectData.title,\r\n description: projectData.description,\r\n defaultCurrency: projectData.defaultCurrency,\r\n }\r\n this.viewProject = project;\r\n this.viewProjectLocations = projectData.locations;\r\n this.viewProjectSectors = projectData.sectors;\r\n this.viewProjectFunders = projectData.funders;\r\n this.viewProjectImplementers = projectData.implementers;\r\n this.viewProjectDocuments = projectData.documents;\r\n this.projectIATIInfoModal.openModal();\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n mergeAndSaveProject() {\r\n if (this.selectedProjects.length <= 1) {\r\n this.errorMessage = Messages.INVALID_PROJECT_MERGE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (!this.model.startingFinancialYear || this.model.startingFinancialYear == 'null') {\r\n this.errorMessage = Messages.INVALID_YEAR;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (!this.model.endingFinancialYear || this.model.endingFinancialYear == 'null') {\r\n this.errorMessage = Messages.INVALID_YEAR;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.model.startingFinancialYear > this.model.endingFinancialYear) {\r\n this.errorMessage = Messages.INVALID_START_END_YEAR;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.blockUI.start('Merging projects...');\r\n var funderIds: any = [];\r\n var implementerIds: any = [];\r\n var sectors: any = [];\r\n var locations: any = [];\r\n var documents: any = [];\r\n var markers: any = [];\r\n var disbursements: any = [];\r\n \r\n this.selectedProjects.forEach((p) => {\r\n if (p.funders.length > 0) {\r\n var ids = p.funders.map(f => parseInt(f.funderId));\r\n funderIds = funderIds.concat(ids);\r\n }\r\n\r\n if (p.implementers.length > 0) {\r\n var ids = p.implementers.map(i => parseInt(i.implementerId));\r\n implementerIds = implementerIds.concat(ids);\r\n }\r\n\r\n if (p.sectors.length > 0) {\r\n p.sectors.forEach((s) => {\r\n s.fundsPercentage = parseFloat(s.fundsPercentage);\r\n sectors.push(s);\r\n });\r\n }\r\n\r\n if (p.locations.length > 0) {\r\n p.locations.forEach((l) => {\r\n l.fundsPercentage = parseFloat(l.fundsPercentage);\r\n locations.push(l);\r\n });\r\n }\r\n\r\n if (p.documents.length > 0) {\r\n p.documents.forEach((d) => {\r\n documents.push(d);\r\n });\r\n }\r\n\r\n if (p.markers.length > 0) {\r\n p.markers.forEach(m => {\r\n markers.push(m);\r\n });\r\n }\r\n });\r\n\r\n\r\n if (this.projectDisbursements.length > 0) {\r\n disbursements = this.projectDisbursements;\r\n disbursements.forEach((d) => {\r\n d.amount = parseFloat(d.amount);\r\n d.exchangeRate = parseFloat(d.exchangeRate);\r\n });\r\n }\r\n //this.selectedProjects.map(p => p.id);\r\n \r\n var model = {\r\n title: this.model.title,\r\n projectValue: parseFloat(this.model.projectValue),\r\n projectCurrency: this.model.projectCurrency,\r\n exchangeRate: parseFloat(this.model.exchangeRate),\r\n startDate: this.model.startDate,\r\n endDate: this.model.endDate,\r\n startingFinancialYear: parseInt(this.model.startingFinancialYear),\r\n endingFinancialYear: parseInt(this.model.endingFinancialYear),\r\n description: this.model.description,\r\n fundingTypeId: parseInt(this.model.fundingTypeId),\r\n projectIds: this.projectIds,\r\n funderIds: funderIds,\r\n implementerIds: implementerIds,\r\n sectors: sectors,\r\n locations: locations,\r\n disbursements: disbursements,\r\n documents: documents,\r\n markers: markers\r\n };\r\n\r\n this.projectService.mergeProjects(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('new-project');\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n getExchangeRates() {\r\n this.currencyService.getExchangeRatesList().subscribe(\r\n data => {\r\n if (data && data.rates) {\r\n this.exchangeRates = data.rates;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getExchangeRateForCurrency() {\r\n if (this.model.projectCurrency) {\r\n var exRate = this.exchangeRates.filter(e => e.currency == this.model.projectCurrency);\r\n if (exRate.length > 0) {\r\n this.model.exchangeRate = exRate[0].rate;\r\n }\r\n } else {\r\n this.model.exchangeRate = 1;\r\n }\r\n }\r\n\r\n displayFieldValues(json: any) {\r\n return this.storeService.parseAndDisplayJsonAsString(json);\r\n }\r\n\r\n removeSector(projectId: number, sectorId: number) {\r\n var project = this.selectedProjects.filter(p => p.id == projectId);\r\n if (project.length > 0) {\r\n var sectors = project[0].sectors;\r\n if (sectors.length > 0) {\r\n project[0].sectors = sectors.filter(s => s.sectorId != sectorId);\r\n }\r\n }\r\n this.calculateSectorPercentage();\r\n }\r\n\r\n removeLocation(projectId: number, locationId: number) {\r\n var project = this.selectedProjects.filter(p => p.id == projectId);\r\n if (project.length > 0) {\r\n var locations = project[0].locations;\r\n if (locations.length > 0) {\r\n project[0].locations = locations.filter(l => l.locationId != locationId);\r\n }\r\n }\r\n this.calculateLocationPercentage();\r\n }\r\n\r\n removeDocument(projectId: number, documentId: number) {\r\n var project = this.selectedProjects.filter(p => p.id == projectId);\r\n if (project.length > 0) {\r\n var documents = project[0].documents;\r\n if (documents.length > 0) {\r\n project[0].documents = documents.filter(d => d.id != documentId);\r\n }\r\n }\r\n }\r\n\r\n removeMarker(projectId: number, markerId: number) {\r\n var project = this.selectedProjects.filter(p => p.id == projectId);\r\n if (project.length > 0) {\r\n var markers = project[0].markers;\r\n if (markers.length > 0) {\r\n project[0].markers = markers.filter(m => m.markerId != markerId);\r\n }\r\n }\r\n }\r\n\r\n calculateDisbursements() {\r\n }\r\n\r\n calculateSectorPercentage() {\r\n var sectorPercentage = 0;\r\n if (this.selectedProjects.length > 0) {\r\n var sectorsExist = false;\r\n this.selectedProjects.forEach(p => {\r\n if (p.sectors.length > 0) {\r\n sectorsExist = true;\r\n p.sectors.forEach(s => {\r\n sectorPercentage += s.fundsPercentage;\r\n });\r\n }\r\n });\r\n\r\n if (!sectorsExist) {\r\n sectorPercentage = 100;\r\n }\r\n }\r\n this.sectorPercentageOk = (sectorPercentage == 100) ? true : false; \r\n }\r\n\r\n calculateLocationPercentage() {\r\n var locationPercentage = 0;\r\n if (this.selectedProjects.length > 0) {\r\n var locationsExist = false;\r\n this.selectedProjects.forEach(p => {\r\n if (p.locations.length > 0) {\r\n locationsExist = true;\r\n p.locations.forEach(l => {\r\n locationPercentage += l.fundsPercentage;\r\n });\r\n }\r\n });\r\n\r\n if (!locationsExist) {\r\n locationPercentage = 100;\r\n }\r\n }\r\n this.locationPercentageOk = (locationPercentage == 100) ? true : false;\r\n }\r\n\r\n formatToLongDate(dated: string) {\r\n return this.storeService.getLongDateString(dated);\r\n }\r\n\r\n formatDateToYMD(dated: string) {\r\n return this.storeService.convertToDateInputFormat(dated);\r\n }\r\n\r\n proceedToDataEntry() {\r\n this.modalService.close('confirmation-modal');\r\n this.router.navigateByUrl('project-entry');\r\n }\r\n\r\n closeConfirmationModal() {\r\n this.modalService.close('confirmation-modal');\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n}\r\n","
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
Selected AIMS projects
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Project title: {{project.title | truncate}}  Title\r\n >> \r\n View\r\n Details
\r\n
\r\n Start date: {{formatToLongDate(project.startDate)}} \r\n \r\n End date: {{formatToLongDate(project.endDate)}} \r\n
\r\n Project value: {{project.projectValue}}   \r\n \r\n Currency: {{project.projectCurrency}}   \r\n
\r\n Description: {{project.description | truncate}}  \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Detail for new project after merge
\r\n
\r\n \r\n
\r\n Project title is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n Start date is required\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n End date is required\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n Project value is required\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n Project currency is required\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n Funding type is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n Project value is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
Disbursements from source projects
\r\n
\r\n
\r\n
{{project.title}} - ({{project.projectCurrency}})
\r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
YearAmountTypeAction
{{disbursement.year}}{{disbursement.amount}}{{disbursementTypeConstants[disbursement.disbursementType]}}\r\n \r\n
\r\n
\r\n
\r\n No disbursements to show\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Project disbursements
\r\n
\r\n
\r\n Project disbursements must be equal to project value\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
Funders from source projects
\r\n
\r\n
\r\n
{{project.title}}
\r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Funder nameAction
{{funder.funder}}\r\n \r\n
\r\n
\r\n
\r\n No funders available\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Implementers from source projects
\r\n
\r\n
\r\n
{{project.title}}
\r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Implementer nameAction
{{implementer.implementer}}\r\n \r\n
\r\n
\r\n
\r\n No implementers available\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Sectors from source projects
\r\n
\r\n Sector percentage must be equal to 100.\r\n
\r\n\r\n
\r\n
\r\n
{{project.title}}
\r\n
0\">\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorPercentageAction
{{sector.sector}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n No sectors available\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
Locations from source projects
\r\n
\r\n Location percentage must be equal to 100.\r\n
\r\n\r\n
\r\n
\r\n
{{project.title}}
\r\n
0\">\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
LocationPercentageAction
{{location.location}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n No locations available\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
Documents/Resources from source projects
\r\n
\r\n
\r\n {{project.title}}\r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Resource name/DocumentLinkAction
{{document.documentTitle}}{{document.documentUrl}}\r\n \r\n
\r\n
\r\n
\r\n No documents/resources found\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Markers from source projects
\r\n\r\n
\r\n
\r\n {{project.title}}\r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
MarkerValuesAction
{{marker.fieldTitle}}{{displayFieldValues(marker.values)}}\r\n \r\n
\r\n
\r\n
\r\n No markers found\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
Confirmation Message
\r\n
\r\n Selected projects are merged successfully. If you want to edit the project, click edit,\r\n or click finish to end the project.\r\n
\r\n

\r\n \r\n  \r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { OrganizationTypeService } from '../services/organization-type.service';\r\nimport { Settings } from '../config/settings';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\n\r\n@Component({\r\n selector: 'app-organization-types',\r\n templateUrl: './organization-types.component.html',\r\n styleUrls: ['./organization-types.component.css']\r\n})\r\nexport class OrganizationTypesComponent implements OnInit {\r\n\r\n organizationTypesList: any = [];\r\n filteredOrganizationTypesList: any = [];\r\n criteria: string = null;\r\n isLoading: boolean = true;\r\n infoMessage: string = null;\r\n showMessage: boolean = false;\r\n pagingSize: number = Settings.rowsPerPage;\r\n permissions: any = {};\r\n\r\n constructor(private organizationTypeService: OrganizationTypeService, private router: Router,\r\n private storeService: StoreService, private securityService: SecurityHelperService) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditOrganization) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.getOrganizationTypesList();\r\n }\r\n\r\n getOrganizationTypesList() {\r\n this.organizationTypeService.getOrganizationTypes().subscribe(\r\n data => {\r\n this.isLoading = false;\r\n if (data && data.length) {\r\n this.organizationTypesList = data;\r\n this.filteredOrganizationTypesList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n searchOrganizationTypes() {\r\n if (!this.criteria) {\r\n this.filteredOrganizationTypesList = this.organizationTypesList;\r\n }\r\n else {\r\n if (this.organizationTypesList.length > 0) {\r\n var criteria = this.criteria.toLowerCase();\r\n this.filteredOrganizationTypesList = this.organizationTypesList.filter(t => (t.typeName.toLowerCase().indexOf(criteria) != -1));\r\n }\r\n }\r\n }\r\n\r\n edit(id: string) {\r\n this.router.navigateByUrl('/manage-organization-type/' + id);\r\n }\r\n\r\n delete(id: string) {\r\n this.router.navigateByUrl('/delete-organization-type/' + id);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n \r\n
\r\n
0\" class=\"margin-top-10\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Type nameActions
{{org.typeName}}\r\n \r\n  \r\n \r\n
\r\n \r\n
\r\n
\r\n No organization types to show\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EnvelopeTypeService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) { }\r\n\r\n getAllEnvelopeTypes() {\r\n var url = this.urlHelper.getEnvelopeTypeUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Envelope Types')));\r\n }\r\n\r\n getEnvelopeTypeById(id: number) {\r\n var url = this.urlHelper.getEnvelopeTypeUrl() + '/' + id;\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Envelope Type')));\r\n }\r\n\r\n addEnvelopeType(model: any) {\r\n var url = this.urlHelper.getEnvelopeTypeUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Envelope Type')));\r\n }\r\n \r\n editEnvelopeType(id: number, model: any) {\r\n var url = this.urlHelper.getEnvelopeTypeUrl() + '/' + id;\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Edit Envelope Type'))\r\n );\r\n }\r\n \r\n deleteEnvelopeType(id: number, mappingId: number) {\r\n var url = this.urlHelper.getEnvelopeTypeUrl() + '/' + id + '/' + mappingId;\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Envelope Type')));\r\n }\r\n \r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { RegistrationModel } from '../models/registration';\r\nimport { UserService } from '../services/user-service';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\n\r\n@Component({\r\n selector: 'app-user-registration',\r\n templateUrl: './user-registration.component.html',\r\n styleUrls: ['./user-registration.component.css']\r\n})\r\nexport class UserRegistrationComponent implements OnInit {\r\n userTypes = [];\r\n model: any = { email: null, confirmEmail: null, password: null, confirmPassword: null};\r\n isEmailOk: boolean = false;\r\n emailNotAvailable: boolean = false;\r\n disableEmail: boolean = false;\r\n isNameFocus: boolean = false;\r\n isEmailFocus: boolean = false;\r\n isConfirmEmailFocus: boolean = true;\r\n isSearchingEmail: boolean = false;\r\n invalidEmail: boolean = false;\r\n btnCheckEmailTitle: string = 'Check Availability';\r\n\r\n constructor(private userService: UserService, private router: Router, private storeService: StoreService) { \r\n \r\n }\r\n \r\n onSubmit() {\r\n }\r\n\r\n ngOnInit() {\r\n this.model = new RegistrationModel(null, null, null, null, null, null, false);\r\n this.fillUserTypes();\r\n }\r\n\r\n fillUserTypes() {\r\n this.userTypes.push({\r\n \"id\": 2,\r\n \"typeName\": \"Manager\"\r\n });\r\n\r\n this.userTypes.push({\r\n \"id\": 3,\r\n \"typeName\": \"Regular\"\r\n });\r\n }\r\n\r\n checkIfEmailAvailable() {\r\n if (!this.model.email) {\r\n this.invalidEmail = true;\r\n return false;\r\n }\r\n\r\n this.isSearchingEmail = true;\r\n this.btnCheckEmailTitle = 'Wait processing...';\r\n this.userService.checkEmailAvailability(this.model.email).subscribe(\r\n data => {\r\n if (data) {\r\n this.isEmailOk = data.success;\r\n if (!this.isEmailOk) {\r\n this.emailNotAvailable = true;\r\n this.disableEmail = false;\r\n this.isEmailFocus = true;\r\n } else {\r\n this.emailNotAvailable = false;\r\n this.disableEmail = true;\r\n this.isNameFocus = true;\r\n this.isEmailFocus = false;\r\n this.isConfirmEmailFocus = true;\r\n }\r\n this.isSearchingEmail = false;\r\n this.btnCheckEmailTitle = 'Check Email';\r\n }\r\n },\r\n error => {\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n\r\n resetEmailAvailable(el: any) {\r\n this.emailNotAvailable = false;\r\n }\r\n\r\n proceedRegistration() {\r\n if (this.model.email == null || this.model.password == null) {\r\n return false;\r\n }\r\n if (this.model.email != this.model.confirmEmail) {\r\n return false;\r\n }\r\n\r\n if (this.model.password != this.model.confirmPassword) {\r\n return false;\r\n }\r\n this.storeService.newRegistration(this.model);\r\n this.router.navigateByUrl('user-org-registration');\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
Register
\r\n
\r\n
\r\n \r\n Please note that you only need to register if you wish to add and/or edit data on projects. \r\n To view data on projects you do not need to register here, as all the data is accessible \r\n via the Reports and Project List menu items.\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Email valid email address\r\n
\r\n
\r\n Email Address already taken\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Your emails do not match\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Password is required\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n Passwords do not match\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Messages } from '../config/messages';\r\nimport { NgbDateStruct, NgbCalendar } from '@ng-bootstrap/ng-bootstrap';\r\nimport { IATIService } from '../services/iati.service';\r\nimport { ModalService } from '../services/modal.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Settings } from '../config/settings';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { ProjectInfoModalComponent } from '../project-info-modal/project-info-modal.component';\r\nimport { fromEvent } from 'rxjs';\r\nimport { map, filter, debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { FinancialYearService } from '../services/financial-year.service';\r\nimport { LocationService } from '../services/location.service';\r\nimport { SectorService } from '../services/sector.service';\r\nimport { OrganizationService } from '../services/organization-service';\r\nimport { SectorTypeService } from '../services/sector-types.service';\r\nimport { JoinProjectModalComponent } from '../join-project-modal/join-project-modal.component';\r\nimport { MarkerService } from '../services/marker.service';\r\n\r\n@Component({\r\n selector: 'app-new-project',\r\n templateUrl: './new-project.component.html',\r\n styleUrls: []\r\n})\r\nexport class NewProjectComponent implements OnInit {\r\n\r\n @ViewChild('title', {static: true}) title: ElementRef;\r\n @Input()\r\n displayTime: number = Settings.displayMessageTime;\r\n isProjectLoaded: boolean = false;\r\n isIATILoading: boolean = true;\r\n isAIMSLoading: boolean = false;\r\n isBtnDisabled: boolean = false;\r\n isTextReadOnly: boolean = true;\r\n selectedProjectTitle: string = null;\r\n selectedProjectStartDate: string = null;\r\n selectedProjectEndDate: string = null;\r\n selectedProjectValue: number = 0;\r\n selectedProjectCurrency: string = null;\r\n selectedProjectDescription: string = null;\r\n selectedProjectOrganizations: any = [];\r\n selectedProjectLocations: any = [];\r\n selectedProjectSectors: any = [];\r\n inputTextHolder: string = 'Setting up IATI...';\r\n counter: number = 0;\r\n btnText: string = 'Manual entry only';\r\n errorMessage: string = null;\r\n successMessage: string = null;\r\n requestNo: number = 0;\r\n viewProjectId: number = 0;\r\n isError: boolean = false;\r\n isSearchingProjects: boolean = false;\r\n isSearchedResults: boolean = false;\r\n startDateModel: NgbDateStruct;\r\n projectIdCounter: number = 0;\r\n timerCounter: number = 0;\r\n timeoutForSearch: number = 1000;\r\n currentProjectId: number = 0;\r\n isAIMSSearchInProgress: boolean = false;\r\n isProjectPermitted: boolean = true;\r\n timer: any = null;\r\n pagingSize: number = Settings.rowsPerPage;\r\n isShowContact: boolean = false;\r\n userOrganizationId: number = 0;\r\n joinProjectId: number = 0;\r\n\r\n sectorsSettings: any = {};\r\n iatiSectorsSettings: any = {};\r\n locationsSettings: any = {};\r\n organizationsSettings: any = {};\r\n allSectorTypes: any = [];\r\n yearsList: any = [];\r\n defaultSectorTypeId: number = 0;\r\n iatiSectorTypesList: any = [];\r\n iatiAllSectorsList: any = [];\r\n iatiSectorsList: any = [];\r\n allSectorsList: any = [];\r\n sectorsList: any = [];\r\n subSectorsList: any = [];\r\n selectedSectors: any = [];\r\n organizationsList: any = [];\r\n iatiOrganizationsList: any = [];\r\n selectedOrganizations: any = [];\r\n selectedIATIOrganizations: any = [];\r\n locationsList: any = [];\r\n selectedLocations: any = [];\r\n permissions: any = {};\r\n iatiProjects: any = [];\r\n filteredIatiProjects: any = [];\r\n filteredAIMSProjects: any = [];\r\n selectedProjects: any = [];\r\n selectedAIMSProjects: any = [];\r\n selectedIATIProjects: any = [];\r\n aimsProjects: any = [];\r\n userProjectIds: any = [];\r\n viewProject: any = [];\r\n viewProjectLocations: any = [];\r\n viewProjectSectors: any = [];\r\n viewProjectDocuments: any = [];\r\n viewProjectFunders: any = [];\r\n viewProjectImplementers: any = [];\r\n viewProjectDisbursements: any = [];\r\n viewProjectFields: any = [];\r\n markersList: any = [];\r\n markerValues: any = [];\r\n markerValuesSettings: any = {};\r\n\r\n organizationSourceTypes: any = {\r\n IATI: 'IATI',\r\n USER: 'User'\r\n }\r\n\r\n sectorLevels: any = [\r\n { \"id\": 1, \"level\": \"Parent sectors\" },\r\n { \"id\": 2, \"level\": \"Sub sectors\" },\r\n ];\r\n\r\n sectorLevelCodes: any = {\r\n NO_SECTORS: 4,\r\n SECTORS: 1,\r\n SUB_SECTORS: 2,\r\n SUB_SUB_SECTORS: 3\r\n }\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n model = {\r\n id: 0, title: '', startDate: null, endDate: null, description: null, startingYear: 0, markerId: 0,\r\n endingYear: 0, startingDate: null, endingDate: null, selectedOrganizations: [], selectedSectors: [], selectedLocations: [],\r\n selectedIATIOrganizations: [], iatiSectorType: null, iatiSelectedSectors: [], \r\n selectedMarkerValues: [],\r\n sectorLevel: null\r\n };\r\n\r\n constructor(private projectService: ProjectService, private route: ActivatedRoute,\r\n private router: Router, private calendar: NgbCalendar,\r\n private storeService: StoreService, private iatiService: IATIService,\r\n private modalService: ModalService, private securityService: SecurityHelperService,\r\n private errorModal: ErrorModalComponent, private infoModal: InfoModalComponent,\r\n private projectInfoModal: ProjectInfoModalComponent, private locationService: LocationService,\r\n private sectorService: SectorService, private fyService: FinancialYearService,\r\n private markerService: MarkerService,\r\n private organizationService: OrganizationService,\r\n private sectorTypeService: SectorTypeService,\r\n private joinProjectModal: JoinProjectModalComponent) {\r\n }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditProject) {\r\n this.router.navigateByUrl('projects');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.entry);\r\n this.userOrganizationId = (this.securityService.getUserOrganizationId()) ? parseInt(this.securityService.getUserOrganizationId()) : 0;\r\n this.requestNo = this.storeService.getCurrentRequestId();\r\n this.getSectorTypes();\r\n this.getMarkers();\r\n this.getFinancialYearsList();\r\n this.getLocationsList();\r\n this.getUserOrganizationsList();\r\n this.getIATIOrganizationsList();\r\n this.loadUserProjects();\r\n this.loadIATIProjects();\r\n this.loadAIMSProjects();\r\n\r\n this.markerValuesSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'value',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n localStorage.setItem('selected-projects', null);\r\n localStorage.setItem('active-project', '0');\r\n\r\n //Register keyup event for search bar\r\n fromEvent(this.title.nativeElement, 'keyup').pipe(\r\n map((event: any) => {\r\n return event.target.value;\r\n })\r\n , debounceTime(1000)\r\n , distinctUntilChanged()\r\n ).subscribe((text: string) => {\r\n this.filterProjectMatches();\r\n });\r\n\r\n this.sectorsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'sectorName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.iatiSectorsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'sectorName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.organizationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'organizationName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.locationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'location',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n }\r\n\r\n getSectorTypes() {\r\n this.sectorTypeService.getSectorTypesList().subscribe(\r\n data => {\r\n if (data) {\r\n this.allSectorTypes = data;\r\n var defaultSectorType = this.allSectorTypes.filter(t => t.isPrimary == true);\r\n if (defaultSectorType.length > 0) {\r\n this.defaultSectorTypeId = defaultSectorType[0].id;\r\n }\r\n this.iatiSectorTypesList = this.allSectorTypes.filter(t => t.isSourceType == true);\r\n this.getSectorsList();\r\n }\r\n }\r\n );\r\n }\r\n\r\n loadUserProjects() {\r\n this.projectService.getUserProjects().subscribe(\r\n data => {\r\n if (data) {\r\n this.userProjectIds = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n checkIfPermitted(id) {\r\n return (this.userProjectIds.map(p => p.id).indexOf(id) == -1) ? true : false;\r\n }\r\n\r\n checkIfCanMerge() {\r\n var canMerge = true;\r\n if (this.userProjectIds.length == 0) {\r\n return false;\r\n }\r\n\r\n var selectedIds = this.selectedAIMSProjects.map(p => p.id);\r\n selectedIds.forEach((id) => {\r\n if (this.userProjectIds.map(p => p.id).indexOf(id) == -1) {\r\n canMerge = false;\r\n }\r\n });\r\n return canMerge;\r\n }\r\n\r\n loadIATIProjects() {\r\n this.isIATILoading = true;\r\n var projectTitle = 'Enter keywords to search existing and source projects';\r\n this.iatiService.getProjects().subscribe(\r\n data => {\r\n if (data) {\r\n this.iatiProjects = data;\r\n this.filteredIatiProjects = data;\r\n this.filteredIatiProjects.forEach(function (p) {\r\n p.isMatched = false;\r\n }.bind(this));\r\n }\r\n this.isProjectLoaded = true;\r\n this.isTextReadOnly = false;\r\n this.inputTextHolder = projectTitle;\r\n this.isIATILoading = false;\r\n\r\n if (!this.isAIMSLoading) {\r\n if (this.organizationsList && this.organizationsList.length > 0) {\r\n var org = this.organizationsList.filter(o => o.id == this.userOrganizationId);\r\n if (org.length > 0) {\r\n this.model.selectedOrganizations.push(org[0]);\r\n if (org.length > 0) {\r\n setTimeout(() => {\r\n this.filterProjectMatches();\r\n }, 1000);\r\n\r\n }\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getSectorsList() {\r\n this.sectorService.getSectorsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.allSectorsList = data;\r\n var iatiSectorTypeIds = this.iatiSectorTypesList.map(t => t.id);\r\n this.iatiAllSectorsList = this.allSectorsList.filter(s => iatiSectorTypeIds.includes(s.sectorTypeId));\r\n if (this.defaultSectorTypeId) {\r\n this.subSectorsList = this.sectorsList.filter(s => s.parentSectorId != null); \r\n }\r\n \r\n }\r\n }\r\n );\r\n }\r\n\r\n getSectorsForIATIType() {\r\n var id = this.model.iatiSectorType;\r\n this.iatiSectorsList = [];\r\n if (id) {\r\n this.model.iatiSelectedSectors = [];\r\n this.iatiSectorsList = this.iatiAllSectorsList.filter(s => s.sectorTypeId == id);\r\n this.filterProjectMatches();\r\n }\r\n }\r\n\r\n manageSectorLevels() {\r\n if (this.model.sectorLevel) {\r\n var level = parseInt(this.model.sectorLevel);\r\n switch(level) {\r\n \r\n case this.sectorLevelCodes.SECTORS:\r\n this.model.selectedSectors = [];\r\n this.sectorsList = this.allSectorsList.filter(s => s.sectorTypeId == this.defaultSectorTypeId && s.parentSector == null);\r\n this.filterProjectMatches();\r\n break;\r\n\r\n case this.sectorLevelCodes.SUB_SECTORS:\r\n this.model.selectedSectors = [];\r\n this.sectorsList = this.allSectorsList.filter(s => s.sectorTypeId == this.defaultSectorTypeId && s.parentSector != null);\r\n this.filterProjectMatches();\r\n break;\r\n }\r\n }\r\n }\r\n\r\n getLocationsList() {\r\n this.locationService.getLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.locationsList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getUserOrganizationsList() {\r\n this.organizationService.getUserOrganizations().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationsList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getIATIOrganizationsList() {\r\n this.organizationService.getIATIOrganizations().subscribe(\r\n data => {\r\n if (data) {\r\n this.iatiOrganizationsList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n onItemSelect() {\r\n this.filterProjectMatches();\r\n }\r\n\r\n onItemDeSelect() {\r\n this.filterProjectMatches();\r\n }\r\n\r\n onItemSelectAll() {\r\n setTimeout(() => {\r\n this.filterProjectMatches();\r\n }, 500);\r\n }\r\n\r\n onItemDeSelectAll() {\r\n setTimeout(() => {\r\n this.filterProjectMatches();\r\n }, 500);\r\n }\r\n\r\n onMarkerValueSelect() {\r\n this.filterProjectMatches();\r\n }\r\n\r\n onMarkerValueDeSelect() {\r\n this.filterProjectMatches();\r\n }\r\n\r\n onMarkerValueSelectAll() {\r\n setTimeout(() => {\r\n this.filterProjectMatches();\r\n }, 500);\r\n }\r\n\r\n onMarkerValueDeSelectAll() {\r\n setTimeout(() => {\r\n this.filterProjectMatches();\r\n }, 500);\r\n }\r\n\r\n changeMarkerForProjectFilters() {\r\n this.model.selectedMarkerValues = [];\r\n this.getSelectedMarkerValues();\r\n this.filterProjectMatches();\r\n }\r\n\r\n filterProjectMatches() {\r\n var str = this.model.title;\r\n if (this.model.title) {\r\n str = str.toLowerCase();\r\n this.filteredIatiProjects = this.iatiProjects.filter(project => project.title.toLowerCase().indexOf(str) != -1);\r\n this.filteredAIMSProjects = this.aimsProjects.filter(project => project.title.toLowerCase().indexOf(str) != -1);\r\n } else {\r\n this.filteredIatiProjects = this.iatiProjects;\r\n this.filteredAIMSProjects = this.aimsProjects;\r\n }\r\n\r\n if (this.model.selectedIATIOrganizations.length > 0) {\r\n var orgs = this.model.selectedIATIOrganizations.map(o => o.organizationName.trim().toLowerCase());\r\n this.filteredIatiProjects = this.filteredIatiProjects.filter(function (project) {\r\n var isMatched = false;\r\n var projectOrgs = project.organizations.map(o => o.name.trim().toLowerCase());\r\n for (var i = 0; i < projectOrgs.length; i++) {\r\n if (orgs.includes(projectOrgs[i])) {\r\n isMatched = true;\r\n break;\r\n }\r\n }\r\n if (isMatched) {\r\n return project;\r\n }\r\n }.bind(this));\r\n }\r\n\r\n if (this.model.selectedOrganizations.length > 0) {\r\n var orgs = this.model.selectedOrganizations.map(o => o.organizationName);\r\n this.filteredAIMSProjects = this.filteredAIMSProjects.filter(function (project) {\r\n var isMatched = false;\r\n var projectOrgs = project.organizations.map(o => o.name);\r\n for (var i = 0; i < projectOrgs.length; i++) {\r\n if (orgs.includes(projectOrgs[i])) {\r\n isMatched = true;\r\n break;\r\n }\r\n }\r\n if (isMatched) {\r\n return project;\r\n }\r\n }.bind(this));\r\n }\r\n\r\n //AIMS\r\n if (this.model.selectedSectors.length > 0) {\r\n var sectors = [];\r\n if (this.model.sectorLevel == this.sectorLevelCodes.SECTORS) {\r\n var parentSectorIds = this.model.selectedSectors.map(s => s.id);\r\n sectors = this.allSectorsList.filter(s => s.sectorTypeId == this.defaultSectorTypeId && s.parentSector != null && parentSectorIds.includes(s.parentSectorId))\r\n .map(s => s.sectorName);\r\n } else {\r\n sectors = this.model.selectedSectors.map(s => s.sectorName);\r\n }\r\n \r\n this.filteredAIMSProjects = this.filteredAIMSProjects.filter(function (project) {\r\n var isMatched = false;\r\n var projectSectors = project.sectors.map(o => o.name);\r\n for (var i = 0; i < projectSectors.length; i++) {\r\n if (sectors.includes(projectSectors[i])) {\r\n isMatched = true;\r\n break;\r\n }\r\n }\r\n if (isMatched) {\r\n return project;\r\n }\r\n }.bind(this));\r\n }\r\n\r\n //IATI\r\n if (this.model.iatiSelectedSectors.length > 0) {\r\n var sectors = this.model.iatiSelectedSectors.map(s => s.sectorName);\r\n this.filteredIatiProjects = this.filteredIatiProjects.filter(function (project) {\r\n var isMatched = false;\r\n var projectSectors = project.sectors.map(o => o.name);\r\n for (var i = 0; i < projectSectors.length; i++) {\r\n if (sectors.includes(projectSectors[i])) {\r\n isMatched = true;\r\n break;\r\n }\r\n }\r\n if (isMatched) {\r\n return project;\r\n }\r\n }.bind(this));\r\n }\r\n\r\n //AIMS\r\n if (this.model.selectedLocations.length > 0) {\r\n var locations = this.model.selectedLocations.map(l => l.location);\r\n this.filteredAIMSProjects = this.filteredAIMSProjects.filter(function (project) {\r\n var isMatched = false;\r\n var projectLocations = project.locations.map(o => o.name);\r\n for (var i = 0; i < projectLocations.length; i++) {\r\n if (locations.includes(projectLocations[i])) {\r\n isMatched = true;\r\n break;\r\n }\r\n }\r\n if (isMatched) {\r\n return project;\r\n }\r\n }.bind(this));\r\n }\r\n\r\n if (this.model.startDate != null && this.model.endDate == null) {\r\n var modelStartDate = new Date(this.model.startDate);\r\n this.filteredIatiProjects = this.filteredIatiProjects.filter((project) => {\r\n var isValidStartDate = Date.parse(project.startDate);\r\n var isValidEndDate = Date.parse(project.endDate);\r\n\r\n var startDate = (!isNaN(isValidStartDate)) ? new Date(project.startDate) : null;\r\n var endDate = (!isNaN(isValidEndDate)) ? new Date(project.endDate) : null;\r\n if (((startDate) && startDate >= modelStartDate) ||\r\n ((endDate) && endDate >= modelStartDate)) {\r\n return project;\r\n }\r\n });\r\n\r\n this.filteredAIMSProjects = this.filteredAIMSProjects.filter((project) => {\r\n var startDate = new Date(project.startDate);\r\n var endDate = new Date(project.endDate);\r\n\r\n if ((startDate >= modelStartDate) ||\r\n (endDate >= modelStartDate)) {\r\n return project;\r\n }\r\n });\r\n }\r\n\r\n if (this.model.startDate == null && this.model.endDate != null) {\r\n var modelEndDate = new Date(this.model.endDate);\r\n this.filteredIatiProjects = this.filteredIatiProjects.filter((project) => {\r\n var isValidStartDate = Date.parse(project.startDate);\r\n var isValidEndDate = Date.parse(project.endDate);\r\n\r\n var startDate = (!isNaN(isValidStartDate)) ? new Date(project.startDate) : null;\r\n var endDate = (!isNaN(isValidEndDate)) ? new Date(project.endDate) : null;\r\n if (((startDate) && startDate <= modelEndDate) ||\r\n ((endDate) && endDate <= modelEndDate)) {\r\n return project;\r\n }\r\n });\r\n\r\n this.filteredAIMSProjects = this.filteredAIMSProjects.filter((project) => {\r\n var startDate = new Date(project.startDate);\r\n var endDate = new Date(project.endDate);\r\n\r\n if ((startDate <= modelEndDate) ||\r\n (endDate <= modelEndDate)) {\r\n return project;\r\n }\r\n });\r\n }\r\n\r\n if (this.model.startDate != null && this.model.endDate != null) {\r\n var modelStartDate = new Date(this.model.startDate);\r\n var modelEndDate = new Date(this.model.endDate);\r\n this.filteredIatiProjects = this.filteredIatiProjects.filter((project) => {\r\n var isValidStartDate = Date.parse(project.startDate);\r\n var isValidEndDate = Date.parse(project.endDate);\r\n\r\n var startDate = (!isNaN(isValidStartDate)) ? new Date(project.startDate) : null;\r\n var endDate = (!isNaN(isValidEndDate)) ? new Date(project.endDate) : null;\r\n\r\n if (((startDate) && (startDate >= modelStartDate && startDate <= modelEndDate) ||\r\n ((endDate) && (endDate <= modelEndDate && endDate >= modelStartDate)))) {\r\n return project;\r\n }\r\n });\r\n\r\n this.filteredAIMSProjects = this.filteredAIMSProjects.filter((project) => {\r\n var startDate = new Date(project.startDate);\r\n var endDate = new Date(project.endDate);\r\n\r\n if (((startDate) && (startDate >= modelStartDate && startDate <= modelEndDate) ||\r\n ((endDate) && (endDate <= modelEndDate && endDate >= modelStartDate)))) {\r\n return project;\r\n }\r\n });\r\n }\r\n\r\n if (this.model.markerId && this.model.markerId > 0)\r\n {\r\n this.filteredAIMSProjects = this.filteredAIMSProjects.filter(function (project) {\r\n var isMatched = false;\r\n var markerIds = project.markers.map(m => m.markerId);\r\n for (var i = 0; i < markerIds.length; i++) {\r\n if (this.model.markerId == markerIds[i]) {\r\n isMatched = true;\r\n break;\r\n }\r\n }\r\n if (isMatched) {\r\n return project;\r\n }\r\n }.bind(this));\r\n\r\n if (this.model.selectedMarkerValues.length > 0) {\r\n var markerValuesToMatch = this.model.selectedMarkerValues.map(m => m.value);\r\n this.filteredAIMSProjects = this.filteredAIMSProjects.filter(function (project) {\r\n var isMatched = false;\r\n var markerValues = project.markers.map(m => m.values);\r\n for (var i = 0; i < markerValues.length; i++) {\r\n var values = [];\r\n if (markerValues[i].includes(',')) {\r\n values = markerValues[i].split(',');\r\n values.forEach((v) => {\r\n if (markerValuesToMatch.includes(markerValues[i])) {\r\n isMatched = true;\r\n }\r\n });\r\n } else {\r\n if (markerValuesToMatch.includes(markerValues[i])) {\r\n isMatched = true;\r\n break;\r\n }\r\n }\r\n }\r\n if (isMatched) {\r\n return project;\r\n }\r\n }.bind(this));\r\n }\r\n }\r\n }\r\n\r\n filterAIMSMatchingProjects(e) {\r\n this.isAIMSLoading = true;\r\n var str = e.target.value.toLowerCase();\r\n if (this.aimsProjects.length > 0) {\r\n this.filteredAIMSProjects = this.aimsProjects.filter(project =>\r\n project.title.toLowerCase().indexOf(str) != -1);\r\n }\r\n this.isAIMSLoading = false;\r\n }\r\n\r\n selectIATIProject(e) {\r\n var id = e.target.id;\r\n var selectedProject = this.filteredIatiProjects.filter(\r\n iati => iati.id == id\r\n );\r\n\r\n if (selectedProject.length && selectedProject.length > 0) {\r\n ++this.projectIdCounter;\r\n var iatiProject = { id: this.projectIdCounter, pid: 0, title: '', identifier: '', description: '', type: 'IATI' };\r\n iatiProject.title = selectedProject[0].title;\r\n iatiProject.description = selectedProject[0].description;\r\n iatiProject.identifier = selectedProject[0].iatiIdentifier;\r\n iatiProject.pid = selectedProject[0].id;\r\n this.addProject(iatiProject);\r\n this.selectedIATIProjects.push(selectedProject[0]);\r\n }\r\n }\r\n\r\n selectAIMSProject(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.filteredAIMSProjects.filter(\r\n aims => aims.id == id\r\n );\r\n\r\n if (selectedProject.length && selectedProject.length > 0) {\r\n ++this.projectIdCounter;\r\n var aimsProject = { id: this.projectIdCounter, pid: 0, identifier: '', title: '', description: '', type: 'AIMS' };\r\n aimsProject.title = selectedProject[0].title;\r\n aimsProject.description = selectedProject[0].description;\r\n aimsProject.identifier = selectedProject[0].id;\r\n aimsProject.pid = selectedProject[0].id;\r\n this.addProject(aimsProject);\r\n this.selectedAIMSProjects.push(selectedProject[0]);\r\n if (this.selectedAIMSProjects.length == 1) {\r\n this.isProjectPermitted = this.checkIfProjectPermittedToUser(id);\r\n }\r\n }\r\n }\r\n\r\n getFinancialYearsList() {\r\n this.fyService.getYearsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.yearsList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n searchAIMSProject() {\r\n if (this.model.title != null) {\r\n this.isSearchingProjects = true;\r\n\r\n this.projectService.filterProjects(this.model.title).subscribe(\r\n data => {\r\n if (data && data.length) {\r\n this.filteredAIMSProjects = data\r\n setTimeout(() => {\r\n this.isSearchingProjects = false;\r\n }, 1000);\r\n \r\n } else {\r\n setTimeout(() => {\r\n this.isSearchingProjects = false;\r\n }, this.displayTime);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n loadAIMSProjects() {\r\n this.isAIMSLoading = true;\r\n this.projectService.getProjectsWithDetail().subscribe(\r\n data => {\r\n if (data) {\r\n this.aimsProjects = data;\r\n this.filteredAIMSProjects = data;\r\n this.isAIMSLoading = false;\r\n\r\n if (!this.isIATILoading) {\r\n if (this.organizationsList && this.organizationsList.length > 0) {\r\n var org = this.organizationsList.filter(o => o.id == this.userOrganizationId);\r\n if (org.length > 0) {\r\n this.model.selectedOrganizations.push(org[0]);\r\n setTimeout(() => {\r\n this.filterProjectMatches();\r\n }, 1000);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n showProjectProfile(e) {\r\n var id = e.target.id;\r\n if (id) {\r\n this.closeModal('matching-projects');\r\n this.router.navigateByUrl('view-project/' + id);\r\n }\r\n }\r\n\r\n showProjectDescription(e) {\r\n this.blockUI.start('Loading...');\r\n setTimeout(() => {\r\n }, 1000);\r\n var id = e.target.id;\r\n this.currentProjectId = id;\r\n var project = this.filteredIatiProjects.filter(project => project.id == id);\r\n if (project && project.length) {\r\n this.selectedProjectTitle = project[0].title;\r\n this.selectedProjectStartDate = project[0].startDate;\r\n this.selectedProjectEndDate = project[0].endDate;\r\n this.selectedProjectValue = project[0].projectValue;\r\n this.selectedProjectCurrency = project[0].defaultCurrency;\r\n this.selectedProjectDescription = (project[0].description) ? project[0].description : 'Not available';\r\n this.selectedProjectOrganizations = project[0].organizations;\r\n this.selectedProjectSectors = project[0].sectors;\r\n this.selectedProjectLocations = project[0].locations;\r\n }\r\n this.openModal('project-description');\r\n this.blockUI.stop();\r\n }\r\n\r\n showAIMSProjectDescription(e) {\r\n this.blockUI.start('Loading...');\r\n setTimeout(() => {\r\n }, 1000);\r\n var id = e.target.id.split('-')[1];\r\n this.currentProjectId = id;\r\n var project = this.filteredAIMSProjects.filter(project => project.id == id);\r\n if (project && project.length) {\r\n this.selectedProjectTitle = project[0].title;\r\n this.selectedProjectStartDate = project[0].startDate;\r\n this.selectedProjectEndDate = project[0].endDate;\r\n this.selectedProjectValue = project[0].projectValue;\r\n this.selectedProjectCurrency = project[0].projectCurrency;\r\n this.selectedProjectDescription = (project[0].description) ? project[0].description : 'Not available';\r\n this.selectedProjectOrganizations = project[0].organizations;\r\n this.selectedProjectSectors = project[0].sectors;\r\n this.selectedProjectLocations = project[0].locations;\r\n }\r\n this.isShowContact = this.isShowContactToUser(parseInt(id));\r\n this.openModal('project-description');\r\n this.blockUI.stop();\r\n }\r\n\r\n contactProject(id) {\r\n if (id != 0) {\r\n this.router.navigateByUrl('contact-project/' + id);\r\n }\r\n }\r\n\r\n addProject(project) {\r\n this.selectedProjects.push(project);\r\n }\r\n\r\n showSelectedProjectDescription(e) {\r\n var id = e.target.id.split('-')[1];\r\n var project = this.selectedProjects.filter(p => p.id == id);\r\n\r\n if (project.length > 0) {\r\n this.selectedProjectDescription = project[0].description;\r\n }\r\n this.openModal('project-description');\r\n }\r\n\r\n countAIMSProjects() {\r\n if (this.selectedProjects.length == 0)\r\n return 0;\r\n\r\n var aimsProjects = this.selectedProjects.filter(p => p.type == 'AIMS');\r\n return aimsProjects.length;\r\n }\r\n\r\n countIATIProjects() {\r\n if (this.selectedProjects.length == 0)\r\n return 0;\r\n\r\n var iatiProjects = this.selectedProjects.filter(p => p.type == 'IATI');\r\n return iatiProjects.length;\r\n }\r\n\r\n editProject() {\r\n var aimsProject = this.selectedProjects.filter(p => p.type == 'AIMS');\r\n if (aimsProject.length > 0) {\r\n var id = aimsProject[0].identifier;\r\n localStorage.setItem('active-project', id);\r\n this.selectedProjects = this.selectedProjects.filter(p => p.identifier != id);\r\n var projects = JSON.stringify(this.selectedProjects);\r\n localStorage.setItem(\"selected-projects\", projects);\r\n this.router.navigateByUrl('data-entry');\r\n }\r\n }\r\n\r\n applyForMembership() {\r\n var aimsProject = this.selectedProjects.filter(p => p.type == 'AIMS');\r\n if (aimsProject.length > 0) {\r\n var id = aimsProject[0].identifier;\r\n if (id) {\r\n this.router.navigateByUrl('/project-membership/' + id);\r\n }\r\n }\r\n }\r\n\r\n mergeProjects() {\r\n var projects = JSON.stringify(this.selectedProjects);\r\n localStorage.setItem(\"merge-projects\", projects);\r\n this.router.navigateByUrl('merge-projects');\r\n }\r\n\r\n removeSelectedProject(e) {\r\n var id = e.target.id;\r\n var projectArr = this.selectedProjects.filter(p => p.pid == id);\r\n if (projectArr.length > 0) {\r\n var project = projectArr[0];\r\n if (project.type == 'AIMS') {\r\n this.selectedAIMSProjects = this.selectedAIMSProjects.filter(p => p.id != id);\r\n if (this.selectedAIMSProjects.length == 1) {\r\n this.isProjectPermitted = this.checkIfProjectPermittedToUser(this.selectedAIMSProjects[0].id);\r\n }\r\n } else {\r\n this.selectedIATIProjects = this.selectedIATIProjects.filter(p => p.id != id);\r\n }\r\n }\r\n this.selectedProjects = this.selectedProjects.filter(p => p.pid != id);\r\n }\r\n\r\n openModal(id: string) {\r\n this.modalService.open(id);\r\n }\r\n\r\n closeModal(id: string) {\r\n this.modalService.close(id);\r\n }\r\n\r\n proceedToDataEntry() {\r\n var projects = JSON.stringify(this.selectedProjects);\r\n localStorage.setItem(\"selected-projects\", projects);\r\n this.router.navigateByUrl('data-entry');\r\n }\r\n\r\n closeConfirmationModal() {\r\n this.modalService.close('confirmation-modal');\r\n }\r\n\r\n checkIfIATIAdded(title) {\r\n var isAddedAims = this.aimsProjects.filter(p => p.title == title);\r\n if (isAddedAims.length > 0) {\r\n return 'Use again';\r\n }\r\n return 'Select';\r\n }\r\n\r\n checkIfIATIEntered(title) {\r\n var isAddedSelected = this.selectedIATIProjects.filter(p => p.title == title);\r\n if (isAddedSelected.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkAIMSAdded(title) {\r\n var isAddedSelected = this.selectedAIMSProjects.filter(p => p.title == title);\r\n if (isAddedSelected.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkIfProjectPermittedToUser(id) {\r\n return this.userProjectIds.filter(p => p.id == id).length > 0 ? true : false;\r\n }\r\n\r\n applyForProjectMembership(e) {\r\n var projectId = e.target.id.split('-')[1];\r\n if (projectId) {\r\n this.joinProjectId = projectId;\r\n this.joinProjectModal.openModal();\r\n }\r\n }\r\n\r\n loadAIMSProjectData(e) {\r\n var projectId = e.target.id.split('-')[1];\r\n\r\n if (projectId) {\r\n this.viewProjectId = projectId;\r\n this.blockUI.start('Loading project data...')\r\n this.projectService.getProjectProfileReport(projectId).subscribe(\r\n result => {\r\n if (result && result.projectProfile) {\r\n var data = result.projectProfile;\r\n this.viewProject = data;\r\n\r\n //Setting sectors data\r\n if (data.sectors && data.sectors.length > 0) {\r\n this.viewProjectSectors = data.sectors;\r\n }\r\n\r\n if (data.locations && data.locations.length > 0) {\r\n this.viewProjectLocations = data.locations;\r\n }\r\n\r\n if (data.documents && data.documents.length > 0) {\r\n this.viewProjectDocuments = data.documents;\r\n }\r\n\r\n if (data.funders && data.funders.length > 0) {\r\n this.viewProjectFunders = data.funders;\r\n }\r\n\r\n if (data.implementers && data.implementers.length > 0) {\r\n this.viewProjectImplementers = data.implementers;\r\n }\r\n\r\n if (data.disbursements && data.disbursements.length > 0) {\r\n this.viewProjectDisbursements = data.disbursements;\r\n }\r\n\r\n if (data.customFields && data.customFields.length > 0) {\r\n this.viewProjectFields = data.customFields;\r\n }\r\n }\r\n this.isShowContact = this.isShowContactToUser(projectId);\r\n\r\n setTimeout(() => {\r\n this.projectInfoModal.openModal();\r\n this.blockUI.stop();\r\n }, 1000);\r\n }\r\n );\r\n }\r\n }\r\n\r\n isShowContactToUser(id: number) {\r\n return (this.userProjectIds.filter(ids => ids.id == id).length > 0) ? false : true;\r\n }\r\n\r\n getLongDateString(dated) {\r\n return this.storeService.getLongDateString(dated);\r\n }\r\n\r\n formatDateUKStyle(dated: any) {\r\n var validDate = Date.parse(dated);\r\n if (isNaN(validDate)) {\r\n return 'Invalid date';\r\n }\r\n var datesArr = dated.split('/');\r\n return this.storeService.formatDateInUkStyle(parseInt(datesArr[2]), parseInt(datesArr[0]), parseInt(datesArr[1]));\r\n }\r\n\r\n formatProjectValue(value: number) {\r\n if (value == 0) {\r\n return 'N/a';\r\n }\r\n return this.storeService.getNumberWithCommas(value);\r\n }\r\n\r\n getMarkers() {\r\n this.markerService.getMarkers().subscribe(\r\n data => {\r\n if (data) {\r\n this.markersList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getSelectedMarkerValues() {\r\n this.markerValues = [];\r\n if (this.model.markerId) {\r\n var values = this.markersList.filter(m => m.id == this.model.markerId).map(m => m.values);\r\n if (values && values.length > 0) {\r\n this.markerValues = JSON.parse(values);\r\n };\r\n }\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n  \r\n \r\n \r\n
\r\n
\r\n
{{selectedProjectTitle}}
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Project value: \r\n \r\n {{selectedProjectCurrency}} {{formatProjectValue(selectedProjectValue)}}\r\n \r\n \r\n N/a\r\n \r\n Start date: {{formatDateUKStyle(selectedProjectStartDate)}}End date: {{formatDateUKStyle(selectedProjectEndDate)}}
\r\n
\r\n
\r\n

\r\n Description: {{selectedProjectDescription}}\r\n

\r\n
Member organizations
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
{{org.name}}
\r\n \r\n No organizations found\r\n \r\n\r\n
Sectors
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
{{sector.name}}
\r\n \r\n No sectors found\r\n \r\n\r\n
Locations
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
{{loc.name}}
\r\n \r\n No locations found\r\n \r\n
\r\n
\r\n
\r\n \r\n  \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n  Active until: \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Setting up data...\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
1 && !checkIfCanMerge()\" class=\"row\">\r\n
\r\n
\r\n \r\n You cannot merge, as there are projects selected for which you do not have permissions.\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Matches from IATI
\r\n
\r\n
\r\n Loading IATI projects...\r\n
\r\n
\r\n
0\" class=\"projects-list-box\">\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{project.title | truncate : 30}}\r\n \r\n
\r\n
\r\n \r\n  \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n No matches from IATI.\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
Matches from AIMS
\r\n
\r\n Loading AIMS projects...\r\n
\r\n
\r\n
0\" class=\"projects-list-box\">\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{project.title | truncate : 30}}\r\n \r\n \r\n \r\n \r\n  \r\n Select\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n No matches from AIMS\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
Selected Projects
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{project.title}}
\r\n
\r\n \r\n \r\n  \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
Confirmation Message
\r\n
\r\n You have not selected any of the projects. Are you sure you want to proceed?\r\n
\r\n

\r\n \r\n  \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { Settings } from '../config/settings';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { LocationService } from '../services/location.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { StoreService } from '../services/store-service';\r\n\r\n@Component({\r\n selector: 'app-sublocations',\r\n templateUrl: './sublocations.component.html',\r\n styleUrls: ['./sublocations.component.css']\r\n})\r\nexport class SublocationsComponent implements OnInit {\r\n\r\n criteria: string = null;\r\n errorMessage: string = null;\r\n permissions: any = {};\r\n locationsList: any = [];\r\n subLocationsList: any = [];\r\n filteredSubLocationsList: any = [];\r\n selectedLocationId: number = 0;\r\n isLoading: boolean = false;\r\n requestNo: number = 0;\r\n pagingSize: number = Settings.rowsPerPage;\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private locationService: LocationService,\r\n private securityService: SecurityHelperService,\r\n private router: Router,\r\n private storeService: StoreService,\r\n private errorModal: ErrorModalComponent) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditSector) {\r\n this.router.navigateByUrl('sectors');\r\n }\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.getLocationsList();\r\n this.getSubLocationsList();\r\n }\r\n\r\n getLocationsList() {\r\n this.locationService.getLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.locationsList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getSubLocationsList() {\r\n this.locationService.getSubLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.subLocationsList = data;\r\n this.filteredSubLocationsList = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n filterLocations() {\r\n if (this.selectedLocationId == 0) {\r\n this.filteredSubLocationsList = this.subLocationsList;\r\n } else {\r\n this.filteredSubLocationsList = this.subLocationsList.filter(s => s.locationId == this.selectedLocationId);\r\n }\r\n }\r\n\r\n searchSubLocations() {\r\n if (!this.criteria) {\r\n this.filteredSubLocationsList = this.subLocationsList; \r\n } else {\r\n var stringToMatch = this.criteria.toLowerCase();\r\n this.filteredSubLocationsList = this.filteredSubLocationsList.filter(s => s.subLocation.toLowerCase().indexOf(stringToMatch) != -1);\r\n }\r\n }\r\n\r\n edit(id: number) {\r\n if (id) {\r\n this.router.navigateByUrl('manage-sublocation/' + id);\r\n }\r\n }\r\n\r\n delete(id: number) {\r\n if (id) {\r\n this.blockUI.start('Deleting sub location...');\r\n this.locationService.deleteSubLocation(id.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.subLocationsList = this.subLocationsList.filter(s => s.id != id);\r\n this.filteredSubLocationsList = this.filteredSubLocationsList.filter(s => s.id != id);\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n\r\n
\r\n
0\" class=\"col margin-top-10\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Location nameActions
{{loc.subLocation}}\r\n \r\n  \r\n \r\n
\r\n \r\n
\r\n
\r\n No locations to show\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { HttpClient, HttpEventType } from '@angular/common/http';\r\nimport { FileUploadService } from '../services/fileupload.service';\r\n\r\n@Component({\r\n selector: 'app-data-import',\r\n templateUrl: './data-import.component.html',\r\n styleUrls: ['./data-import.component.css']\r\n})\r\nexport class DataImportComponent implements OnInit {\r\n progressOld: number = 0;\r\n messageOld: string = null;\r\n progressNew: number = 0;\r\n messageNew: string = null;\r\n progressLatest: number = 0;\r\n messageLatest: string = null;\r\n isError: boolean = false;\r\n isInfo: boolean = false;\r\n @Output() public onUploadFinished = new EventEmitter();\r\n \r\n constructor(private httpClient: HttpClient, private fileUploadService: FileUploadService) { }\r\n \r\n ngOnInit() {\r\n }\r\n \r\n uploadFileOld(files){\r\n if (files.length === 0) {\r\n return;\r\n }\r\n\r\n let fileToUpload = files[0];\r\n const formData = new FormData();\r\n formData.append('file', fileToUpload, fileToUpload.name);\r\n\r\n this.fileUploadService.uploadOldExcelFile(formData).subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress)\r\n this.progressOld = Math.round(100 * event.loaded / event.total);\r\n else if (event.type === HttpEventType.Response) {\r\n this.messageOld = 'File uploaded successfully';\r\n this.onUploadFinished.emit(event.body);\r\n }\r\n });\r\n }\r\n\r\n uploadFileNew(files){\r\n if (files.length === 0) {\r\n return;\r\n }\r\n\r\n let fileToUpload = files[0];\r\n const formData = new FormData();\r\n formData.append('file', fileToUpload, fileToUpload.name);\r\n\r\n this.fileUploadService.uploadNewExcelFile(formData).subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress)\r\n this.progressNew = Math.round(100 * event.loaded / event.total);\r\n else if (event.type === HttpEventType.Response) {\r\n this.messageNew = 'File uploaded successfully';\r\n this.onUploadFinished.emit(event.body);\r\n }\r\n });\r\n }\r\n\r\n uploadFileLatest(files){\r\n if (files.length === 0) {\r\n return;\r\n }\r\n\r\n let fileToUpload = files[0];\r\n const formData = new FormData();\r\n formData.append('file', fileToUpload, fileToUpload.name);\r\n\r\n this.fileUploadService.uploadLatestExcelFile(formData).subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress)\r\n this.progressLatest = Math.round(100 * event.loaded / event.total);\r\n else if (event.type === HttpEventType.Response) {\r\n this.messageLatest = 'File uploaded successfully';\r\n this.onUploadFinished.emit(event.body);\r\n }\r\n });\r\n }\r\n\r\n uploadFileEnvelope(files){\r\n if (files.length === 0) {\r\n return;\r\n }\r\n\r\n let fileToUpload = files[0];\r\n const formData = new FormData();\r\n formData.append('file', fileToUpload, fileToUpload.name);\r\n\r\n this.fileUploadService.uploadEnvelopeDataFile(formData).subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress)\r\n this.progressLatest = Math.round(100 * event.loaded / event.total);\r\n else if (event.type === HttpEventType.Response) {\r\n this.messageLatest = 'File uploaded successfully';\r\n this.onUploadFinished.emit(event.body);\r\n }\r\n });\r\n }\r\n\r\n uploadFileOrganizationTypes(files){\r\n if (files.length === 0) {\r\n return;\r\n }\r\n\r\n let fileToUpload = files[0];\r\n const formData = new FormData();\r\n formData.append('file', fileToUpload, fileToUpload.name);\r\n\r\n this.fileUploadService.uploadOrganizationTypesFile(formData).subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress)\r\n this.progressLatest = Math.round(100 * event.loaded / event.total);\r\n else if (event.type === HttpEventType.Response) {\r\n this.messageLatest = 'File uploaded successfully';\r\n this.onUploadFinished.emit(event.body);\r\n }\r\n });\r\n }\r\n\r\n uploadFileFixGhostOrgs(files) {\r\n if (files.length === 0) {\r\n return;\r\n }\r\n\r\n let fileToUpload = files[0];\r\n const formData = new FormData();\r\n formData.append('file', fileToUpload, fileToUpload.name);\r\n\r\n this.fileUploadService.uploadGhostOrgsFixFile(formData).subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress)\r\n this.progressLatest = Math.round(100 * event.loaded / event.total);\r\n else if (event.type === HttpEventType.Response) {\r\n this.messageLatest = 'File uploaded successfully';\r\n this.onUploadFinished.emit(event.body);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
\r\n \r\n Information! {{infoMessage}}\r\n
\r\n\r\n
\r\n
Upload data file 2017
\r\n
\r\n \r\n \r\n
\r\n
\r\n 0\">\r\n Uploaded {{progressOld}}%\r\n \r\n \r\n {{messageOld}}\r\n \r\n
\r\n\r\n
Upload data file 2018
\r\n
\r\n \r\n \r\n
\r\n
\r\n 0\">\r\n Uploaded {{progressNew}}%\r\n \r\n \r\n {{messageNew}}\r\n \r\n
\r\n\r\n
Upload latest data file
\r\n
\r\n \r\n \r\n
\r\n
\r\n 0\">\r\n Uploaded {{progressLatest}}%\r\n \r\n \r\n {{messageLatest}}\r\n \r\n
\r\n\r\n
Upload envelope data file
\r\n
\r\n \r\n \r\n
\r\n
\r\n 0\">\r\n Uploaded {{progressLatest}}%\r\n \r\n \r\n {{messageLatest}}\r\n \r\n
\r\n\r\n
Upload organization types data file
\r\n
\r\n \r\n \r\n
\r\n
\r\n 0\">\r\n Uploaded {{progressLatest}}%\r\n \r\n \r\n {{messageLatest}}\r\n \r\n
\r\n\r\n
Upload fix for Ghost organizations
\r\n
\r\n \r\n \r\n
\r\n
\r\n 0\">\r\n Uploaded {{progressLatest}}%\r\n \r\n \r\n {{messageLatest}}\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
","export const Messages = {\r\n USER_REGISTRATION_MESSAGE: \"Your registration has been sent to other users in your organisation for approval, or if you setup a new organisation, then it has been sent to the AIMS management for approval.\",\r\n NEW_RECORD: ' added successfully',\r\n RECORD_UPDATED: ' updated successfully',\r\n RECORD_DELETED: ' deleted successfully',\r\n PROJECT_DEPENDENCY: 'You need to create and save a project before this action.',\r\n ENTITY_EXISTS: ' already exists',\r\n INVALID_ORG_NAME: 'Enter valid organization name having at least length of 2 characters',\r\n NEGATIVE_DISBURSEMENT: 'Disbursement value cannot be in negative',\r\n ALREADY_IN_LIST: ' is already added to list.',\r\n INVALID_INPUT: 'Data is not in valid format for submission',\r\n EX_RATE_REQUIREMENTS: 'Date, currency, and exchange rate source are required to fetch exchange rate',\r\n SAVED_SUCCESSFULLY: ' saved successfully',\r\n INVALID_DATE: 'Enter valid date',\r\n INVALID_DATE_RANGE: 'Start date cannot be greater than end date',\r\n INVALID_YEAR: 'Invalid year provided',\r\n MERGE_ORG_REQUESTED: 'Merge request for the selected organizations is forwarded successfully to other members of the organizations. You will be notified about any changes to the status of request.',\r\n INVALID_START_END_YEAR: 'Starting year cannot be greater than ending year',\r\n INVALID_FUTURE_DATE: 'You cannot select a date in future',\r\n PASSWORD_RESET_SENT: 'Password reset link sent to the provided email Id',\r\n EMAIL_NOT_FOUND: 'We could not find the provided email id in our records',\r\n PERCENTAGE_RANGE: ' must have value between 1 and 100',\r\n INVALID_ATTEMPT: 'You made an invalid attempt for this action',\r\n CANNOT_BE_ZERO: 'cannot be less than or equal to zero',\r\n INVALID_PERCENTAGE: 'Percentage total cannot be greater than 100%',\r\n PERCENT_MUST_EQUAL_HUNDRED: 'Percentage must be equal to 100%',\r\n INVALID_STARTEND_DATE: 'Start date cannot be greater than end date',\r\n INVALID_API_KEY: 'API key cannot be set as null',\r\n INVALID_EXRATE_SAVE: 'You must provide some updated exchange rates to save',\r\n INVALID_ENVELOPE: 'The sum of all actual allocations shall not be less than total committed funds',\r\n NULL_VALUE: 'Value cannot be set null for ',\r\n INVALID_TRANSACTION_DATE: ' date must be between project start and end date',\r\n INVALID_RADIO_VALUES: 'Provide values of both options for radio button',\r\n INVALID_OPTIONS_LIST: 'Provide at least one option for list/dropdown/checkbox',\r\n INVALID_OPTION_VALUE: 'You must provide at least single value for the selected field',\r\n ATLEAST_PROJECT_MERGE: 'At least two projects are required for merge',\r\n ATLEAST_ORGANIZATION_MERGE: 'At least two organizations are required for merge',\r\n INVALID_PROJECT_MERGE: 'Two or more projects must be selected to complete the merge process',\r\n INVALID_DISBURSEMENT: 'You cannot add more disbursements than the project total value. Please increase the project funding amount before adding more disbursements.',\r\n PASSWORD_UPDATED: 'Your password updated successfully. You can now login with your new password',\r\n ACCOUNT_DELETED: 'Your account is deleted successfully. In order to use AIMS again, register again with your Organization',\r\n INVALID_SECTOR_MAPPING: 'Select a sector before saving the mappings',\r\n EX_RATE_NOT_FOUND: 'Exchange rate could not be found for the selected source. Please select another source or contact administrator',\r\n INVALID_ENVELOPE_MANUAL_AMOUNT: 'Manually entered amount cannot be less than total expected amount',\r\n SELECT_IMPLEMENTER_FROM_LIST: 'You must select an implementer from the list',\r\n INVALID_IMPLEMENTER: 'Select a valid implementer name',\r\n DELETION_REQUEST_INFO: 'Request for deletion of project is successfuly forwarded for approval',\r\n ONLY_ONE_ORGANIZATION_RENAME: 'You must select only one organization for merge',\r\n PROJECT_FOR_INFORMATION_REQUIRED: 'Select a project before your proceed with the information request',\r\n MEMBERSHIP_REQUEST_MESSAGE: 'Your request is submitted successfully, you will get a notification about the status of this request through email',\r\n DATA_BACKUP_MESSAGE: 'Data backup is performed successfully for the current state of the database.',\r\n DATA_RESTORE_MESSAGE: 'Data restore is performed successfully using the selected backup file',\r\n INVALID_DISBURSEMENT_SPLIT: 'All the amounts are entered manually, split feature cannot be applied.',\r\n ORG_NOT_PROVIDED_PROJECT: 'Please provide your organization as funder/implementer',\r\n INVALID_PROJECT_VALUE_DISBURSEMENTS: 'Project value must be equal to disbursements total value. Adjust disbursements using financials tab and/or adjust project value here.',\r\n ORGANIZATIONS_MERGED: 'Organizations merged. System will logout you to bring your updated data on the next login',\r\n UNSAVED_DISBURSEMENTS: 'There are unsaved disbursements on this page. Please save disbursements before moving forward',\r\n ORG_CREATED_ADD_ANOTHER: 'Organization created successfully. You can now add another if required',\r\n START_YEAR_GREATER_THAN_ERROR: 'Starting financial year cannot be greater than ending financial year',\r\n LATEST_IATI_LOAD_MESSAGE: 'IATI Settings are updated. Active source for the IATI is changed, it will load the IATI for the settings. It is recommended not to change IATI settings until IATI is loaded. Please be patient, it will take some time.'\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { MarkerService } from '../services/marker.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { Router } from '@angular/router';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Settings } from '../config/settings';\r\nimport { StoreService } from '../services/store-service';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\n\r\n@Component({\r\n selector: 'app-markers',\r\n templateUrl: './markers.component.html',\r\n styleUrls: ['./markers.component.css']\r\n})\r\nexport class MarkersComponent implements OnInit {\r\n fieldType: any = {\r\n 1: 'Dropdown',\r\n 2: 'Checkbox',\r\n 3: 'Text',\r\n 4: 'Radio'\r\n };\r\n\r\n markers: any = [];\r\n filteredMarkers: any = [];\r\n isLoading: boolean = true;\r\n permissions: any = {};\r\n criteria: string = null;\r\n inputTextHolder: string = 'Enter field name to search';\r\n infoMessage: string = null;\r\n pagingSize: number = Settings.rowsPerPage;\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private markerService: MarkerService, private router: Router,\r\n private securityService: SecurityHelperService, private storeService: StoreService,\r\n private infoModal: InfoModalComponent) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditCustomFields) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.getMarkers();\r\n }\r\n\r\n getMarkers() {\r\n this.markerService.getMarkers().subscribe(\r\n data => {\r\n if (data) {\r\n this.markers = data;\r\n this.filteredMarkers = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n )\r\n }\r\n\r\n searchFields() {\r\n if (!this.criteria) {\r\n this.filteredMarkers = this.markers;\r\n } else {\r\n this.filteredMarkers = this.markers.filter(c => c.fieldTitle.trim().toLowerCase().indexOf(this.criteria.toLowerCase()) != -1);\r\n }\r\n }\r\n\r\n addMarker() {\r\n this.router.navigateByUrl('manage-markers');\r\n }\r\n\r\n editMarker(id: string) {\r\n this.router.navigateByUrl('manage-markers/' + id);\r\n }\r\n\r\n deleteMarker(id: string) {\r\n this.router.navigateByUrl('delete-marker/' + id);\r\n }\r\n\r\n displayFieldValues(json: any) {\r\n return this.storeService.parseAndDisplayJsonAsString(json);\r\n }\r\n\r\n getFieldType(id: number) {\r\n return this.fieldType[id];\r\n }\r\n\r\n viewHelpText(e) {\r\n var id = e.currentTarget.id.split('-')[1];\r\n if (id) {\r\n var marker = this.markers.filter(f => f.id == id);\r\n if (marker.length > 0) {\r\n this.infoMessage = marker[0].help;\r\n this.infoModal.openModal();\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n\r\n
\r\n
0\" class=\"col margin-top-10\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
MarkerField typeValuesHelp textAction
{{field.fieldTitle}}{{getFieldType(field.fieldType)}}{{displayFieldValues(field.values)}}{{field.help | truncate : 50}} View full text\r\n  \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n No markers to show\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { EnvelopeTypeService } from '../services/envelope-type.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-manage-envelope-type',\r\n templateUrl: './manage-envelope-type.component.html',\r\n styleUrls: ['./manage-envelope-type.component.css']\r\n})\r\nexport class ManageEnvelopeTypeComponent implements OnInit {\r\n\r\n isBtnDisabled: boolean = false;\r\n envelopeTypeId: number = 0;\r\n btnText: string = 'Add envelope type';\r\n errorMessage: string = '';\r\n requestNo: number = 0;\r\n isForEdit: boolean = false;\r\n isError: boolean = false;\r\n model = { typeName: null };\r\n permissions: any = {};\r\n entryForm: any = null;\r\n\r\n constructor(private securityService: SecurityHelperService, private envelopeTypeService: EnvelopeTypeService,\r\n private router: Router, private route: ActivatedRoute, private storeService: StoreService,\r\n private errorModal: ErrorModalComponent) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditEnvelopeType) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n if (this.route.snapshot.data && this.route.snapshot.data.isForEdit) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Edit envelope type';\r\n this.isForEdit = true;\r\n this.envelopeTypeId = id;\r\n this.envelopeTypeService.getEnvelopeTypeById(id).subscribe(\r\n data => {\r\n if (data) {\r\n this.model.typeName = data.typeName;\r\n }\r\n }\r\n );\r\n }\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n }\r\n });\r\n }\r\n }\r\n\r\n saveEnvelopeType(frm: any) {\r\n this.entryForm = frm;\r\n this.btnText = 'Saving...';\r\n this.isBtnDisabled = true;\r\n\r\n if (this.isForEdit) {\r\n this.envelopeTypeService.editEnvelopeType(this.envelopeTypeId, this.model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('envelope-types');\r\n } else {\r\n this.resetFormState();\r\n }\r\n }\r\n );\r\n } else {\r\n this.envelopeTypeService.addEnvelopeType(this.model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('envelope-types');\r\n } else {\r\n this.resetFormState();\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n this.btnText = 'Add envelope type';\r\n this.entryForm.resetForm();\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
{{btnText}}
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Envelope type is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { StoreService } from '../services/store-service';\r\nimport { FinancialYearService } from '../services/financial-year.service';\r\nimport { Router } from '@angular/router';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-financial-years',\r\n templateUrl: './financial-years.component.html',\r\n styleUrls: ['./financial-years.component.css']\r\n})\r\nexport class FinancialYearsComponent implements OnInit {\r\n\r\n isLoading: boolean = true;\r\n permissions: any = {};\r\n financialYearsList: any = [];\r\n filteredYearsList: any = [];\r\n pagingSize: number = Settings.rowsPerPage;\r\n selectedYearId: number = 0;\r\n criteria: string = '';\r\n\r\n constructor(private securityService: SecurityHelperService, private storeService: StoreService,\r\n private financialYearService: FinancialYearService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditYear) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.getFinancialYearsList();\r\n }\r\n\r\n getFinancialYearsList() {\r\n this.financialYearService.getYearsList().subscribe(\r\n data => {\r\n this.isLoading = false;\r\n if (data && data.length) {\r\n this.financialYearsList = data;\r\n this.filteredYearsList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n searchFinancialYears() {\r\n if (!this.criteria) {\r\n this.filteredYearsList = this.financialYearsList;\r\n } else {\r\n if (this.financialYearsList.length > 0) {\r\n this.filteredYearsList = this.financialYearsList.filter(y => \r\n (y.financialYear.toString().indexOf(this.criteria) != -1));\r\n }\r\n }\r\n }\r\n\r\n \r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Financial year
{{year.label}}
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Settings } from 'src/app/config/settings';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { ErrorModalComponent } from 'src/app/error-modal/error-modal.component';\r\nimport { StoreService } from 'src/app/services/store-service';\r\nimport { ProjectInfoModalComponent } from 'src/app/project-info-modal/project-info-modal.component';\r\nimport { ProjectiInfoModalComponent } from 'src/app/projecti-info-modal/projecti-info-modal.component';\r\nimport { CreateOrgModalComponent } from 'src/app/create-org-modal/create-org-modal.component';\r\nimport { HelpService } from 'src/app/services/help-service';\r\nimport { SecurityHelperService } from 'src/app/services/security-helper.service';\r\nimport { Messages } from 'src/app/config/messages';\r\nimport { ModalService } from 'src/app/services/modal.service';\r\n\r\n@Component({\r\n selector: 'basic-data',\r\n templateUrl: './basic-data.component.html',\r\n styleUrls: ['./basic-data.component.css']\r\n})\r\nexport class BasicDataComponent implements OnInit {\r\n resourceTempId: number = 0;\r\n isProjectBtnDisabled: boolean = false;\r\n isSourceVisible: boolean = false;\r\n isFunderDataAvailable: boolean = false;\r\n isImplementerDataAvailable: boolean = false;\r\n fundersSettings: any = [];\r\n implementersSettings: any = [];\r\n newDocuments: any = [];\r\n totalDisbursementsValue: number = 0;\r\n projectTotalValue: number = 0;\r\n invalidDisbursementsMessage: string = Messages.INVALID_PROJECT_VALUE_DISBURSEMENTS;\r\n\r\n sourceFundersList: any = [];\r\n sourceImplementersList: any = [];\r\n sourceDocumentsList: any = [];\r\n\r\n entryForm: any = null;\r\n errorMessage: string = null;\r\n itemsToShowInDropdowns: number = 3;\r\n currentTab: string = null;\r\n\r\n funderModel: any = { selectedFunders: [] };\r\n implementerModel: any = { selectedImplementers: [] };\r\n documentModel: any = { document: null, documentUrl: null };\r\n\r\n @Input()\r\n projectId: number = 0;\r\n @Input()\r\n projectData: any = {};\r\n @Input()\r\n projectDocuments: any = [];\r\n @Input()\r\n projectFunders: any = [];\r\n @Input()\r\n projectImplementers: any = [];\r\n @Input()\r\n financialYears: any = [];\r\n @Input()\r\n organizationsList: any = [];\r\n @Input()\r\n fundingTypesList: any = [];\r\n @Input()\r\n exchangeRates: any = [];\r\n @Input()\r\n currenciesList: any = [];\r\n @Input()\r\n aimsProjects: any = [];\r\n @Input()\r\n iatiProjects: any = [];\r\n @Input()\r\n projectDisbursements: any = [];\r\n\r\n @Output()\r\n projectCreated = new EventEmitter();\r\n @Output() \r\n projectFundersChanged = new EventEmitter();\r\n @Output()\r\n projectImplementersChanged = new EventEmitter();\r\n @Output()\r\n projectDocumentsChanged = new EventEmitter();\r\n @Output()\r\n proceedToFinancials = new EventEmitter();\r\n @Output()\r\n disbursementsChanged = new EventEmitter();\r\n\r\n tooltipOptions = {\r\n 'placement': 'top',\r\n 'show-delay': 500\r\n }\r\n basicDataSource: any = {\r\n TITLE: 1,\r\n START_DATE: 2,\r\n END_DATE: 3,\r\n CURRENCY: 4,\r\n PROJECT_VALUE: 5,\r\n GRANT_TYPE: 6\r\n };\r\n\r\n projectHelp: any = { title: null, startingFinancialYear: null, endingFinancialYear: null,\r\n description: null, projectValue: null, projectCurrency: null, fundingType: null,\r\n startDate: null, endDate: null};\r\n projectFunderHelp: any = { funder: null};\r\n projectImplementerHelp: any = { implementer: null};\r\n projectDocumentHelp: any = { document: null, documentUrl: null };\r\n isProjectHelpLoaded: boolean = false;\r\n isFunderHelpLoaded: boolean = false;\r\n isImplementerHelpLoaded: boolean = false;\r\n isDocumentHelpLoaded: boolean = false;\r\n previousStartingYear: number = 0;\r\n previousEndingYear: number = 0;\r\n basicModel: any = { startDate: null, endDate: null };\r\n\r\n displayTabs: any = [\r\n { visible: true, identity: 'project' },\r\n { visible: false, identity: 'project-source' },\r\n { visible: false, identity: 'funders-source' },\r\n { visible: false, identity: 'documents-source' },\r\n { visible: false, identity: 'implementers-source' },\r\n { visible: false, identity: 'sectors' },\r\n { visible: false, identity: 'sectors-source' },\r\n { visible: false, identity: 'locations-source' },\r\n { visible: false, identity: 'finish' }\r\n ];\r\n\r\n tabConstants: any = {\r\n PROJECT: 'project',\r\n PROJECT_SOURCE: 'project-source',\r\n FUNDERS_SOURCE: 'funders-source',\r\n IMPLEMENTERS_SOURCE: 'implementers-source',\r\n DOCUMENTS_SOURCE: 'documents-source',\r\n SECTORS: 'sectors',\r\n SECTORS_SOURCE: 'sectors-source',\r\n FINANCIALS: 'financials',\r\n FINANCIALS_SOURCE: 'financials-source',\r\n FINISH: 'finish'\r\n };\r\n\r\n currentSource: number = 0;\r\n isShowSource: boolean = false;\r\n isProjectSourceAvailable: boolean = false;\r\n isFunderSourceAvailable: boolean = false;\r\n isDocumentSourceAvailable: boolean = false;\r\n isImplementerSourceAvailable: boolean = false;\r\n descriptionLimit: number = Settings.descriptionLongLimit;\r\n descriptionLimitLeft: number = Settings.descriptionLongLimit;\r\n requestNo: number = 0;\r\n exchangeRate: number = 0;\r\n userOrgId: number = 0;\r\n\r\n isShowContact: boolean = false;\r\n aimsProjectId: number = 0;\r\n viewProject: any = {};\r\n viewProjectLocations: any = [];\r\n viewProjectSectors: any = [];\r\n viewProjectDocuments: any = [];\r\n viewProjectFunders: any = [];\r\n viewProjectImplementers: any = [];\r\n viewProjectDisbursements: any = [];\r\n viewProjectBudgets: any = [];\r\n viewProjectTransactions: any = [];\r\n viewProjectMarkers: any = [];\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private projectService: ProjectService, private errorModal: ErrorModalComponent,\r\n private storeService: StoreService, private projectInfoModal: ProjectInfoModalComponent,\r\n private projectIATIInfoModal: ProjectiInfoModalComponent,\r\n private orgModal: CreateOrgModalComponent,\r\n private securityService: SecurityHelperService,\r\n private helpService: HelpService,\r\n private modalService: ModalService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.currentTab = this.tabConstants.PROJECT;\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.userOrgId = parseInt(this.securityService.getUserOrganizationId());\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n if (this.projectFunders.length > 0) {\r\n this.projectFunders.forEach(f => {\r\n this.funderModel.selectedFunders.push({\r\n id : f.funderId,\r\n organizationName: f.funder\r\n });\r\n });\r\n }\r\n\r\n if (this.projectImplementers.length > 0) {\r\n this.projectImplementers.forEach(i => {\r\n this.implementerModel.selectedImplementers.push({\r\n id: i.implementerId,\r\n organizationName: i.implementer\r\n });\r\n });\r\n }\r\n \r\n this.fundersSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'organizationName',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: this.itemsToShowInDropdowns,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.implementersSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'organizationName',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: this.itemsToShowInDropdowns,\r\n allowSearchFilter: true\r\n };\r\n\r\n if (this.projectDisbursements.length > 0) {\r\n this.calculateDisbursements();\r\n }\r\n \r\n }\r\n\r\n ngOnChanges() {\r\n if (this.aimsProjects.length > 0 || this.iatiProjects.length > 0) {\r\n this.isProjectSourceAvailable = true;\r\n console.log(this.iatiProjects);\r\n }\r\n \r\n if (this.projectData && this.projectData.description) {\r\n this.previousStartingYear = new Date(this.projectData.startDate).getFullYear();\r\n this.previousEndingYear = new Date(this.projectData.endDate).getFullYear();\r\n this.getDescriptionLimitInfo();\r\n }\r\n\r\n if (this.iatiProjects.length > 0) {\r\n this.iatiProjects.forEach(p => {\r\n if (p.funders.length > 0) {\r\n this.isFunderDataAvailable = true;\r\n\r\n p.funders.forEach(f => {\r\n f.isSaved = true;\r\n });\r\n }\r\n\r\n if (p.documents.length > 0) {\r\n this.isDocumentSourceAvailable = true;\r\n }\r\n });\r\n\r\n this.iatiProjects.forEach(p => {\r\n if (p.implementers.length > 0) {\r\n this.isImplementerDataAvailable = true;\r\n }\r\n\r\n if (p.documents.length > 0) {\r\n this.isDocumentSourceAvailable = true;\r\n }\r\n\r\n p.implementers.forEach(i => {\r\n i.isSaved = true;\r\n });\r\n });\r\n }\r\n\r\n if (this.aimsProjects.length > 0) {\r\n this.aimsProjects.forEach(p => {\r\n if (p.funders.length > 0) {\r\n this.isFunderDataAvailable = true;\r\n\r\n p.funders.forEach(f => {\r\n f.isSaved = true;\r\n });\r\n }\r\n\r\n if (p.documents.length > 0) {\r\n this.isDocumentSourceAvailable = true;\r\n }\r\n });\r\n\r\n this.aimsProjects.forEach(p => {\r\n if (p.implementers.length > 0) {\r\n this.isImplementerDataAvailable = true;\r\n\r\n p.implementers.forEach(i => {\r\n i.isSaved = true;\r\n });\r\n }\r\n\r\n if (p.documents.length > 0) {\r\n this.isDocumentSourceAvailable = true;\r\n }\r\n });\r\n }\r\n\r\n this.calculateDisbursements();\r\n this.getProjectHelp();\r\n this.getprojectFunderHelp();\r\n this.getprojectImplementerHelp();\r\n this.getProjectDocumentHelp();\r\n }\r\n\r\n getDescriptionLimitInfo() {\r\n this.descriptionLimitLeft = (this.descriptionLimit - this.projectData.description.length);\r\n if (this.descriptionLimitLeft < 0) {\r\n this.projectData.description = this.projectData.description.substring(0, (this.descriptionLimit - 1));\r\n }\r\n }\r\n\r\n getExchangeRateForCurrency() {\r\n if (this.projectData.projectCurrency) {\r\n var exRate = this.exchangeRates.filter(e => e.currency == this.projectData.projectCurrency);\r\n if (exRate.length > 0) {\r\n this.projectData.exchangeRate = exRate[0].rate;\r\n }\r\n } else {\r\n this.projectData.exchangeRate = 1;\r\n }\r\n }\r\n\r\n getProjectHelp() {\r\n if (!this.projectHelp.title) {\r\n this.helpService.getProjectHelpFields().subscribe(\r\n data => {\r\n this.projectHelp = data;\r\n }\r\n );\r\n }\r\n }\r\n\r\n getprojectFunderHelp() {\r\n if (!this.projectFunderHelp.funder) {\r\n this.helpService.getProjectFunderHelpFields().subscribe(\r\n data => {\r\n this.projectFunderHelp = data;\r\n }\r\n );\r\n }\r\n }\r\n\r\n getprojectImplementerHelp() {\r\n if (!this.projectImplementerHelp.implementer) {\r\n this.helpService.getProjectImplementerHelpFields().subscribe(\r\n data => {\r\n this.projectImplementerHelp = data;\r\n }\r\n );\r\n }\r\n }\r\n\r\n getProjectDocumentHelp() {\r\n if (!this.projectDocumentHelp.document) {\r\n this.helpService.getProjectDocumentsHelpFields().subscribe(\r\n data => {\r\n if (data) {\r\n this.projectDocumentHelp = data;\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n updateBasicData() {\r\n var startingYear = new Date(this.projectData.startDate).getFullYear();\r\n var endingYear = new Date(this.projectData.endDate).getFullYear();\r\n this.projectData.startingFinancialYear = startingYear;\r\n this.projectData.endingFinancialYear = endingYear;\r\n\r\n if (startingYear > endingYear) {\r\n this.errorMessage = 'Starting year cannot be greater than ending year';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if ((startingYear > this.previousStartingYear) || (endingYear < this.previousEndingYear)) {\r\n this.modalService.open('confirmation-modal-source');\r\n return false;\r\n }\r\n this.saveBasicData();\r\n }\r\n\r\n saveBasicData() {\r\n var isOrgProvided = false;\r\n var userOrgInFunders = this.funderModel.selectedFunders.filter(f => f.id == this.userOrgId);\r\n if (userOrgInFunders.length == 0) {\r\n var userOrgInImplementers = this.implementerModel.selectedImplementers.filter(i => i.id == this.userOrgId);\r\n if (userOrgInImplementers.length > 0) {\r\n isOrgProvided = true;\r\n }\r\n } else {\r\n isOrgProvided = true;\r\n }\r\n\r\n if (!isOrgProvided) {\r\n this.errorMessage = Messages.ORG_NOT_PROVIDED_PROJECT;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.projectId != 0) {\r\n this.blockUI.start('Saving project...');\r\n this.projectService.updateProject(this.projectId, this.projectData).subscribe(\r\n data => {\r\n if (data) {\r\n this.previousStartingYear = this.projectData.startingFinancialYear;\r\n this.previousEndingYear = this.projectData.endingFinancialYear;\r\n this.showProjectData();\r\n this.adjustProjectDisbursements();\r\n } \r\n this.blockUI.stop();\r\n }\r\n );\r\n } else {\r\n this.blockUI.start('Saving project...');\r\n this.projectService.addProject(this.projectData).subscribe(\r\n data => {\r\n if (data) {\r\n this.previousStartingYear = this.projectData.startingFinancialYear;\r\n this.previousEndingYear = this.projectData.endingFinancialYear;\r\n this.projectId = data;\r\n this.updateProjectIdToParent();\r\n localStorage.setItem('active-project', data);\r\n this.showProjectData();\r\n this.adjustProjectDisbursements();\r\n } \r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n \r\n updateProject(frm: any) {\r\n var startingYear = new Date(this.projectData.startDate).getFullYear();\r\n var endingYear = new Date(this.projectData.endDate).getFullYear();\r\n this.projectData.startingFinancialYear = startingYear;\r\n this.projectData.endingFinancialYear = endingYear;\r\n\r\n if (startingYear > endingYear) {\r\n this.errorMessage = 'Starting year cannot be greater than ending year';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.projectId > 0) {\r\n if ((startingYear > this.previousStartingYear) || (endingYear < this.previousEndingYear)) {\r\n this.modalService.open('confirmation-modal');\r\n return false;\r\n } else {\r\n this.saveProject();\r\n }\r\n } else {\r\n this.saveProject();\r\n }\r\n }\r\n\r\n saveProject() {\r\n this.modalService.close('confirmation-modal');\r\n\r\n if (!this.projectData.description) {\r\n this.errorMessage = 'Project description is required';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var isOrgProvided = false;\r\n var userOrgInFunders = this.funderModel.selectedFunders.filter(f => f.id == this.userOrgId);\r\n if (userOrgInFunders.length == 0) {\r\n var userOrgInImplementers = this.implementerModel.selectedImplementers.filter(i => i.id == this.userOrgId);\r\n if (userOrgInImplementers.length > 0) {\r\n isOrgProvided = true;\r\n }\r\n } else {\r\n isOrgProvided = true;\r\n }\r\n\r\n if (!isOrgProvided) {\r\n this.errorMessage = Messages.ORG_NOT_PROVIDED_PROJECT;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.isProjectBtnDisabled = true;\r\n this.projectData.fundingTypeId = parseInt(this.projectData.fundingTypeId)\r\n if (this.projectId != 0) {\r\n this.blockUI.start('Saving project...');\r\n this.requestNo = this.storeService.getCurrentRequestId();\r\n this.projectService.updateProject(this.projectId, this.projectData).subscribe(\r\n data => {\r\n if (data) {\r\n this.previousStartingYear = new Date(this.projectData.startDate).getFullYear();\r\n this.previousEndingYear = new Date(this.projectData.endDate).getFullYear();\r\n this.saveProjectFunders();\r\n this.adjustProjectDisbursements();\r\n this.updateProjectIdToParent();\r\n this.calculateDisbursements();\r\n } else {\r\n this.blockUI.stop();\r\n }\r\n }\r\n );\r\n } else {\r\n this.blockUI.start('Saving project...');\r\n this.requestNo = this.storeService.getCurrentRequestId();\r\n this.projectService.addProject(this.projectData).subscribe(\r\n data => {\r\n if (data) {\r\n this.previousStartingYear = new Date(this.projectData.startDate).getFullYear();\r\n this.previousEndingYear = new Date(this.projectData.endDate).getFullYear();\r\n this.projectId = data;\r\n localStorage.setItem('active-project', data);\r\n this.updateProjectIdToParent();\r\n this.createProjectDisbursements();\r\n this.saveProjectFunders();\r\n this.calculateDisbursements();\r\n } else {\r\n this.blockUI.stop();\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n calculateDisbursements() {\r\n var totalDisbursements = 0;\r\n if (this.projectDisbursements.length > 0) {\r\n this.projectDisbursements.forEach((d) => {\r\n totalDisbursements += parseFloat(d.amount);\r\n });\r\n }\r\n this.projectTotalValue = (this.projectData.projectValue) ? parseFloat(this.projectData.projectValue) : 0;\r\n this.totalDisbursementsValue = totalDisbursements;\r\n }\r\n\r\n saveProjectFunders() {\r\n var funderIds = this.funderModel.selectedFunders.map(f => f.id);\r\n var model = {\r\n projectId: this.projectId,\r\n funderIds: funderIds\r\n };\r\n this.requestNo = this.storeService.getCurrentRequestId();\r\n this.projectService.addProjectFunder(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.projectFunders = [];\r\n this.funderModel.selectedFunders.forEach((f) => {\r\n this.projectFunders.push({\r\n funderId: f.id,\r\n funder: f.organizationName\r\n });\r\n });\r\n this.updateFundersToParent();\r\n this.saveProjectImplementers();\r\n } else {\r\n this.blockUI.stop();\r\n }\r\n }\r\n );\r\n }\r\n\r\n saveProjectFundersFromSource() {\r\n if (this.sourceFundersList.length > 0) {\r\n var model = {\r\n projectId: this.projectId,\r\n funders: this.sourceFundersList\r\n }\r\n\r\n this.blockUI.start('Saving funders...');\r\n this.requestNo = this.storeService.getCurrentRequestId();\r\n this.projectService.addProjectFunderFromSource(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.sourceFundersList = [];\r\n this.getProjectFunders(true);\r\n }\r\n }\r\n );\r\n } else {\r\n this.showProjectData();\r\n }\r\n }\r\n\r\n saveProjectImplementersFromSource() {\r\n if (this.sourceImplementersList.length > 0) {\r\n var model = {\r\n projectId: this.projectId,\r\n implementers: this.sourceImplementersList\r\n }\r\n\r\n this.blockUI.start('Saving implementers...');\r\n this.requestNo = this.storeService.getCurrentRequestId();\r\n this.projectService.addProjectImplementerFromSource(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.sourceImplementersList = [];\r\n this.getProjectImplementers(true);\r\n }\r\n }\r\n );\r\n } else {\r\n this.showProjectData();\r\n }\r\n }\r\n\r\n saveProjectImplementers() {\r\n var implementerIds = this.implementerModel.selectedImplementers.map(i => i.id);\r\n var model = {\r\n projectId: this.projectId,\r\n implementerIds: implementerIds\r\n };\r\n this.requestNo = this.storeService.getCurrentRequestId();\r\n this.projectService.addProjectImplementer(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.projectImplementers = [];\r\n this.implementerModel.selectedImplementers.forEach((i) => {\r\n this.projectImplementers.push({\r\n implementerId: i.id,\r\n implementer: i.organizationName\r\n });\r\n });\r\n this.updateImplementersToParent();\r\n this.saveProjectDocuments();\r\n } else {\r\n this.blockUI.stop();\r\n }\r\n }\r\n );\r\n }\r\n\r\n cancelSaving() {\r\n this.modalService.close('confirmation-modal');\r\n this.modalService.close('confirmation-modal-source');\r\n }\r\n\r\n createProjectDisbursements() {\r\n this.projectService.createProjectDisbursements(this.projectId.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.updateDisbursementsToParent(data);\r\n this.calculateDisbursements();\r\n }\r\n }\r\n );\r\n }\r\n\r\n adjustProjectDisbursements() {\r\n this.projectService.adjustProjectDisbursements(this.projectId.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.updateDisbursementsToParent(data);\r\n this.calculateDisbursements();\r\n }\r\n }\r\n );\r\n }\r\n\r\n updateDisbursementsToParent(disbursements: any) {\r\n this.disbursementsChanged.emit(disbursements);\r\n }\r\n\r\n getProjectFunders(isDBSync: any = false) {\r\n if (this.projectId) {\r\n this.requestNo = this.storeService.getCurrentRequestId();\r\n this.projectService.getProjectFunders(this.projectId.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.projectFunders = data;\r\n if (isDBSync) {\r\n this.funderModel.selectedFunders = [];\r\n \r\n this.projectFunders.forEach((f) => {\r\n this.funderModel.selectedFunders.push({\r\n id: f.funderId,\r\n organizationName: f.funder\r\n });\r\n });\r\n this.blockUI.stop();\r\n this.showProjectData();\r\n }\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n getProjectImplementers(isDBSync: any = false) {\r\n if (this.projectId) {\r\n this.requestNo = this.storeService.getCurrentRequestId();\r\n this.projectService.getProjectImplementers(this.projectId.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.projectImplementers = data;\r\n if (isDBSync) {\r\n this.implementerModel.selectedImplementers = [];\r\n \r\n this.projectImplementers.forEach((i) => {\r\n this.implementerModel.selectedImplementers.push({\r\n id: i.implementerId,\r\n organizationName: i.implementer\r\n });\r\n });\r\n this.blockUI.stop();\r\n this.showProjectData();\r\n }\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n saveProjectDocuments() {\r\n var newDocuments = this.projectDocuments.filter(d => d.id <= 0);\r\n if (newDocuments.length > 0) {\r\n var model = {\r\n projectId: this.projectId,\r\n documents: newDocuments\r\n };\r\n\r\n this.requestNo = this.storeService.getCurrentRequestId();\r\n this.projectService.addProjectDocument(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.getProjectDocuments();\r\n } else {\r\n this.blockUI.stop();\r\n }\r\n }\r\n );\r\n } else {\r\n this.blockUI.stop();\r\n }\r\n }\r\n\r\n saveProjectDocumentsFromSource() {\r\n if (this.sourceDocumentsList.length > 0) {\r\n var model = {\r\n projectId: this.projectId,\r\n documents: this.sourceDocumentsList\r\n }\r\n\r\n this.blockUI.start('Saving documents...');\r\n this.requestNo = this.storeService.getCurrentRequestId();\r\n this.projectService.addProjectDocument(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.sourceDocumentsList = [];\r\n this.getProjectDocuments();\r\n this.showProjectData();\r\n }\r\n }\r\n );\r\n } else {\r\n this.showProjectData();\r\n }\r\n }\r\n\r\n addResource() {\r\n if (!this.documentModel.document) {\r\n this.errorMessage = 'Resource name is required';\r\n this.errorModal.openModal();\r\n return false;\r\n } else if (!this.documentModel.documentUrl) {\r\n this.errorMessage = 'Resource url is required';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.projectDocuments.unshift({\r\n id: (--this.resourceTempId),\r\n documentTitle: this.documentModel.document,\r\n documentUrl: this.documentModel.documentUrl\r\n });\r\n this.documentModel.document = null;\r\n this.documentModel.documentUrl = null;\r\n }\r\n\r\n removeResource(id) {\r\n if (id) {\r\n this.projectDocuments = this.projectDocuments.filter(d => d.id != id);\r\n }\r\n }\r\n\r\n getProjectDocuments() {\r\n this.projectService.getProjectDocuments(this.projectId.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.projectDocuments = data;\r\n this.updateDocumentsToParent();\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n deleteResource(id) {\r\n if (id) {\r\n this.blockUI.start('Deleting resource');\r\n this.requestNo = this.storeService.getCurrentRequestId();\r\n this.projectService.deleteProjectDocument(id).subscribe(\r\n data => {\r\n if (data) {\r\n this.projectDocuments = this.projectDocuments.filter(d => d.id != id);\r\n this.updateDocumentsToParent();\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n /* Showing tabs, tabs management*/\r\n showProjectData() {\r\n this.manageTabsDisplay(this.tabConstants.PROJECT);\r\n }\r\n\r\n showProjectSource(source: number) {\r\n this.currentSource = source;\r\n this.manageTabsDisplay(this.tabConstants.PROJECT_SOURCE);\r\n }\r\n\r\n showFundersSource() {\r\n this.manageTabsDisplay(this.tabConstants.FUNDERS_SOURCE);\r\n }\r\n\r\n showImplementersSource() {\r\n this.manageTabsDisplay(this.tabConstants.IMPLEMENTERS_SOURCE);\r\n }\r\n\r\n showDocumentsSource() {\r\n this.manageTabsDisplay(this.tabConstants.DOCUMENTS_SOURCE);\r\n }\r\n\r\n manageTabsDisplay(tabIdentity) {\r\n for (var i = 0; i < this.displayTabs.length; i++) {\r\n var tab = this.displayTabs[i];\r\n if (tab.identity == tabIdentity) {\r\n tab.visible = true;\r\n this.currentTab = tabIdentity;\r\n } else {\r\n tab.visible = false;\r\n }\r\n }\r\n }\r\n\r\n /*Sending updated data to parent*/\r\n updateFundersToParent() {\r\n this.projectFundersChanged.emit(this.projectFunders);\r\n }\r\n\r\n updateImplementersToParent() {\r\n this.projectImplementersChanged.emit(this.projectImplementers);\r\n }\r\n\r\n updateDocumentsToParent() {\r\n this.projectDocumentsChanged.emit(this.projectDocuments);\r\n }\r\n\r\n updateProjectIdToParent() {\r\n this.projectCreated.emit(this.projectId);\r\n }\r\n\r\n proceedToNext() {\r\n this.proceedToFinancials.emit();\r\n }\r\n\r\n /*Handling IATI Stuff*/\r\n enterProjectTitleAIMS(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.aimsProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n this.projectData.title = selectedProject[0].title.trim();\r\n }\r\n }\r\n\r\n enterProjectDescAIMS(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.aimsProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n this.projectData.description = selectedProject[0].description.trim();\r\n }\r\n this.getDescriptionLimitInfo();\r\n }\r\n\r\n enterCurrencyAIMS(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var selectProject = this.aimsProjects.filter(p => p.id == projectId);\r\n if (selectProject.length > 0) {\r\n this.projectData.projectCurrency = selectProject[0].projectCurrency;\r\n if (this.projectData.projectCurrency) {\r\n this.getExchangeRateForCurrency();\r\n }\r\n }\r\n }\r\n\r\n enterStartYear(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.aimsProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n this.projectData.startingFinancialYear = selectedProject[0].startingFinancialYear;\r\n }\r\n }\r\n\r\n enterEndYear(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.aimsProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n this.projectData.endingFinancialYear = selectedProject[0].endingFinancialYear;\r\n }\r\n }\r\n\r\n enterStartDate(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.aimsProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n this.projectData.startDate = this.formatDateToYMD(selectedProject[0].startDate);\r\n }\r\n }\r\n\r\n enterEndDate(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.aimsProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n this.projectData.endDate = this.formatDateToYMD(selectedProject[0].endDate);\r\n }\r\n }\r\n\r\n enterProjectValueAIMS(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.aimsProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n this.projectData.projectValue = selectedProject[0].projectValue;\r\n }\r\n }\r\n\r\n enterProjectValueIATI(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.iatiProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n this.projectData.projectValue = selectedProject[0].projectValue;\r\n }\r\n }\r\n\r\n enterStartDateIATI(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.iatiProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n var sDate = new Date(selectedProject[0].startDate);\r\n var sDateStr = (sDate.getMonth() + 1) + '/' + sDate.getDate() + '/' + sDate.getFullYear();\r\n this.projectData.startDate = this.formatDateToYMD(sDateStr);\r\n }\r\n }\r\n\r\n enterEndDateIATI(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.iatiProjects.filter(p => p.id == id);\r\n if (selectedProject && selectedProject.length > 0) {\r\n var eDate = new Date(selectedProject[0].endDate);\r\n var eDateStr = ((eDate.getMonth() + 1) + '/' + eDate.getDate() + '/' + eDate.getFullYear());\r\n this.projectData.endDate = this.formatDateToYMD(eDateStr);\r\n }\r\n }\r\n\r\n enterProjectTitleIATI(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.iatiProjects.filter(p => p.id == id);\r\n if (selectedProject) {\r\n this.projectData.title = selectedProject[0].title.trim();\r\n }\r\n }\r\n\r\n enterCurrencyIATI(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var selectProject = this.iatiProjects.filter(p => p.id == projectId);\r\n if (selectProject.length > 0) {\r\n this.projectData.projectCurrency = selectProject[0].defaultCurrency;\r\n }\r\n }\r\n\r\n enterIATIBudget(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var budgetId = arr[2];\r\n\r\n var selectProject = this.iatiProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var budgets = selectProject[0].budgets;\r\n var selectedBudget = budgets.filter(b => b.id == budgetId);\r\n if (selectedBudget && selectedBudget.length > 0) {\r\n if (selectedBudget.length > 0) {\r\n this.projectData.projectValue = selectedBudget[0].amount;\r\n }\r\n }\r\n }\r\n }\r\n\r\n enterIATITransaction(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var transactionId = arr[2];\r\n\r\n var selectProject = this.iatiProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var transactions = selectProject[0].transactions;\r\n var selectedTransaction = transactions.filter(b => b.id == transactionId);\r\n if (selectedTransaction && selectedTransaction.length > 0) {\r\n if (selectedTransaction.length > 0) {\r\n this.projectData.projectValue = selectedTransaction[0].amount;\r\n }\r\n }\r\n }\r\n }\r\n\r\n enterProjectDescIATI(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedProject = this.iatiProjects.filter(p => p.id == id);\r\n if (selectedProject) {\r\n this.projectData.description = selectedProject[0].description.trim();\r\n }\r\n this.getDescriptionLimitInfo();\r\n }\r\n\r\n checkIfFunderAdded(funder) {\r\n var exists = [];\r\n if (this.projectFunders.length > 0) {\r\n exists = this.projectFunders.filter(f =>\r\n f.funder.trim().toLowerCase() == funder.trim().toLowerCase());\r\n return exists.length > 0 ? true : false;\r\n }\r\n }\r\n\r\n checkIfImplementerAdded(implementer) {\r\n var exists = [];\r\n if (this.projectImplementers.length > 0) {\r\n exists = this.projectImplementers.filter(i =>\r\n i.implementer.trim().toLowerCase() == implementer.trim().toLowerCase());\r\n return exists.length > 0 ? true : false;\r\n }\r\n }\r\n\r\n addFunderToList(funder) {\r\n if (this.sourceFundersList.includes(funder)) {\r\n this.sourceFundersList = this.sourceFundersList.filter(f => f != funder);\r\n } else {\r\n this.sourceFundersList.push(funder);\r\n }\r\n }\r\n\r\n addImplementerToList(implementer) {\r\n if (this.sourceImplementersList.includes(implementer)) {\r\n this.sourceImplementersList = this.sourceImplementersList.filter(i => i != implementer);\r\n } else {\r\n this.sourceImplementersList.push(implementer);\r\n }\r\n }\r\n\r\n checkIfFunderInActionList(funder) {\r\n var result = this.sourceFundersList.filter(f => f.toLowerCase() == funder.toLowerCase()).length > 0 ? true : false;\r\n return result;\r\n }\r\n\r\n checkIfImplementerInActionList(implementer) {\r\n var result = this.sourceImplementersList.filter(i => i.toLowerCase() == implementer.toLowerCase()).length > 0 ? true : false;\r\n return result;\r\n }\r\n\r\n removeFunderFromList(funder) {\r\n this.sourceFundersList = this.sourceFundersList.filter(f => f.toLowerCase() != funder.toLowerCase());\r\n }\r\n\r\n checkIfDocumentAdded(documentTitle, documentUrl) {\r\n if (this.projectDocuments.length > 0) {\r\n var isExists = this.projectDocuments.filter(d =>\r\n d.documentTitle.trim().toLowerCase() == documentTitle.trim().toLowerCase() ||\r\n d.documentUrl.trim().toLowerCase() == documentUrl.trim().toLowerCase());\r\n return isExists.length > 0 ? true : false;\r\n }\r\n }\r\n\r\n addDocumentToList(documentTitle, documentUrl) {\r\n var isDocumentAdded = [];\r\n\r\n if (this.sourceDocumentsList.length > 0) {\r\n isDocumentAdded = this.sourceDocumentsList.filter(d => d.documentTitle.toLowerCase() == documentTitle.toLowerCase() ||\r\n d.documentUrl.toLowerCase() == documentUrl.toLowerCase()); \r\n\r\n if (isDocumentAdded.length > 0) {\r\n this.sourceDocumentsList = this.sourceDocumentsList.filter(d => d.documentTitle.toLowerCase() != documentTitle.toLowerCase() &&\r\n d.documentUrl.toLowerCase() != documentUrl.toLowerCase()); \r\n }\r\n }\r\n \r\n if (isDocumentAdded.length == 0) {\r\n this.sourceDocumentsList.push({\r\n documentTitle: documentTitle,\r\n documentUrl: documentUrl\r\n });\r\n }\r\n }\r\n\r\n checkIfDocumentInActionList(documentTitle, documentUrl) {\r\n var result = false;\r\n if (this.sourceDocumentsList.length > 0) {\r\n result = this.sourceDocumentsList.filter(d => \r\n d.documentTitle.toLowerCase() == documentTitle.toLowerCase() ||\r\n d.documentUrl.toLowerCase() == documentUrl.toLowerCase()).length > 0 ? true : false;\r\n }\r\n return result;\r\n }\r\n\r\n checkIfDocumentInvalid(document, url) {\r\n return (!document || !url) ? true : false;\r\n }\r\n\r\n\r\n viewAIMSProject(e) {\r\n var projectId = e.target.id.split('-')[1];\r\n if (projectId && projectId != 0) {\r\n this.aimsProjectId = projectId;\r\n this.isShowContact = false;\r\n var selectProject = this.aimsProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var projectData = selectProject[0];\r\n var project = {\r\n title: projectData.title,\r\n description: projectData.description,\r\n startDate: projectData.startDate,\r\n endDate: projectData.endDate\r\n }\r\n this.viewProject = projectData;\r\n this.viewProjectFunders = projectData.funders;\r\n this.viewProjectLocations = projectData.locations;\r\n this.viewProjectSectors = projectData.sectors;\r\n this.viewProjectImplementers = projectData.implementers;\r\n this.viewProjectDocuments = projectData.documents;\r\n this.viewProjectMarkers = projectData.markers;\r\n this.projectInfoModal.openModal();\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n viewIATIProject(e) {\r\n var projectId = e.target.id.split('-')[1];\r\n if (projectId && projectId != 0) {\r\n var selectProject = this.iatiProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var projectData = selectProject[0];\r\n var project = {\r\n title: projectData.title,\r\n description: projectData.description,\r\n defaultCurrency: projectData.defaultCurrency,\r\n }\r\n this.viewProject = project;\r\n this.viewProjectLocations = projectData.locations;\r\n this.viewProjectSectors = projectData.sectors;\r\n this.viewProjectFunders = projectData.funders;\r\n this.viewProjectImplementers = projectData.implementers;\r\n this.viewProjectDocuments = projectData.documents;\r\n this.viewProjectBudgets = projectData.budgets;\r\n this.viewProjectTransactions = projectData.transactions;\r\n this.projectIATIInfoModal.openModal();\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n openCreateOrg(e) {\r\n e.preventDefault();\r\n this.orgModal.openModal();\r\n }\r\n\r\n updateFundersImplementers(newOrganizations) {\r\n if (newOrganizations && newOrganizations.length > 0) {\r\n newOrganizations.forEach((model) => {\r\n this.organizationsList = this.organizationsList.concat({\r\n id: model.id,\r\n organizationTypeId: model.organizationTypeId,\r\n organizationName: model.organizationName,\r\n sourceType: model.sourceType\r\n });\r\n });\r\n }\r\n }\r\n\r\n formatToLongDate(dated: string) {\r\n return this.storeService.getLongDateString(dated);\r\n }\r\n\r\n formatNumber(value: number) {\r\n return this.storeService.getNumberWithCommas(value);\r\n }\r\n\r\n formatDateToYMD(dated: string) {\r\n return this.storeService.convertToDateInputFormat(dated);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n Project title is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n Start date is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n End date is required\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n Project currency is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n 0 && (totalDisbursementsValue > 0)\" class=\"margin-left-2\"\r\n tooltip=\"{{invalidDisbursementsMessage}}\" [options]=\"tooltipOptions\">\r\n \r\n \r\n
\r\n
\r\n Project value is required\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n Funding type is required\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n  \r\n \r\n \r\n \r\n Add an organisation which is not listed\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n 0\" class=\"table table-striped small margin-top-5\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Resource nameLinkAction
{{document.documentTitle}}{{document.documentUrl}}\r\n \r\n 0\">\r\n \r\n
\r\n No resource links to show\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Source projects
\r\n
\r\n
\r\n Wait loading aims data...\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Project title: {{project.title | truncate}}  \r\n  \r\n View\r\n details
\r\n
\r\n \r\n Start date: {{formatToLongDate(project.startDate)}} \r\n \r\n \r\n \r\n End date: {{formatToLongDate(project.endDate)}} \r\n \r\n
\r\n \r\n Project value: {{project.projectValue}}   \r\n \r\n \r\n \r\n Currency: {{project.projectCurrency}}   \r\n \r\n
\r\n \r\n Description: {{project.description | truncate}}  \r\n \r\n \r\n  \r\n AIMS\r\n
\r\n
\r\n\r\n \r\n \r\n Wait loading iati data...\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Project title: {{project.title | truncate}}  \r\n  \r\n View\r\n details\r\n
\r\n \r\n Start date: {{project.startDate}} >>\r\n \r\n \r\n \r\n End date: {{project.endDate}} >>\r\n \r\n
\r\n \r\n \r\n \r\n\r\n 0\">Budgets\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TypeDatedAmountAction
{{budget.budgetType}}{{formatToLongDate(budget.dated)}}{{formatNumber(budget.amount)}}\r\n \r\n
\r\n
\r\n
\r\n \r\n Currency: {{project.defaultCurrency}}   \r\n \r\n \r\n \r\n IATI\r\n \r\n
\r\n \r\n Description {{project.description | truncate}}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
Project data
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n Project title is required\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n Start date is required\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n End date is required\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n Project currency is required\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Project value is required\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n  \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Project title: {{project.title}}\r\n
\r\n AIMS\r\n\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Funder nameAction
\r\n {{funder.funder}}\r\n \r\n \r\n
\r\n
No funders from AIMS found.
\r\n
\r\n\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n Project title: {{project.title}}\r\n
\r\n\r\n
IATI
\r\n
\r\n 0\" class=\"table table-striped margin-top-5\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Funder nameAction
\r\n {{funder.name}}\r\n \r\n \r\n
\r\n
\r\n No funders to show.\r\n
\r\n
\r\n\r\n
\r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n  \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Project title: {{project.title}}\r\n
\r\n AIMS\r\n\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Implementer nameAction
\r\n {{implementer.implementer}}\r\n \r\n \r\n
\r\n
No implementers from AIMS found.\r\n
\r\n
\r\n\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n Project title: {{project.title}}\r\n
\r\n\r\n
IATI
\r\n
\r\n 0\" class=\"table table-striped margin-top-5\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Implementer nameAction
\r\n {{implementer.name}}\r\n \r\n \r\n
\r\n
\r\n No implementers to show.\r\n
\r\n
\r\n\r\n
\r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n  \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Project title: {{project.title}}\r\n
\r\n AIMS\r\n\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ResrouceResource linkAction
\r\n {{document.documentTitle}}\r\n \r\n {{document.documentUrl}}\r\n \r\n \r\n
\r\n
No resources from AIMS found.\r\n
\r\n
\r\n\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n Project title: {{project.title}}\r\n
\r\n\r\n
IATI
\r\n
\r\n 0\" class=\"table table-striped margin-top-5\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Resource nameResource linkAction
\r\n {{document.documentTitle}}\r\n \r\n {{document.documentUrl}}\r\n \r\n \r\n
\r\n
\r\n No resources to show.\r\n
\r\n
\r\n\r\n
\r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
Confirmation Message
\r\n
\r\n You have changed the dates in a way that will change the financial years for this project \r\n and will delete disbursements for years not covered by the new dates. Please confirm this change.\r\n
\r\n

\r\n \r\n  \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
Confirmation Message
\r\n
\r\n You have changed the dates in a way that will change the financial years for this project \r\n and will delete disbursements for years not covering the dates. Please be sure you are \r\n performing the right action.\r\n
\r\n

\r\n \r\n  \r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Settings } from '../config/settings';\r\nimport { HomePageService } from '../services/home-page.service';\r\nimport { StoreService } from '../services/store-service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\n\r\n@Component({\r\n selector: 'app-home-page-settings',\r\n templateUrl: './home-page-settings.component.html',\r\n styleUrls: ['./home-page-settings.component.css']\r\n})\r\nexport class HomePageSettingsComponent implements OnInit {\r\n introductionLimit: number = Settings.introductionLimit;\r\n introductionLimitLeft: number = Settings.introductionLimit;\r\n permissions: any = {};\r\n requestNo: number = 0;\r\n errorMessage: string = null;\r\n isSuccess: boolean = false;\r\n successMessage: string = 'Home page settings saved successfully';\r\n model: any = { aimsTitle: null, introductionHeading: null, introductionText: null,\r\n aimsTitleBarText: null };\r\n \r\n @BlockUI() blockUI: NgBlockUI;\r\n \r\n constructor(private homePageService: HomePageService, private storeService: StoreService,\r\n private securityService: SecurityHelperService, private router: Router,\r\n private errorModal: ErrorModalComponent) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditCurrency) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n this.getHomePageSettings();\r\n }\r\n\r\n getHomePageSettings() {\r\n this.blockUI.start('Loading data...');\r\n this.homePageService.getHomePageSettings().subscribe(\r\n data => {\r\n if (data) {\r\n this.model = data;\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n saveHomePageSettings() {\r\n this.isSuccess = false;\r\n this.blockUI.start('Saving settings');\r\n this.homePageService.setHomePageSettings(this.model).subscribe(\r\n data => {\r\n if (data) {\r\n this.isSuccess = true;\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n getIntroductionLimitInfo() {\r\n this.introductionLimitLeft = (this.introductionLimit - this.model.introductionText.length);\r\n if (this.introductionLimitLeft < 0) {\r\n this.model.introductionText = this.model.introductionText.substring(0, (this.introductionLimit - 1));\r\n }\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Information! {{successMessage}}\r\n
\r\n
Home page settings
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n AIMS title bar text is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n AIMS title is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Introduction heading is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Messages } from '../config/messages';\r\n\r\n@Component({\r\n selector: 'app-project-document',\r\n templateUrl: './project-document.component.html',\r\n styleUrls: ['./project-document.component.css']\r\n})\r\nexport class ProjectDocumentComponent implements OnInit {\r\n\r\n @Input()\r\n isBtnDisabled: boolean = false;\r\n btnText: string = 'Add Project Document';\r\n errorMessage: string = '';\r\n documents: any = [];\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n model = { projectId: 0, documentTitle: null, documentUrl: null };\r\n\r\n constructor(private projectService: ProjectService, private route: ActivatedRoute,\r\n private router: Router,\r\n private storeService: StoreService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.route.snapshot.data) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Add Project Document';\r\n this.model.projectId = id;\r\n } else {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n \r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n saveProjectDocument() {\r\n var model = {\r\n ProjectId: this.model.projectId,\r\n DocumentTitle: this.model.documentTitle,\r\n DocumentUrl: this.model.documentUrl,\r\n };\r\n\r\n this.isBtnDisabled = true;\r\n this.btnText = 'Saving...';\r\n this.projectService.addProjectDocument(model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n var message = 'New project document ' + Messages.NEW_RECORD;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('view-project/' + this.model.projectId);\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.resetFormState();\r\n }\r\n );\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n this.btnText = 'Add Project Document';\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
New Project Document
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n Document title is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Document url is required\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Messages } from '../config/messages';\r\nimport { LocationService } from '../services/location.service';\r\n\r\n@Component({\r\n selector: 'app-project-location',\r\n templateUrl: './project-location.component.html',\r\n styleUrls: ['./project-location.component.css']\r\n})\r\nexport class ProjectLocationComponent implements OnInit {\r\n\r\n @Input()\r\n isBtnDisabled: boolean = false;\r\n btnText: string = 'Add Project Location';\r\n errorMessage: string = '';\r\n locations: any = [];\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n model = { projectId: 0, locationId: null, percentage: null };\r\n\r\n constructor(private projectService: ProjectService, private route: ActivatedRoute,\r\n private router: Router, private locationService: LocationService,\r\n private storeService: StoreService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.route.snapshot.data) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Add Project Location';\r\n this.model.projectId = id;\r\n this.loadLocations();\r\n } else {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n \r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n loadLocations() {\r\n this.locationService.getLocationsList().subscribe(\r\n data => {\r\n this.locations = data;\r\n },\r\n error => {\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n\r\n saveProjectLocation() {\r\n var model = {\r\n ProjectId: this.model.projectId,\r\n LocationId: this.model.locationId,\r\n FundsPercentage: this.model.percentage,\r\n };\r\n\r\n this.isBtnDisabled = true;\r\n this.btnText = 'Saving...';\r\n this.projectService.addProjectLocation(model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n var message = 'New project location ' + Messages.NEW_RECORD;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('view-project/' + this.model.projectId);\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.resetFormState();\r\n }\r\n );\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n this.btnText = 'Add Project Location';\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
New Project Location
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Location is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Fund percentage is required\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { MarkerService } from '../services/marker.service';\r\nimport { Settings } from '../config/settings';\r\nimport { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { Messages } from '../config/messages';\r\n\r\n@Component({\r\n selector: 'app-manage-markers',\r\n templateUrl: './manage-markers.component.html',\r\n styleUrls: ['./manage-markers.component.css']\r\n})\r\nexport class ManageMarkersComponent implements OnInit {\r\n isBtnDisbaled: boolean = false;\r\n requestNo: number = 0;\r\n fieldTypes: any = [];\r\n dateModel: NgbDateStruct;\r\n isForEdit: boolean = false;\r\n btnText: string = 'Save marker';\r\n tabText: string = 'Create new';\r\n fieldId: number = 0;\r\n errorMessage: string = null;\r\n isError: boolean = false;\r\n permissions: any = {};\r\n isManyValuesDisplay: boolean = false;\r\n isTwoValuesDisplay: boolean = false;\r\n autoIncrement: number = 0;\r\n calendarMaxDate: any = {};\r\n isNewValueFocus: boolean = false;\r\n originalOptionValues: any = [];\r\n helpTextLength: number = Settings.helpTextLength;\r\n \r\n model: any = { fieldType: null, fieldTitle: null, optionValues: [],\r\n optionValue1: null, optionValue2: null, newValue: null, help: null };\r\n\r\n constructor(private markerService: MarkerService, private route: ActivatedRoute,\r\n private router: Router, private storeService: StoreService,\r\n private securityService: SecurityHelperService, private errorModal: ErrorModalComponent) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditCustomFields) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.calendarMaxDate = this.storeService.getCalendarUpperLimit();\r\n this.fieldTypes = Settings.markerTypes;\r\n if (this.route.snapshot.data && this.route.snapshot.data.isForEdit) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Save marker';\r\n this.tabText = 'Edit marker';\r\n this.isForEdit = true;\r\n this.fieldId = id;\r\n this.markerService.getMarkerById(id).subscribe(\r\n data => {\r\n this.model.typeId = data.fieldType;\r\n this.model.fieldTitle = data.fieldTitle;\r\n this.model.help = data.help;\r\n if (data.values) {\r\n this.model.optionValues = JSON.parse(data.values);\r\n }\r\n \r\n if (this.model.optionValues.length > 0) {\r\n var ids = this.model.optionValues.map(v => parseInt(v.id));\r\n var id = Math.max.apply(null, ids);\r\n if (id) {\r\n this.autoIncrement = id;\r\n }\r\n this.model.optionValues.forEach(val => this.originalOptionValues.push(val.id));\r\n }\r\n\r\n /*var activeFrom = new Date(data.activeFrom);\r\n var activeUpto = new Date(data.activeUpto);\r\n this.model.activeFrom = { year: activeFrom.getFullYear(), month: (activeFrom.getMonth() + 1), day: activeFrom.getDate() };\r\n this.model.activeUpto = { year: activeUpto.getFullYear(), month: (activeUpto.getMonth() + 1), day: activeUpto.getDate() };*/\r\n this.setFieldTypeDisplay();\r\n },\r\n error => {\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n setFieldTypeDisplay() {\r\n var type = this.model.typeId;\r\n var typeId = parseInt(type);\r\n\r\n switch(typeId) {\r\n case 1:\r\n case 2:\r\n case 4:\r\n this.isManyValuesDisplay = true;\r\n this.isTwoValuesDisplay = false;\r\n break;\r\n \r\n case 5:\r\n this.isTwoValuesDisplay = true;\r\n this.isManyValuesDisplay = false;\r\n break;\r\n\r\n default:\r\n this.isTwoValuesDisplay = false;\r\n this.isManyValuesDisplay = false;\r\n break;\r\n }\r\n }\r\n\r\n addValue() {\r\n this.isNewValueFocus = false;\r\n var isValueExist = this.model.optionValues.filter(v => v.value.toLowerCase().trim() == this.model.newValue.toLowerCase().trim());\r\n if (isValueExist.length == 0) {\r\n ++this.autoIncrement;\r\n var model = {\r\n id: this.autoIncrement,\r\n value: this.model.newValue\r\n };\r\n this.model.optionValues.push(model);\r\n this.model.newValue = null;\r\n }\r\n setTimeout(() => {\r\n this.isNewValueFocus = true;\r\n }, 2000);\r\n }\r\n\r\n removeValue(e) {\r\n var id = e.currentTarget.id.split('-')[1];\r\n this.model.optionValues = this.model.optionValues.filter(o => o.id != id);\r\n }\r\n\r\n saveMarker() {\r\n if (this.isManyValuesDisplay && this.model.optionValues.length == 0) {\r\n this.errorMessage = Messages.INVALID_OPTIONS_LIST;\r\n this.errorModal.openModal();\r\n return false;\r\n } else if(this.isTwoValuesDisplay && (!this.model.optionValue1 || !this.model.optionValue2)) {\r\n this.errorMessage = Messages.INVALID_RADIO_VALUES;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.isBtnDisbaled = true;\r\n var values = null;\r\n if (this.isManyValuesDisplay) {\r\n values = JSON.stringify(this.model.optionValues);\r\n } else if (this.isTwoValuesDisplay) {\r\n var valuesModel = [{\r\n id: 1,\r\n value: this.model.optionValue1, \r\n }, {\r\n id: 2,\r\n value: this.model.optionValue2\r\n }];\r\n\r\n values = JSON.stringify(valuesModel);\r\n }\r\n\r\n var newModel = {\r\n fieldTitle: this.model.fieldTitle,\r\n fieldType: parseInt(this.model.typeId),\r\n values: values,\r\n help: this.model.help\r\n };\r\n\r\n if (this.isForEdit) {\r\n this.btnText = 'Updating...';\r\n this.markerService.updateMarker(this.fieldId.toString(), newModel).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('markers');\r\n }\r\n this.isBtnDisbaled = false;\r\n }\r\n );\r\n } else {\r\n this.btnText = 'Saving...';\r\n this.markerService.saveMarker(newModel).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('markers');\r\n }\r\n this.isBtnDisbaled = false;\r\n }\r\n );\r\n }\r\n }\r\n\r\n isAlreadySaved(vid: any) {\r\n return this.originalOptionValues.includes(vid);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
Marker
\r\n\r\n
\r\n\r\n
\r\n \r\n (Max length: 50)\r\n
\r\n Field title is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Field type is required\r\n
\r\n
\r\n\r\n
\r\n \r\n (Max length: {{helpTextLength}})\r\n
\r\n Help is required\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n  \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
(Max length: 30)
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Values list for selected marker
\r\n\r\n
\r\n 0\">\r\n \r\n \r\n \r\n \r\n
{{val.value}}\r\n \r\n
\r\n No values added yet\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n","export class Organization {\r\n constructor(public id: number, public organizationName: string) { }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MarkerService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) { }\r\n\r\n\r\n getMarkers() {\r\n var url = this.urlHelper.getMarkerUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Custom Fields')));\r\n }\r\n\r\n getMarkerById(id: string) {\r\n var url = this.urlHelper.getMarkerByIdUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Custom Field')));\r\n }\r\n\r\n getActiveMarkers() {\r\n var url = this.urlHelper.getActiveMarkersUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Custom Fields')));\r\n }\r\n\r\n getMarkerProjects(id: string) {\r\n var url = this.urlHelper.getFieldProjectsUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Custom Field Projects')));\r\n }\r\n \r\n saveMarker(model: any) {\r\n var url = this.urlHelper.getMarkerUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Custom Field')));\r\n }\r\n\r\n updateMarker(id: string, model: any) {\r\n var url = this.urlHelper.getMarkerByIdUrl(id);\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Custom Field')));\r\n }\r\n\r\n deleteMarker(id: number) {\r\n var url = this.urlHelper.getDeleteMarkerUrl(id.toString());\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Custom Field')));\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UrlHelperService } from \"./url-helper-service\";\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, catchError, tap } from 'rxjs/operators';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { httpOptions } from '../config/httpoptions';\r\nimport { StoreService } from './store-service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationService {\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService, \r\n private storeService: StoreService) { \r\n }\r\n\r\n getUserNotifications() {\r\n var url = this.urlHelper.getNotificationsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Notifications')));\r\n }\r\n\r\n getNotificationsCount() {\r\n var url = this.urlHelper.getNotificationsCountUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Notifications Count')));\r\n }\r\n\r\n markNotificationsRead(model: any) {\r\n var url = this.urlHelper.markNotificationsReadUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Mark Notifications Read')));\r\n }\r\n\r\n deleteNotifications(model: any) {\r\n var url = this.urlHelper.deleteNotificationsUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Notifications')));\r\n }\r\n\r\n activateUserAccount(userId: number, notificationId: number) {\r\n var model = {\r\n UserId: userId,\r\n NotificationId: notificationId\r\n };\r\n\r\n var url = this.urlHelper.userAccountActivationUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('User Activation')));\r\n }\r\n\r\n activateUserWithInactiveOrganization(userId: number, notificationId: number) {\r\n var model = {\r\n UserId: userId,\r\n NotificationId: notificationId\r\n };\r\n\r\n var url = this.urlHelper.userAccountLimitedActivationUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('User Activation')));\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HomePageService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) {\r\n\r\n }\r\n\r\n setHomePageSettings(model: any) {\r\n var url = this.urlHelper.setHomePageSettingsUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Home Page Settings'))\r\n );\r\n }\r\n\r\n getHomePageSettings() {\r\n var url = this.urlHelper.getHomePageSettingsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Home Page Settings')));\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { StoreService } from '../services/store-service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { Messages } from '../config/messages';\r\n\r\n@Component({\r\n selector: 'app-project-membership',\r\n templateUrl: './project-membership.component.html',\r\n styleUrls: ['./project-membership.component.css']\r\n})\r\nexport class ProjectMembershipComponent implements OnInit {\r\n projectData: any = {};\r\n selectedProjectId: number = 0;\r\n isShowSuccessMessage: boolean = false;\r\n requestNo: number = 0;\r\n successMessage: string = Messages.MEMBERSHIP_REQUEST_MESSAGE;\r\n errorMessage: string = null;\r\n isError: boolean = false;\r\n btnText: string = 'Apply for project membership';\r\n @BlockUI() blockUI: NgBlockUI;\r\n \r\n constructor(private router: Router, private route: ActivatedRoute, \r\n private projectService: ProjectService, private errorModal: ErrorModalComponent,\r\n private storeService: StoreService) { }\r\n\r\n ngOnInit() {\r\n if (this.route.snapshot.data) {\r\n this.selectedProjectId = this.route.snapshot.params[\"{id}\"];\r\n if (this.selectedProjectId) {\r\n this.loadProject(this.selectedProjectId);\r\n } else {\r\n this.router.navigateByUrl('home');\r\n }\r\n } else {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n }\r\n\r\n applyForProjectMembership() {\r\n this.blockUI.start('Wait submitting request...');\r\n this.projectService.applyForProjectMembership(this.selectedProjectId).subscribe(\r\n data => {\r\n if (data) {\r\n this.isShowSuccessMessage = true;\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n loadProject(id) {\r\n this.projectService.getProject(id).subscribe(\r\n data => {\r\n if (data) {\r\n this.projectData = data;\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n displayLongDateString(dated) {\r\n return this.storeService.getLongDateString(dated);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
\r\n \r\n Information! {{successMessage}}\r\n
\r\n
\r\n \r\n You are not authorized to edit the project data. Apply for project membership in order to edit project data. \r\n
\r\n
Project information
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Project title{{projectData.title}}
Start date{{displayLongDateString(projectData.startDate)}}End date{{displayLongDateString(projectData.endDate)}}
Description{{projectData.description}}
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IATIService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService, \r\n private storeService: StoreService) { }\r\n\r\n getIATIActivities() {\r\n var url = this.urlHelper.getIATIActivitiesUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('IATIs')));\r\n }\r\n\r\n getFilteredIATIActivities(criteria: string) {\r\n var url = this.urlHelper.getFilteredIATIActivitiesUrl(criteria);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('IATIs')));\r\n }\r\n\r\n getOrganizations() {\r\n var url = this.urlHelper.getIATIOrganizationsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('IATI Organizations')));\r\n }\r\n\r\n getProjects() {\r\n var url = this.urlHelper.getIATIProjectsUrl();\r\n return this.httpClient.get(url, httpOptions);\r\n }\r\n\r\n getIATISettings() {\r\n var url = this.urlHelper.getIATISettingsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('IATI Settings')));\r\n }\r\n\r\n getIATISettingsList() {\r\n var url = this.urlHelper.getIATISettingsListUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('IATI Settings')));\r\n }\r\n\r\n loadLatestIATI() {\r\n var url = this.urlHelper.getLoadLatestIATIUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('IATI Load')));\r\n }\r\n\r\n extractProjectsByIds(model: any) {\r\n var url = this.urlHelper.extractProjectsByIds();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('IATI Projects by Ids')));\r\n }\r\n\r\n setIATISettings(model: any) {\r\n var url = this.urlHelper.setIATISettingsUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('IATI Settings')));\r\n }\r\n\r\n getIATICountries() {\r\n var url = this.urlHelper.getCountriesUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Countries'))\r\n );\r\n }\r\n\r\n setActiveCountry(code: string) {\r\n var url = this.urlHelper.setActiveCountryUrl(code);\r\n return this.httpClient.post(url,\r\n JSON.stringify(code), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Setting Active Country')));\r\n }\r\n\r\n\r\n}\r\n","export class RequestModel {\r\n constructor(\r\n public requestNo : number,\r\n public errorStatus: number,\r\n public errorMessage: string\r\n ) {}\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { EmailMessageService } from '../services/email-message.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-manage-email-message',\r\n templateUrl: './manage-email-message.component.html',\r\n styleUrls: ['./manage-email-message.component.css']\r\n})\r\nexport class ManageEmailMessageComponent implements OnInit {\r\n isBtnDisabled: boolean = false;\r\n messageId: number = 0;\r\n btnText: string = 'Save message';\r\n errorMessage: string = '';\r\n requestNo: number = 0;\r\n isForEdit: boolean = false;\r\n isError: boolean = false;\r\n messagesList: any = [];\r\n model = { id: 0, messageType: null, subject: null, typeDefinition: null, message: null, footerMessage: null };\r\n entryForm: any = null;\r\n permissions: any = {};\r\n\r\n constructor(private storeService: StoreService, private route: ActivatedRoute,\r\n private messageService: EmailMessageService, private securityService: SecurityHelperService,\r\n private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditEmailMessage) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n\r\n if (this.route.snapshot.data && this.route.snapshot.data.isForEdit) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Save message';\r\n this.isForEdit = true;\r\n this.messageId = id;\r\n }\r\n }\r\n\r\n this.getEmailMessages();\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n getEmailMessages() {\r\n this.messageService.getEmailMessages().subscribe(\r\n data => {\r\n if (data) {\r\n this.messagesList = data;\r\n if (this.isForEdit) {\r\n var message = this.messagesList.filter(m => m.id == this.messageId);\r\n if (message.length > 0) {\r\n var messageData = message[0];\r\n this.model.messageType = messageData.messageType;\r\n this.model.typeDefinition = messageData.typeDefinition;\r\n this.model.subject = messageData.subject;\r\n this.model.message = messageData.message;\r\n this.model.footerMessage = messageData.footerMessage;\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n saveEmailMessage(frm: any) {\r\n this.entryForm = frm;\r\n this.btnText = 'Saving...';\r\n this.isBtnDisabled = true;\r\n\r\n if (this.isForEdit) {\r\n if (this.messageId) {\r\n this.messageService.updateEmailMessage(this.messageId.toString(), this.model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('email-messages');\r\n } else {\r\n this.resetFormState();\r\n }\r\n }\r\n );\r\n }\r\n } else {\r\n this.messageService.saveEmailMessage(this.model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('email-messages');\r\n } else {\r\n this.resetFormState();\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n this.btnText = 'Add message';\r\n this.entryForm.resetForm();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Email message
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Message type is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Subject is required\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n Message is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Footer message is required\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Message preview
\r\n

Dear User,

\r\n
\r\n
\r\n

\r\n Facts produced by the system\r\n

\r\n

\r\n {{model.footerMessage}}\r\n

\r\n

\r\n If you need further assistance, please submit a help request via the contact form in the AIMS.\r\n (If you do not set footer, this message will appear)\r\n

\r\n
AIMS Support Team
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { Organization } from '../models/organization-model';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { OrganizationService } from '../services/organization-service';\r\nimport { StoreService } from '../services/store-service';\r\nimport { startWith, map } from 'rxjs/operators';\r\nimport { Messages } from '../config/messages';\r\n\r\n@Component({\r\n selector: 'app-project-implementer',\r\n templateUrl: './project-implementer.component.html',\r\n styleUrls: ['./project-implementer.component.css']\r\n})\r\nexport class ProjectImplementerComponent implements OnInit {\r\n\r\n @Input()\r\n isBtnDisabled: boolean = false;\r\n btnText: string = 'Add Project Implementer';\r\n errorMessage: string = '';\r\n organizations: any = [];\r\n requestNo: number = 0;\r\n selectedOrganizationId: number = 0;\r\n isError: boolean = false;\r\n isLoading: boolean = false;\r\n model = { projectId: 0, organizationId: null };\r\n implementerSelectionForm: FormGroup;\r\n userInput = new FormControl();\r\n filteredOrganizations: Observable;\r\n\r\n constructor(private fb: FormBuilder,private projectService: ProjectService, private route: ActivatedRoute,\r\n private router: Router, private organizationService: OrganizationService,\r\n private storeService: StoreService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.route.snapshot.data) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Add Implementer';\r\n this.model.projectId = id;\r\n this.loadOrganizations();\r\n } else {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n \r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n\r\n this.implementerSelectionForm = this.fb.group({\r\n userInput: null,\r\n });\r\n }\r\n\r\n private filterOrganizations(value: string): Organization[] {\r\n if (typeof value != \"string\") {\r\n } else {\r\n const filterValue = value.toLowerCase();\r\n return this.organizations.filter(organization => organization.organizationName.toLowerCase().indexOf(filterValue) !== -1);\r\n }\r\n }\r\n\r\n loadOrganizations() {\r\n this.organizationService.getOrganizationsList().subscribe(\r\n data => {\r\n this.organizations = data;\r\n this.filteredOrganizations = this.userInput.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(organization => organization ? this.filterOrganizations(organization) : this.organizations.slice())\r\n );\r\n },\r\n error => {\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n\r\n displayFn(organization?: Organization): string | undefined {\r\n if (organization) {\r\n this.selectedOrganizationId = organization.id;\r\n }\r\n return organization ? organization.organizationName : undefined;\r\n }\r\n\r\n saveProjectImplementer() {\r\n if (this.selectedOrganizationId == 0) {\r\n return false;\r\n }\r\n\r\n this.model.organizationId = this.selectedOrganizationId;\r\n var model = {\r\n ProjectId: this.model.projectId,\r\n ImplementerId: this.model.organizationId,\r\n };\r\n\r\n this.isBtnDisabled = true;\r\n this.btnText = 'Saving...';\r\n this.projectService.addProjectImplementer(model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n var message = 'New project implementer ' + Messages.NEW_RECORD;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('view-project/' + this.model.projectId);\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.resetFormState();\r\n }\r\n );\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n this.btnText = 'Add Implementer';\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Implementer
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n {{implementer.organizationName}}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError, tap } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\nimport { Observable } from 'rxjs';\r\nimport { Sector } from '../models/sector-model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SectorService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) { }\r\n\r\n getSectorsList() {\r\n var url = this.urlHelper.getSectorUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sectors')));\r\n }\r\n\r\n getSectorChildren(id: string) {\r\n var url = this.urlHelper.getSectorChildrenUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sector Children')));\r\n }\r\n\r\n getAllSectorMappings() {\r\n var url = this.urlHelper.getAllSectorMappingsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sector Mappings'))\r\n );\r\n }\r\n\r\n addOrUpdateSectorMappings(model: any) {\r\n var url = this.urlHelper.getSectorMappingsAddOrUpdateUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Add or Update Sector Mapping'))\r\n );\r\n }\r\n\r\n filterSectors(criteria: string) {\r\n var url = this.urlHelper.getSearchSectorsUrl(criteria);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sectors')));\r\n }\r\n\r\n getSector(id: string) {\r\n var url = this.urlHelper.getSingleSectorUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sector')));\r\n }\r\n\r\n addSector(model: any) {\r\n var url = this.urlHelper.getSectorUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Sector')));\r\n }\r\n\r\n updateSector(id: number, model: any) {\r\n var url = this.urlHelper.getSectorUrl() + '/' + id;\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Update Sector')));\r\n }\r\n\r\n setChild(sectorId: string, childId: string) {\r\n var url = this.urlHelper.setSectorChildUrl(sectorId, childId);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sector Child')));\r\n }\r\n\r\n removeChild(sectorId: string, childId: string) {\r\n var url = this.urlHelper.removeSectorChildUrl(sectorId, childId);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sector Child')));\r\n }\r\n\r\n getSectorProjects(id: string) {\r\n var url = this.urlHelper.getSectorProjectsUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sector Projects'))\r\n );\r\n }\r\n\r\n getSectorTypes() {\r\n var url = this.urlHelper.getSectorTypesUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sector Types')));\r\n }\r\n\r\n getAllSectors() {\r\n var url = this.urlHelper.getAllSectors();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sectors'))\r\n );\r\n }\r\n\r\n getDefaultSectors() {\r\n var url = this.urlHelper.getDefaultSectorsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Default Sectors'))\r\n );\r\n }\r\n\r\n getSectorsForType(id: string) {\r\n var url = this.urlHelper.getSectorsForTypeUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sectors for Type'))\r\n );\r\n }\r\n\r\n getOtherSectorTypes() {\r\n var url = this.urlHelper.getOtherSectorTypesUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Other Sectors'))\r\n );\r\n }\r\n\r\n getSectorMappings(id: string) {\r\n var url = this.urlHelper.getSectorMappingsUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sector Mappings'))\r\n );\r\n }\r\n\r\n getMappingsForSector(sectorId: string) {\r\n var url = this.urlHelper.getMappingsForSectorUrl(sectorId);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Mappings for Sector'))\r\n );\r\n }\r\n\r\n getMappingsForSectorByName(sectorName: string) {\r\n var model = {\r\n sector: sectorName\r\n };\r\n var url = this.urlHelper.getMappingsForSectorByNameUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Mappings for Sector'))\r\n );\r\n }\r\n\r\n deleteSector(id: string, newId: string) {\r\n var url = this.urlHelper.deleteSectorUrl(id, newId);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Sector'))\r\n );\r\n }\r\n\r\n addSectorWithMapping(model: any) {\r\n var url = this.urlHelper.saveSectorWithMappingUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New IATI Sector')));\r\n }\r\n\r\n saveSectorMappings(model: any) {\r\n var url = this.urlHelper.saveSectorMappingsUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sector mappings')));\r\n }\r\n\r\n deleteSectorMapping(sectorId: string, mappingId: string) {\r\n var url = this.urlHelper.getDeleteSectorMappingsUrl(sectorId, mappingId);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sector mapping'))\r\n );\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-funder-iati',\r\n templateUrl: './funder-iati.component.html',\r\n styleUrls: ['./funder-iati.component.css']\r\n})\r\nexport class FunderIatiComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

\r\n funder-iati works!\r\n

\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { SectorService } from '../services/sector.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-delete-sector',\r\n templateUrl: './delete-sector.component.html',\r\n styleUrls: ['./delete-sector.component.css']\r\n})\r\nexport class DeleteSectorComponent implements OnInit {\r\n\r\n sectorsList: any = [];\r\n projectsList: any = [];\r\n id: string = null;\r\n requestNo: number = 0;\r\n errorMessage: string = null;\r\n model: any = { sectorId: 0};\r\n isLoading: boolean = true;\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private sectorService: SectorService, private route: ActivatedRoute,\r\n private storeService: StoreService, private errorModal: ErrorModalComponent,\r\n private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n if (this.route.snapshot.data) {\r\n this.id = this.route.snapshot.params[\"{id}\"];\r\n }\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n this.getSectorsList();\r\n this.getSectorProjects();\r\n }\r\n\r\n getSectorsList() {\r\n this.sectorService.getDefaultSectors().subscribe(\r\n data => {\r\n if (data) {\r\n this.sectorsList = data;\r\n this.sectorsList = this.sectorsList.filter(o => o.id != this.id);\r\n }\r\n }\r\n )\r\n }\r\n\r\n getSectorProjects() {\r\n this.sectorService.getSectorProjects(this.id).subscribe(\r\n data => {\r\n if (data) {\r\n this.projectsList = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n )\r\n }\r\n\r\n deleteAndMergeSector() {\r\n this.blockUI.start('Deleting sector...');\r\n this.sectorService.deleteSector(this.id, this.model.sectorId).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('sectors');\r\n }\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Effected projects list
\r\n
\r\n Loading projects...\r\n
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n \r\n {{number + 1}} {{project.title}}\r\n \r\n
\r\n \r\n No projects to show\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
Delete confirmation
\r\n
\r\n

\r\n You can assign the new sector to effected project/s. It is recommended to assign a new\r\n mapping to the deleting sector that has dependent projects or remove the sector from\r\n dependent projects first. You can safely delete a sector that does not have dependent \r\n projects.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExRateUsageService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) { }\r\n\r\n\r\n getExRateUsageList() {\r\n var url = this.urlHelper.getExchangeRateUsageUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Exchange Rate Usage')));\r\n }\r\n\r\n getExRateUsageById(id: string) {\r\n var url = this.urlHelper.getExchangeRateUsageByIdUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Exchange Rate Usage')));\r\n }\r\n\r\n saveExchangeRateUsage(model: any) {\r\n var url = this.urlHelper.getExchangeRateUsageUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Exchange Rate Usage')));\r\n }\r\n\r\n editExchangeRateUsage(id: string, model: any) {\r\n var url = this.urlHelper.getExchangeRateUsageEditUrl(id);\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Exchange Rate Usage')));\r\n }\r\n\r\n deleteExchangeRateUsage(id: string) {\r\n var url = this.urlHelper.getExchangeRateUsageEditUrl(id);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Exchange Rate Usage')));\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FinancialYearService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) {\r\n\r\n }\r\n\r\n getYearsList() {\r\n var url = this.urlHelper.getFinancialYearsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Financial Years')));\r\n }\r\n\r\n getYearsForEnvelope() {\r\n var url = this.urlHelper.getFinancialYearsForEnvelopeUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Financial Years')));\r\n }\r\n\r\n getYearsForEnvelopeEntry() {\r\n var url = this.urlHelper.getFinancialYearsForEnvelopeEntryUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Financial Years')));\r\n }\r\n\r\n getSettings() {\r\n var url = this.urlHelper.getFinancialYearSettingsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Financial Year Settings')));\r\n }\r\n\r\n addYear(model: any) {\r\n var url = this.urlHelper.getFinancialYearsUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Financial Year')));\r\n }\r\n\r\n addYearRange(model: any) {\r\n var url = this.urlHelper.getFinancialYearRangeUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Financial Year Range')));\r\n }\r\n\r\n saveSettings(model: any) {\r\n var url = this.urlHelper.getFinancialYearSettingsUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Financial Year Settings')));\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { Settings } from 'src/app/config/settings';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { StoreService } from 'src/app/services/store-service';\r\nimport { IATIService } from 'src/app/services/iati.service';\r\nimport { SecurityHelperService } from 'src/app/services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { FinancialYearService } from 'src/app/services/financial-year.service';\r\nimport { OrganizationService } from 'src/app/services/organization-service';\r\nimport { FundingTypeService } from 'src/app/services/funding-type.service';\r\nimport { CurrencyService } from 'src/app/services/currency.service';\r\nimport { SectorTypeService } from 'src/app/services/sector-types.service';\r\nimport { SectorService } from 'src/app/services/sector.service';\r\nimport { LocationService } from 'src/app/services/location.service';\r\nimport { ProjectInfoModalComponent } from 'src/app/project-info-modal/project-info-modal.component';\r\nimport { MarkerService } from 'src/app/services/marker.service';\r\nimport { ErrorModalComponent } from 'src/app/error-modal/error-modal.component';\r\n\r\n@Component({\r\n selector: 'app-data-entry',\r\n templateUrl: './data-entry.component.html',\r\n styleUrls: ['./data-entry.component.css']\r\n})\r\nexport class DataEntryComponent implements OnInit {\r\n requestNo: number = 0;\r\n activeProjectId: number = 0;\r\n defaultSectorType: string = null;\r\n defaultSectorTypeId: number = 0;\r\n isForEdit: boolean = false;\r\n isUpdatingSectors: boolean = false;\r\n sectorTotalPercentage: number = 0;\r\n locationTotalPercentage: number = 0;\r\n currentTab: string = null;\r\n isProjectLoading: boolean = true;\r\n permissions: any = {};\r\n sourceProjects: number = 0;\r\n errorMessage: string = null;\r\n fieldTypes: any = Settings.markerTypes;\r\n\r\n userProjectIds: any = [];\r\n financialYears: any = [];\r\n organizationsList: any = [];\r\n fundingTypesList: any = [];\r\n sectorTypesList: any = [];\r\n selectedFunders: any = [];\r\n currenciesList: any = [];\r\n sectorsList: any = [];\r\n defaultSectorsList: any = [];\r\n locationsList: any = [];\r\n selectedImplementers: any = [];\r\n exchangeRates: any = [];\r\n aimsProjects: any = [];\r\n iatiProjects: any = [];\r\n markersList: any = [];\r\n subLocationsList: any = [];\r\n\r\n selectedProjects: any = [];\r\n currentProjectFunders: any = [];\r\n currentProjectImplementers: any = [];\r\n currentProjectSectors: any = [];\r\n currentProjectLocations: any = [];\r\n currentProjectDisbursements: any = [];\r\n currentProjectDocuments: any = [];\r\n currentProjectMarkers: any = [];\r\n\r\n viewProject = {};\r\n viewProjectFunders: any = [];\r\n viewProjectLocations: any = [];\r\n viewProjectSectors: any = [];\r\n viewProjectImplementers: any = [];\r\n viewProjectDocuments: any = [];\r\n viewProjectDisbursements: any = [];\r\n viewProjectMarkers: any = [];\r\n \r\n monthsList: any = [\r\n { key: 'January', value: 1 },\r\n { key: 'February', value: 2 },\r\n { key: 'March', value: 3 },\r\n { key: 'April', value: 4 },\r\n { key: 'May', value: 5 },\r\n { key: 'June', value: 6 },\r\n { key: 'July', value: 7 },\r\n { key: 'August', value: 8 },\r\n { key: 'September', value: 9 },\r\n { key: 'October', value: 10 },\r\n { key: 'November', value: 11 },\r\n { key: 'December', value: 12 }\r\n ];\r\n\r\n fieldType: any = {\r\n 1: 'Dropdown',\r\n 2: 'Checkbox',\r\n 3: 'Text',\r\n 4: 'Radio'\r\n };\r\n\r\n projectData = { id: 0, title: null, fundingTypeId: null, startDate: null, endDate: null, startingFinancialYear: null, endingFinancialYear: null, \r\n description: null, projectValue: null, projectCurrency: null, exchangeRate: 1 };\r\n\r\n displayTabs: any = [\r\n { visible: true, identity: 'basic' },\r\n { visible: false, identity: 'financials' },\r\n { visible: false, identity: 'sectors' },\r\n { visible: false, identity: 'markers' },\r\n { visible: false, identity: 'finish' }\r\n ];\r\n\r\n tabConstants: any = {\r\n BASIC: 'basic',\r\n FINANCIALS: 'financials',\r\n SECTORS: 'sectors',\r\n MARKERS: 'markers',\r\n FINISH: 'finish'\r\n };\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private storeService: StoreService, private iatiService: IATIService,\r\n private projectService: ProjectService, private securityService: SecurityHelperService,\r\n private router: Router, private yearService: FinancialYearService,\r\n private orgService: OrganizationService,\r\n private fundingTypeService: FundingTypeService,\r\n private currencyService: CurrencyService,\r\n private sectorTypeService: SectorTypeService,\r\n private sectorService: SectorService,\r\n private locationService: LocationService,\r\n private errorModal: ErrorModalComponent,\r\n private markerService: MarkerService) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.entry);\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditProject) {\r\n this.router.navigateByUrl('projects');\r\n }\r\n\r\n var projectId = localStorage.getItem('active-project');\r\n var projects = localStorage.getItem('selected-projects');\r\n if (projects) {\r\n var parsedProjects = JSON.parse(projects);\r\n this.selectedProjects = parsedProjects;\r\n\r\n if (this.selectedProjects && this.selectedProjects.length > 0) {\r\n var filteredIATI = this.selectedProjects.filter(function (project) {\r\n return project.type == 'IATI';\r\n });\r\n\r\n var iatiIdsArr = [];\r\n filteredIATI.forEach(function (project) {\r\n var obj = { identifier: project.identifier };\r\n iatiIdsArr.push(obj);\r\n }.bind(this));\r\n this.loadIATIProjectsForIds(iatiIdsArr);\r\n\r\n var filteredAIMS = this.selectedProjects.filter(function (project) {\r\n return project.type == 'AIMS';\r\n });\r\n var aimsIdsArr = [];\r\n filteredAIMS.forEach(function (project) {\r\n var id = project.identifier;\r\n aimsIdsArr.push(id);\r\n });\r\n this.loadAIMSProjectsForIds(aimsIdsArr);\r\n } \r\n }\r\n\r\n this.getAverageExchangeRates();\r\n this.getFinancialYears();\r\n this.getOrganizationsList();\r\n this.getCurrenciesList();\r\n this.getFundingTypes();\r\n this.getSectorTypes();\r\n this.getLocationsList();\r\n this.getActiveMarkers();\r\n \r\n if (projectId && projectId != '0') {\r\n this.blockUI.start('Loading project data...');\r\n this.isForEdit = true;\r\n this.activeProjectId = parseInt(projectId);\r\n this.projectData.id = this.activeProjectId;\r\n this.loadUserProjects(this.activeProjectId);\r\n } else {\r\n this.isProjectLoading = false;\r\n }\r\n this.currentTab = this.tabConstants.BASIC;\r\n }\r\n\r\n loadAIMSProjectsForIds(modelArr: any) {\r\n this.projectService.extractProjectsByIds(modelArr).subscribe(\r\n data => {\r\n if (data) {\r\n this.aimsProjects = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n loadIATIProjectsForIds(modelArr: any) {\r\n this.iatiService.extractProjectsByIds(modelArr).subscribe(\r\n data => {\r\n if (data) {\r\n this.iatiProjects = data;\r\n this.amendSectorNames();\r\n }\r\n }\r\n );\r\n }\r\n\r\n amendSectorNames() {\r\n if (this.iatiProjects.length > 0 && this.sectorsList.length > 0 && !this.isUpdatingSectors) {\r\n this.isUpdatingSectors = true;\r\n this.iatiProjects.forEach((p) => {\r\n if (p.sectors.length > 0) {\r\n p.sectors.forEach((s) => {\r\n if (s.code.length == 5) {\r\n var matchingSector = this.sectorsList.filter(sec => sec.iatiCode == s.code);\r\n if (matchingSector.length > 0) {\r\n s.sectorName = matchingSector[0].sectorName;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n this.isUpdatingSectors = false;\r\n } else {\r\n this.isUpdatingSectors = false;\r\n }\r\n }\r\n\r\n loadUserProjects(projectId: number) {\r\n this.projectService.getUserProjects().subscribe(\r\n data => {\r\n if (data) {\r\n this.userProjectIds = data;\r\n if (this.userProjectIds.map(p => p.id).indexOf(projectId) == -1) {\r\n this.router.navigateByUrl('project-membership/' + projectId);\r\n } else {\r\n this.loadProjectData(projectId);\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n loadProjectData(id: number) {\r\n this.projectService.getProjectProfileReport(id.toString()).subscribe(\r\n result => {\r\n if (result && result.projectProfile) {\r\n var data = result.projectProfile;\r\n this.projectData.title = data.title;\r\n this.projectData.description = data.description;\r\n this.projectData.startDate = this.formatDateToYMD(data.startDate);\r\n this.projectData.endDate = this.formatDateToYMD(data.endDate);\r\n this.projectData.startingFinancialYear = data.startingFinancialYear;\r\n this.projectData.endingFinancialYear = data.endingFinancialYear;\r\n this.projectData.projectValue = data.projectValue;\r\n this.projectData.projectCurrency = data.projectCurrency;\r\n this.projectData.fundingTypeId = data.fundingTypeId;\r\n\r\n if (data.sectors && data.sectors.length > 0) {\r\n this.currentProjectSectors = data.sectors;\r\n this.currentProjectSectors.forEach(s => {\r\n s.saved = true;\r\n s.mappingId = s.sectorId;\r\n });\r\n this.sectorTotalPercentage = this.calculateSectorPercentage();\r\n }\r\n\r\n if (data.locations && data.locations.length > 0) {\r\n this.currentProjectLocations = data.locations;\r\n this.currentProjectLocations.forEach(l => {\r\n l.saved = true;\r\n if (l.subLocations) {\r\n l.subLocations = l.subLocations;\r\n } else {\r\n l.subLocations = [];\r\n }\r\n });\r\n this.locationTotalPercentage = this.calculateLocationPercentage();\r\n }\r\n\r\n if (data.documents && data.documents.length > 0) {\r\n this.currentProjectDocuments = data.documents;\r\n }\r\n\r\n if (data.funders && data.funders.length > 0) {\r\n this.currentProjectFunders = data.funders;\r\n } \r\n\r\n if (data.implementers && data.implementers.length > 0) {\r\n this.currentProjectImplementers = data.implementers;\r\n }\r\n\r\n if (data.disbursements && data.disbursements.length > 0) {\r\n this.currentProjectDisbursements = data.disbursements;\r\n }\r\n\r\n if (data.markers && data.markers.length > 0) {\r\n this.currentProjectMarkers = data.markers;\r\n }\r\n }\r\n this.isProjectLoading = false;\r\n }\r\n );\r\n }\r\n\r\n calculateSectorPercentage() {\r\n var percentageList = this.currentProjectSectors.map(s => parseInt(s.fundsPercentage));\r\n return percentageList.reduce(this.storeService.sumValues, 0);\r\n }\r\n\r\n calculateLocationPercentage() {\r\n var percentageList = this.currentProjectLocations.map(s => parseInt(s.fundsPercentage));\r\n return percentageList.reduce(this.storeService.sumValues, 0);\r\n }\r\n\r\n getFinancialYears() {\r\n this.yearService.getYearsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.financialYears = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getOrganizationsList() {\r\n this.orgService.getUserOrganizations().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationsList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getSectorTypes() {\r\n this.sectorTypeService.getSectorTypesList().subscribe(\r\n data => {\r\n if (data) {\r\n this.sectorTypesList = data;\r\n var defaultSectorType = this.sectorTypesList.filter(s => s.isPrimary == 1);\r\n if (defaultSectorType.length > 0) {\r\n this.defaultSectorTypeId = defaultSectorType[0].id;\r\n this.defaultSectorType = defaultSectorType[0].typeName;\r\n }\r\n this.getSectors();\r\n }\r\n }\r\n );\r\n }\r\n\r\n getSectors() {\r\n this.sectorService.getSectorsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.sectorsList = data;\r\n this.defaultSectorsList = this.sectorsList.filter(s => s.sectorTypeId == this.defaultSectorTypeId)\r\n this.amendSectorNames();\r\n }\r\n }\r\n );\r\n }\r\n\r\n getFundingTypes() {\r\n this.fundingTypeService.getFundingTypesList().subscribe(\r\n data => {\r\n if (data) {\r\n this.fundingTypesList = data;\r\n }\r\n }\r\n )\r\n }\r\n\r\n getLocationsList() {\r\n this.locationService.getLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.locationsList = data;\r\n }\r\n this.getSubLocationsList();\r\n setTimeout(() => {\r\n this.blockUI.stop(); \r\n }, 1000);\r\n }\r\n );\r\n }\r\n\r\n getSubLocationsList() {\r\n this.locationService.getSubLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.subLocationsList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getCurrenciesList() {\r\n this.currencyService.getCurrenciesList().subscribe(\r\n data => {\r\n if (data) {\r\n this.currenciesList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getActiveMarkers() {\r\n this.markerService.getActiveMarkers().subscribe(\r\n data => {\r\n if (data) {\r\n var fields = data;\r\n fields.forEach(function (field) {\r\n field.values = field.values ? JSON.parse(field.values) : [];\r\n field.values.forEach(v => v.isSelected = false);\r\n });\r\n this.markersList = fields;\r\n }\r\n }\r\n );\r\n }\r\n \r\n getAverageExchangeRates() {\r\n var model = {\r\n dated: this.storeService.getCurrentDateSQLFormat()\r\n };\r\n this.currencyService.getAverageCurrencyForDate(model).subscribe(\r\n data => {\r\n this.exchangeRates = data;\r\n }\r\n );\r\n }\r\n\r\n showBasicInfo() {\r\n this.manageTabsDisplay(this.tabConstants.BASIC);\r\n }\r\n\r\n showFinancials() {\r\n this.manageTabsDisplay(this.tabConstants.FINANCIALS);\r\n }\r\n\r\n showMarkers() {\r\n this.manageTabsDisplay(this.tabConstants.MARKERS);\r\n }\r\n\r\n showSectors() {\r\n this.manageTabsDisplay(this.tabConstants.SECTORS);\r\n }\r\n\r\n showFinish() {\r\n this.manageTabsDisplay(this.tabConstants.FINISH);\r\n }\r\n\r\n manageTabsDisplay(tabIdentity) {\r\n for (var i = 0; i < this.displayTabs.length; i++) {\r\n var tab = this.displayTabs[i];\r\n if (tab.identity == tabIdentity) {\r\n tab.visible = true;\r\n this.currentTab = tabIdentity;\r\n } else {\r\n tab.visible = false;\r\n }\r\n }\r\n }\r\n\r\n formatDateToYMD(dated: string) {\r\n return this.storeService.convertDateToYMDBySlash(dated);\r\n }\r\n\r\n /*Updating data from child*/\r\n updateProjectFunders($event) {\r\n this.currentProjectFunders = $event;\r\n }\r\n\r\n updateProjectImplementers($event) {\r\n this.currentProjectImplementers = $event;\r\n }\r\n\r\n updateProjectSectors($event) {\r\n this.currentProjectSectors = $event;\r\n }\r\n\r\n updateProjectDocuments($event) {\r\n this.currentProjectDocuments = $event;\r\n }\r\n\r\n updateProjectLocations($event) {\r\n this.currentProjectLocations = $event;\r\n }\r\n\r\n updateProjectMarkers($event) {\r\n this.currentProjectMarkers = $event;\r\n }\r\n\r\n updateProjectDisbursements($event) {\r\n this.currentProjectDisbursements = $event;\r\n }\r\n\r\n updateProjectId($event) {\r\n this.activeProjectId = $event;\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-SG\": \"zavE\",\n\t\"./en-SG.js\": \"zavE\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import { Component, OnInit } from '@angular/core';\r\nimport { ReportService } from 'src/app/services/report.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ErrorModalComponent } from 'src/app/error-modal/error-modal.component';\r\nimport { StoreService } from 'src/app/services/store-service';\r\nimport { CurrencyService } from 'src/app/services/currency.service';\r\nimport { Messages } from 'src/app/config/messages';\r\nimport { Settings } from 'src/app/config/settings';\r\nimport { ModalService } from 'src/app/services/modal.service';\r\nimport { ChartType, ChartDataSets, ChartOptions } from 'chart.js';\r\nimport { Label } from 'ng2-charts';\r\nimport { UrlHelperService } from 'src/app/services/url-helper-service';\r\n\r\n@Component({\r\n selector: 'budget-report',\r\n templateUrl: './budget-report.component.html',\r\n styleUrls: ['./budget-report.component.css']\r\n})\r\nexport class BudgetReportComponent implements OnInit {\r\n manualExRate: number = 0;\r\n oldExRateToDefault: number = 0;\r\n oldCurrencyRate: number = 0;\r\n defaultCurrency: string = null;\r\n oldCurrency: string = null;\r\n selectedCurrencyName: string = null;\r\n nationalCurrency: string = null;\r\n nationalCurrencyName: string = null;\r\n reportDataList: any = [];\r\n reportSettings: any = { title: null};\r\n currenciesList: any = [];\r\n exchangeRates: any = [];\r\n model: any = { selectedCurrency: null };\r\n errorMessage: string = null;\r\n grandTotalFunding: number = 0;\r\n grandTotalDisbursements: number = 0;\r\n datedToday: string = null;\r\n selectedYearlyDisbursements: any = [];\r\n selectedProject: string = null;\r\n excelFile: string = null;\r\n isDataLoading: boolean = true;\r\n btnReportText: string = 'View report';\r\n arrangementConstant: number = 1;\r\n currentArrangement: string = null;\r\n\r\n chartDescriptiveLabels: any = [];\r\n isChartLoading: boolean = true;\r\n chartLabels: Label[] = [];\r\n chartData: ChartDataSets[] = [];\r\n chartLegend: boolean = true;\r\n chartType: ChartType = 'bar';\r\n barChartPlugins: any = [];\r\n pagingSize: number = Settings.rowsPerPage;\r\n reportArrangements: any = [\r\n { id: 1, label: 'By sectors' },\r\n { id: 2, label: 'By locations' }\r\n ];\r\n \r\n arrangementConstants: any = {\r\n SECTORS: 1,\r\n LOCATIONS: 2\r\n };\r\n\r\n arrangementConstantLabels: any = {\r\n SECTORS: \"Sectors\",\r\n LOCATIONS: \"Locations\"\r\n }\r\n\r\n chartOptions: ChartOptions = {\r\n responsive: true,\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var tooltipValue = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n return parseFloat(tooltipValue.toString()).toLocaleString();\r\n }\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true,\r\n callback: function (value, index, values) {\r\n return value.toLocaleString(\"en-US\");\r\n }.bind(this)\r\n }\r\n }],\r\n xAxes: [{\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }]\r\n }\r\n };\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private reportService: ReportService, private errorModal: ErrorModalComponent,\r\n private storeService: StoreService, private currencyService: CurrencyService,\r\n private modalService: ModalService,\r\n private urlService: UrlHelperService) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.reports);\r\n this.currentArrangement = this.arrangementConstantLabels.SECTORS;\r\n this.arrangementConstant = this.arrangementConstants.SECTORS;\r\n this.getDefaultCurrency();\r\n this.getNationalCurrency();\r\n this.getManualExchangeRateForToday();\r\n this.getBudgetReport();\r\n }\r\n\r\n getManualExchangeRateForToday() {\r\n var dated = this.storeService.getCurrentDateSQLFormat();\r\n var model = {\r\n dated: dated\r\n };\r\n this.currencyService.getAverageCurrencyForDate(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.exchangeRates = data;\r\n var nationalCurrencyRate = this.exchangeRates.filter(c => c.currency == this.nationalCurrencyName);\r\n if (nationalCurrencyRate.length > 0) {\r\n this.manualExRate = nationalCurrencyRate[0].rate;\r\n this.oldCurrencyRate = 1;\r\n }\r\n }\r\n });\r\n }\r\n\r\n getDefaultCurrency() {\r\n this.currencyService.getDefaultCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultCurrency = data.currency;\r\n this.model.selectedCurrency = data.currency;\r\n this.oldCurrency = this.model.selectedCurrency;\r\n this.selectedCurrencyName = data.currencyName;\r\n this.currenciesList.push(data);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getNationalCurrency() {\r\n this.currencyService.getNationalCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.nationalCurrency = data;\r\n this.nationalCurrencyName = data.currency;\r\n this.currenciesList.push(data);\r\n }\r\n\r\n setTimeout(() => {\r\n this.isDataLoading = false;\r\n }, 3000);\r\n }\r\n );\r\n }\r\n\r\n getBudgetReport() {\r\n this.blockUI.start('Loading report...');\r\n this.isChartLoading = true;\r\n this.reportService.getBudgetReport().subscribe(\r\n data => {\r\n if (data) {\r\n this.reportDataList = data;\r\n if (this.reportDataList.years) {\r\n this.chartLabels = this.reportDataList.years.map(y => y.year);\r\n }\r\n this.datedToday = this.storeService.getLongDateString(new Date());\r\n this.btnReportText = 'Update report';\r\n if (this.reportDataList.reportSettings) {\r\n this.excelFile = this.reportDataList.reportSettings.excelReportName;\r\n this.setExcelFile();\r\n }\r\n\r\n if (this.reportDataList.years) {\r\n this.setupChartData();\r\n }\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n manageDataDisplayArrangements() {\r\n if (this.arrangementConstant == this.arrangementConstants.SECTORS) {\r\n this.currentArrangement = this.arrangementConstantLabels.SECTORS;\r\n } else if (this.arrangementConstant == this.arrangementConstants.LOCATIONS) {\r\n this.currentArrangement = this.arrangementConstantLabels.LOCATIONS;\r\n }\r\n this.setupChartData();\r\n }\r\n\r\n displayHideRow(id) {\r\n if (this.reportDataList.projects) {\r\n var selectProject = this.reportDataList.projects.filter(p => p.id == id);\r\n if (selectProject.length > 0) {\r\n selectProject[0].isDisplay = !selectProject[0].isDisplay;\r\n }\r\n }\r\n }\r\n\r\n setupChartData() {\r\n this.chartData = [];\r\n this.chartDescriptiveLabels = [];\r\n\r\n if (this.arrangementConstant == this.arrangementConstants.SECTORS) {\r\n this.chartDescriptiveLabels = this.reportDataList.parentSectorDisbursements.map(s => s.sectorName);\r\n this.reportDataList.parentSectorDisbursements.forEach((s) => {\r\n this.chartData.push({\r\n data: s.disbursements.map(d => d.totalValue),\r\n label: s.sectorName,\r\n stack: 'a'\r\n });\r\n });\r\n } else if (this.arrangementConstant == this.arrangementConstants.LOCATIONS) {\r\n this.chartDescriptiveLabels = this.reportDataList.locationDisbursements.map(s => s.sectorName);\r\n this.reportDataList.locationDisbursements.forEach((l) => {\r\n this.chartData.push({\r\n data: l.disbursements.map(d => d.totalValue),\r\n label: l.locationName,\r\n stack: 'a'\r\n });\r\n });\r\n } \r\n this.isChartLoading = false;\r\n }\r\n\r\n showDetail(id: number) {\r\n var filteredProject = this.reportDataList.projects.filter(p => p.id == id);\r\n if (filteredProject.length > 0) {\r\n this.selectedProject = filteredProject[0].title;\r\n this.selectedYearlyDisbursements = filteredProject[0].yearlyDisbursements;\r\n\r\n this.modalService.open('disbursement-info-modal');\r\n }\r\n }\r\n\r\n closeDetail() {\r\n this.modalService.close('disbursement-info-modal');\r\n }\r\n\r\n printReport() {\r\n this.storeService.printReport('rpt-budget-report', 'Budget report', this.selectedCurrencyName);\r\n }\r\n\r\n selectCurrency() {\r\n if (this.model.selectedCurrency == null || this.model.selectCurrency == 'null') {\r\n return false;\r\n } else {\r\n var selectedCurrency = this.currenciesList.filter(c => c.currency == this.model.selectedCurrency);\r\n if (selectedCurrency.length > 0) {\r\n this.selectedCurrencyName = selectedCurrency[0].currencyName;\r\n }\r\n }\r\n if (this.model.selectedCurrency) {\r\n this.getCurrencyRates();\r\n }\r\n }\r\n\r\n getCurrencyRates() {\r\n var exRate: number = 0;\r\n var calculatedRate = 0;\r\n if (this.manualExRate == 0) {\r\n this.errorMessage = Messages.EX_RATE_NOT_FOUND;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.model.selectedCurrency == this.defaultCurrency) {\r\n exRate = 1;\r\n } else {\r\n exRate = this.manualExRate;\r\n }\r\n\r\n calculatedRate = (exRate / this.oldCurrencyRate);\r\n this.oldCurrencyRate = exRate;\r\n this.oldCurrency = this.model.selectedCurrency;\r\n this.oldExRateToDefault = exRate;\r\n this.applyRateOnFinancials(calculatedRate, exRate);\r\n }\r\n\r\n applyRateOnFinancials(calculatedRate = 1, defaultRate = 1) {\r\n if (calculatedRate != 1) {\r\n if (this.reportDataList.projects && this.reportDataList.projects.length > 0) {\r\n this.reportDataList.projects.forEach(p => {\r\n if (p.yearlyDisbursements) {\r\n p.yearlyDisbursements.forEach((d) => {\r\n d.disbursements = Math.round(parseFloat((d.disbursements * calculatedRate).toFixed(2)));\r\n d.actualDisbursements = Math.round(parseFloat((d.actualDisbursements * calculatedRate).toFixed(2)));\r\n d.expectedDisbursements = Math.round(parseFloat((d.expectedDisbursements * calculatedRate).toFixed(2)));\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (this.reportDataList.parentSectorDisbursements) {\r\n this.reportDataList.parentSectorDisbursements.forEach((p) => {\r\n if (p.disbursements) {\r\n p.disbursements.forEach((d) => {\r\n d.totalValue = Math.round(parseFloat((d.totalValue * calculatedRate).toFixed(2)));\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (this.reportDataList.locationDisbursements) {\r\n this.reportDataList.locationDisbursements.forEach((p) => {\r\n if (p.disbursements) {\r\n p.disbursements.forEach((d) => {\r\n d.totalValue = Math.round(parseFloat((d.totalValue * calculatedRate).toFixed(2)));\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (this.reportDataList.totalYearlyDisbursements && this.reportDataList.totalYearlyDisbursements.length > 0) {\r\n this.reportDataList.totalYearlyDisbursements.forEach((t) => {\r\n t.totalDisbursements = Math.round(parseFloat((t.totalDisbursements * calculatedRate).toFixed(2)));\r\n t.totalExpectedDisbursements = Math.round(parseFloat((t.totalExpectedDisbursements * calculatedRate).toFixed(2)));\r\n });\r\n\r\n this.setupChartData();\r\n }\r\n }\r\n }\r\n\r\n getCurrentYear() {\r\n return this.storeService.getCurrentYear();\r\n }\r\n\r\n formatNumber(value: number) {\r\n return this.storeService.getNumberWithCommas(value);\r\n }\r\n\r\n getLongDateString(dated: string) {\r\n return this.storeService.getLongDateString(dated);\r\n }\r\n\r\n setExcelFile() {\r\n if (this.excelFile) {\r\n this.excelFile = this.urlService.getExcelFilesUrl() + this.excelFile;\r\n }\r\n }\r\n\r\n generatePDF() {\r\n this.blockUI.start('Generating PDF...');\r\n setTimeout(() => {\r\n var result = Promise.resolve(this.reportService.generatePDF('rpt-budget-report'));\r\n result.then(() => {\r\n this.blockUI.stop();\r\n });\r\n }, 500);\r\n }\r\n\r\n getTodaysDate() {\r\n return this.storeService.getLongDateAndTime();\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n   \r\n  \r\n 0 && model.selectedCurrency == nationalCurrencyName\" class=\"text-warning\">\r\n Exchange rate: 1 {{defaultCurrency}} = {{manualExRate}} {{nationalCurrencyName}} on\r\n {{datedToday}}\r\n \r\n\r\n \r\n No exchange rate available, contact Administrator.\r\n \r\n
\r\n\r\n
\r\n   \r\n \r\n
\r\n\r\n
\r\n \r\n  \r\n  \r\n Download\r\n spreadsheet \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Default currency is not set and it may produce errors on reports.\r\n Please contact administrator.\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Budget report (Currency: {{this.selectedCurrencyName}})
\r\n
\r\n\r\n
0 && !isChartLoading\"\r\n class=\"col-md-12 margin-top-10\">\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{currentArrangement}}{{year.year}}
{{sector.sectorName}}\r\n {{formatNumber(d.totalValue)}}\r\n
{{location.locationName}}\r\n {{formatNumber(d.totalValue)}}\r\n
\r\n\r\n
\r\n\r\n
\r\n No budget data avaialable to show\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n Generated on: {{getTodaysDate()}}\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SectorTypeService } from '../services/sector-types.service';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-sector-types',\r\n templateUrl: './sector-types.component.html',\r\n styleUrls: ['./sector-types.component.css']\r\n})\r\nexport class SectorTypesComponent implements OnInit {\r\n\r\n sectorTypesList: any = [];\r\n filteredSectorTypesList: any = [];\r\n criteria: string = null;\r\n isLoading: boolean = true;\r\n infoMessage: string = null;\r\n showMessage: boolean = false;\r\n pagingSize: number = Settings.rowsPerPage;\r\n\r\n constructor(private sectorTypeService: SectorTypeService, private router: Router,\r\n private storeService: StoreService) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.storeService.currentInfoMessage.subscribe(message => this.infoMessage = message);\r\n if (this.infoMessage !== null && this.infoMessage !== '') {\r\n this.showMessage = true;\r\n }\r\n setTimeout(() => {\r\n this.storeService.newInfoMessage('');\r\n this.showMessage = false;\r\n }, Settings.displayMessageTime);\r\n\r\n this.getSectorTypesList();\r\n }\r\n\r\n getSectorTypesList() {\r\n this.sectorTypeService.getSectorTypesList().subscribe(\r\n data => {\r\n this.isLoading = false;\r\n if (data && data.length) {\r\n this.sectorTypesList = data;\r\n this.filteredSectorTypesList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n searchSectorTypes() {\r\n if (!this.criteria) {\r\n this.filteredSectorTypesList = this.sectorTypesList;\r\n } else {\r\n if (this.sectorTypesList.length > 0) {\r\n var criteria = this.criteria.toLowerCase();\r\n this.filteredSectorTypesList = this.sectorTypesList.filter(s => (s.typeName.toLowerCase().indexOf(criteria) != -1));\r\n }\r\n }\r\n }\r\n\r\n isTrue(val: string) {\r\n return (val) ? 'Yes' : 'No';\r\n }\r\n\r\n isSourceType(val: string) {\r\n return (val) ? 'IATI' : 'Manual';\r\n }\r\n\r\n displayIATICode(code) {\r\n return (code == 0) ? 'N/a' : code;\r\n }\r\n \r\n edit(id: string) {\r\n this.router.navigateByUrl('/manage-sectortype/' + id);\r\n }\r\n\r\n delete(id: string) {\r\n this.router.navigateByUrl('delete-sectortype/' + id);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n\r\n
\r\n
0\" class=\"col margin-top-10\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Sector type nameDefault sectorSourceIATI codeIATI source URLActions
{{sector.typeName}}{{isTrue(sector.isPrimary)}}{{isSourceType(sector.isSourceType)}}{{displayIATICode(sector.iatiCode)}}{{sector.sourceUrl}}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n No sector types to show\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { EmailMessageService } from '../services/email-message.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { ModalService } from '../services/modal.service';\r\nimport { Settings } from '../config/settings';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { UserService } from '../services/user-service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { StoreService } from '../services/store-service';\r\n\r\n@Component({\r\n selector: 'app-email-message',\r\n templateUrl: './email-messages.component.html',\r\n styleUrls: ['./email-messages.component.css']\r\n})\r\nexport class EmailMessagesComponent implements OnInit {\r\n emailMessagesList: any = [];\r\n filteredEmailMessagesList: any = [];\r\n permissions: any = {};\r\n criteria: string = null;\r\n isLoading: boolean = true;\r\n isBtnDisabled: boolean = false;\r\n btnText : string = 'Send email';\r\n infoMessage: string = null;\r\n errorMessage: string = null;\r\n currentTab: string = 'messages';\r\n pagingSize: number = Settings.rowsPerPage;\r\n standardUsersList: any = [];\r\n managerUsersList: any = [];\r\n \r\n\r\n displayTabs: any = [\r\n { visible: true, identity: 'messages' },\r\n { visible: false, identity: 'email' },\r\n ];\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private emailMessageService: EmailMessageService, private securityService: SecurityHelperService,\r\n private router: Router, private modalService: ModalService, private infoModal: InfoModalComponent,\r\n private userService: UserService, private storeService: StoreService) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditEmailMessage) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n \r\n this.getEmailMessages();\r\n }\r\n\r\n getEmailMessages() {\r\n this.emailMessageService.getEmailMessages().subscribe(\r\n data => {\r\n if (data) {\r\n this.emailMessagesList = data;\r\n this.filteredEmailMessagesList = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n )\r\n }\r\n\r\n viewEmailMessage(e) {\r\n var id = e.currentTarget.id.split('-')[1];\r\n if (id) {\r\n var message = this.emailMessagesList.filter(m => m.id == id);\r\n if (message.length > 0) {\r\n this.infoMessage = message[0].message;\r\n this.infoModal.openModal();\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n searchMessages() {\r\n if (!this.criteria) {\r\n this.filteredEmailMessagesList = this.emailMessagesList;\r\n }\r\n else {\r\n if (this.emailMessagesList.length > 0) {\r\n var criteria = this.criteria.toLowerCase();\r\n this.filteredEmailMessagesList = this.emailMessagesList.filter(s => (s.message.toLowerCase().indexOf(criteria) != -1));\r\n }\r\n }\r\n }\r\n\r\n edit(id: string) {\r\n this.router.navigateByUrl('/manage-email-message/' + id);\r\n }\r\n\r\n closeModal() {\r\n this.modalService.close('confirmation-modal');\r\n }\r\n\r\n delete(id) {\r\n this.router.navigateByUrl('delete-email-message/' + id);\r\n }\r\n\r\n showMessages() {\r\n this.manageTabsDisplay('messages');\r\n }\r\n\r\n showEmail() {\r\n this.manageTabsDisplay('email');\r\n }\r\n\r\n manageTabsDisplay(tabIdentity) {\r\n for (var i = 0; i < this.displayTabs.length; i++) {\r\n var tab = this.displayTabs[i];\r\n if (tab.identity == tabIdentity) {\r\n tab.visible = true;\r\n this.currentTab = tabIdentity;\r\n } else {\r\n tab.visible = false;\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n\r\n
\r\n
0\" class=\"col margin-top-10\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SubjectMessageFooter messageActions
{{msg.subject}}{{msg.message | truncate}} View detail
{{msg.footerMessage}}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n No messages to show\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { OrganizationService } from '../services/organization-service';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { OrganizationTypeService } from '../services/organization-type.service';\r\n@Component({\r\n selector: 'app-organizations',\r\n templateUrl: './organizations.component.html',\r\n styleUrls: ['./organizations.component.css']\r\n})\r\nexport class OrganizationsComponent implements OnInit {\r\n organizationsList: any = [];\r\n organizationTypes: any = [];\r\n filteredOrganizationsList: any = [];\r\n organizationTypeId: number = 0;\r\n criteria: string = null;\r\n isLoading: boolean = true;\r\n infoMessage: string = null;\r\n showMessage: boolean = false;\r\n pagingSize: number = Settings.rowsPerPage;\r\n permissions: any = {};\r\n\r\n constructor(private organizationService: OrganizationService, private router: Router,\r\n private storeService: StoreService, private securityService: SecurityHelperService,\r\n private organizationTypeService: OrganizationTypeService) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditOrganization) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.getOrganizationTypes();\r\n this.getOrganizationsList();\r\n }\r\n\r\n getOrganizationsList() {\r\n this.organizationService.getOrganizationsList().subscribe(\r\n data => {\r\n this.isLoading = false;\r\n if (data && data.length) {\r\n this.organizationsList = data;\r\n this.filteredOrganizationsList = data;\r\n this.sortOrgsByDateUpdatedDesc();\r\n }\r\n }\r\n );\r\n }\r\n\r\n getOrganizationTypes() {\r\n this.organizationTypeService.getOrganizationTypes().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationTypes = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n\r\n searchOrganizations() {\r\n var organizations = [];\r\n if (this.organizationTypeId != 0) {\r\n organizations = this.organizationsList.filter(t => t.organizationTypeId == this.organizationTypeId);\r\n } else {\r\n organizations = this.organizationsList;\r\n }\r\n\r\n if (!this.criteria) {\r\n this.filteredOrganizationsList = organizations;\r\n }\r\n else {\r\n if (organizations.length > 0) {\r\n var criteria = this.criteria.toLowerCase();\r\n this.filteredOrganizationsList = organizations.filter(s => (s.organizationName.toLowerCase().indexOf(criteria) != -1));\r\n }\r\n }\r\n }\r\n\r\n formatDateUKStyle(dated: any) {\r\n var validDate = Date.parse(dated);\r\n if (isNaN(validDate)) {\r\n return 'Invalid date';\r\n }\r\n var datesArr = dated.split('/');\r\n return this.storeService.formatDateInUkStyle(parseInt(datesArr[2]), parseInt(datesArr[0]), parseInt(datesArr[1]));\r\n }\r\n\r\n sortOrgsByDateUpdatedAsc() {\r\n this.filteredOrganizationsList.sort(this.sortByDateAsc);\r\n }\r\n\r\n sortOrgsByDateUpdatedDesc() {\r\n this.filteredOrganizationsList.sort(this.sortByDateDesc);\r\n }\r\n\r\n edit(id: string) {\r\n this.router.navigateByUrl('/manage-organization/' + id);\r\n }\r\n\r\n delete(id: string) {\r\n this.router.navigateByUrl('/delete-organization/' + id);\r\n }\r\n\r\n sortByDateDesc(a,b){ \r\n var dateA = new Date(a.dateUpdated).getTime();\r\n var dateB = new Date(b.dateUpdated).getTime();\r\n return dateB > dateA ? 1 : -1; \r\n }; \r\n\r\n sortByDateAsc(a,b){ \r\n var dateA = new Date(a.dateUpdated).getTime();\r\n var dateB = new Date(b.dateUpdated).getTime();\r\n return dateA > dateB ? 1 : -1; \r\n }; \r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n\r\n
\r\n
0\" class=\"margin-top-10\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Organization nameType\r\n  \r\n Date updated \r\n  \r\n Actions
{{org.organizationName}}{{org.organizationType}}{{formatDateUKStyle(org.dateUpdated)}}\r\n \r\n  \r\n \r\n
\r\n \r\n
\r\n
\r\n No organizations to show\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport {Settings} from '../config/settings';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class SecurityHelperService {\r\n secretKey: string;\r\n userTypes: any = {\r\n \"SuperAdmin\": \"1\",\r\n \"Manager\": \"2\",\r\n \"Standard\": \"3\"\r\n }\r\n\r\n constructor() {\r\n this.secretKey = Settings.secretKey;\r\n }\r\n\r\n encryptText(text: string) {\r\n return (CryptoJS.AES.encrypt(text, this.secretKey));\r\n }\r\n\r\n decryptText(text: string) {\r\n return (CryptoJS.AES.decrypt(text, this.secretKey));\r\n }\r\n\r\n storeLoginData(userObj: any) {\r\n if (userObj.token && userObj.token != null) {\r\n var token = userObj.token;\r\n //var eToken = this.encryptText(token);\r\n localStorage.setItem('token', token);\r\n localStorage.setItem('userId', userObj.id);\r\n localStorage.setItem('userEmail', userObj.email);\r\n localStorage.setItem('displayName', userObj.displayName);\r\n localStorage.setItem('organizationId', userObj.organizationId);\r\n localStorage.setItem('organizationName', userObj.organizationName);\r\n localStorage.setItem('userType', userObj.userType);\r\n localStorage.setItem('isUnAffiliated', userObj.isUnAffiliated);\r\n localStorage.setItem('isLoggedIn', true.toString());\r\n }\r\n }\r\n\r\n checkIsLoggedIn() {\r\n return (localStorage.getItem('isLoggedIn') == 'true') ? true : false;\r\n }\r\n\r\n checkIsUnAffilated() {\r\n return (localStorage.getItem('isUnAffiliated') == 'true') ? true : false;\r\n }\r\n \r\n getUserOrganizationId() {\r\n return localStorage.getItem('organizationId');\r\n }\r\n\r\n getUserOrganization() {\r\n return localStorage.getItem(\"organizationName\");\r\n }\r\n\r\n getUserToken() {\r\n var token = localStorage.getItem('token');\r\n if (token && token != null) {\r\n return this.decryptText(token);\r\n }\r\n return null;\r\n }\r\n\r\n getUserEmail() {\r\n return localStorage.getItem('userEmail');\r\n }\r\n\r\n getUserId() {\r\n return localStorage.getItem('userId');\r\n }\r\n\r\n getUserPermissions() {\r\n var userType = localStorage.getItem(\"userType\");\r\n var permissions = {};\r\n if (userType == this.userTypes.Standard) {\r\n permissions = Settings.permissions.standard;\r\n } else if (userType == this.userTypes.SuperAdmin) {\r\n permissions = Settings.permissions.superAdmin;\r\n } else if (userType == this.userTypes.Manager) {\r\n permissions = Settings.permissions.manager;\r\n } else {\r\n permissions = Settings.permissions.guest;\r\n }\r\n return permissions;\r\n }\r\n\r\n addSlashes(str: string) {\r\n return str.replace(/\\\\/g, '\\\\\\\\').\r\n replace(/\\//g, '\\\\/').\r\n replace(/\\u0008/g, '\\\\b').\r\n replace(/\\t/g, '\\\\t').\r\n replace(/\\n/g, '\\\\n').\r\n replace(/\\f/g, '\\\\f').\r\n replace(/\\r/g, '\\\\r').\r\n replace(/'/g, '\\\\\\'').\r\n replace(/\"/g, '\\\\\"');\r\n }\r\n\r\n clearLoginSession() {\r\n localStorage.setItem('token', null);\r\n localStorage.setItem('displayName', null);\r\n localStorage.setItem('organizationId', null);\r\n localStorage.setItem('userType', null);\r\n localStorage.setItem('isLoggedIn', false.toString());\r\n }\r\n \r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MarkerService } from '../services/marker.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-delete-marker',\r\n templateUrl: './delete-marker.component.html',\r\n styleUrls: ['./delete-marker.component.css']\r\n})\r\n\r\nexport class DeleteMarkerComponent implements OnInit {\r\n projectsList: any = [];\r\n permissions: any = {};\r\n id: number = 0;\r\n requestNo: number = 0;\r\n errorMessage: string = null;\r\n isLoading: boolean = false;\r\n @BlockUI() blockUI: NgBlockUI;\r\n \r\n constructor(private markerService: MarkerService, private securityService: SecurityHelperService,\r\n private router: Router, private route: ActivatedRoute, private storeService: StoreService,\r\n private errorModal: ErrorModalComponent) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditCustomFields) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n if (this.route.snapshot.data) {\r\n this.id = this.route.snapshot.params[\"{id}\"];\r\n }\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n this.getMarkerProjects();\r\n }\r\n\r\n getMarkerProjects() {\r\n this.markerService.getMarkerProjects(this.id.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.projectsList = data;\r\n }\r\n }\r\n ) \r\n }\r\n\r\n deleteMarker() {\r\n this.blockUI.start('Deleting marker...');\r\n this.markerService.deleteMarker(this.id).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('markers');\r\n }\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Affected projects list
\r\n
\r\n Loading projects...\r\n
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n \r\n {{number + 1}} {{project.title}}\r\n \r\n
\r\n \r\n No projects to show\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
Delete confirmation
\r\n
\r\n

\r\n Please see the list of effected projects in case of deletion of this marker.\r\n Please review the list, as this action cannot be undone.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DatabackupService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) {\r\n\r\n }\r\n\r\n performBackup() {\r\n var url = this.urlHelper.getDataBackupUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Data backup')));\r\n }\r\n\r\n getBackupFiles() {\r\n var url = this.urlHelper.getBackupFilesUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Backup files')));\r\n }\r\n\r\n deleteBackup(model: any) {\r\n var url = this.urlHelper.getDeleteBackupUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete backup')));\r\n }\r\n\r\n performRestore(model: any) {\r\n var url = this.urlHelper.getDataRestoreUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Data restore')));\r\n }\r\n}","import { Component, OnInit, Input } from '@angular/core';\r\nimport { LocationService } from '../services/location.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Messages } from '../config/messages';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-manage-location',\r\n templateUrl: './manage-location.component.html',\r\n styleUrls: ['./manage-location.component.css']\r\n})\r\nexport class ManageLocationComponent implements OnInit {\r\n\r\n @Input()\r\n isForEdit: boolean = false;\r\n isBtnDisabled: boolean = false;\r\n orgId: number = 0;\r\n btnText: string = 'Add Location';\r\n errorMessage: string = '';\r\n locationTypes: any = null;\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n permissions: any = {};\r\n model = { id: 0, location: '', latitude: 0.00, longitude: 0.00 };\r\n\r\n constructor(private locationService: LocationService, private route: ActivatedRoute,\r\n private router: Router, private storeService: StoreService,\r\n private securityService: SecurityHelperService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditLocation) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n if (this.route.snapshot.data && this.route.snapshot.data.isForEdit) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Edit Location';\r\n this.isForEdit = true;\r\n this.orgId = id;\r\n this.locationService.getLocation(id).subscribe(\r\n data => {\r\n this.model.id = data.id;\r\n this.model.location = data.location;\r\n this.model.latitude = data.latitude;\r\n this.model.longitude = data.longitude;\r\n },\r\n error => {\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n saveLocation() {\r\n var model = {\r\n Location: this.model.location,\r\n Latitude: this.model.latitude,\r\n Longitude: this.model.longitude\r\n };\r\n\r\n this.isBtnDisabled = true;\r\n if (this.isForEdit) {\r\n this.btnText = 'Updating...';\r\n this.locationService.updateLocation(this.model.id, model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n var message = 'Location' + Messages.RECORD_UPDATED;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('locations');\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.isError = true;\r\n this.errorMessage = error;\r\n this.resetFormState();\r\n }\r\n );\r\n } else {\r\n this.btnText = 'Saving...';\r\n this.locationService.addLocation(model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n var message = 'New location' + Messages.NEW_RECORD;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('locations');\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.resetFormState();\r\n }\r\n );\r\n }\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n if (this.isForEdit) {\r\n this.btnText = 'Edit Location';\r\n } else {\r\n this.btnText = 'Add Location';\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Location
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Location name is required\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ModalService {\r\n private modals: any[] = [];\r\n\r\n add(modal: any) {\r\n // add modal to array of active modals\r\n this.modals.push(modal);\r\n }\r\n\r\n remove(id: string) {\r\n // remove modal from array of active modals\r\n this.modals = this.modals.filter(x => x.id !== id);\r\n }\r\n\r\n open(id: string) {\r\n // open modal specified by id\r\n let modal: any = this.modals.filter(x => x.id === id)[0];\r\n modal.open();\r\n }\r\n\r\n close(id: string) {\r\n // close modal specified by id\r\n let modal: any = this.modals.filter(x => x.id === id)[0];\r\n modal.close();\r\n }\r\n\r\n}","import { Component } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { CustomValidators } from './custom-validators';\r\nimport { StoreService } from '../services/store-service';\r\nimport { UserService } from '../services/user-service';\r\n\r\n\r\n@Component({\r\n selector: 'password-change',\r\n templateUrl: './password-change.component.html',\r\n styleUrls: ['./password-change.component.css']\r\n})\r\nexport class PasswordChangeComponent{\r\n public frmChangePassword: FormGroup;\r\n btnText: string = 'Save';\r\n isBtnDisabled: boolean = false;\r\n\r\n constructor(private fb: FormBuilder) {\r\n this.frmChangePassword = this.createChangePasswordForm();\r\n }\r\n\r\n createChangePasswordForm(): FormGroup {\r\n return this.fb.group(\r\n {\r\n password: [\r\n null,\r\n Validators.compose([\r\n Validators.required,\r\n Validators.minLength(4)\r\n ])\r\n ],\r\n confirmPassword: [null, Validators.compose([Validators.required])]\r\n },\r\n {\r\n // Check if password and confirm password match\r\n validator: CustomValidators.passwordMatchValidator\r\n }\r\n );\r\n }\r\n\r\n submit() {\r\n \t//this.userService.editPassword().subscribe(\r\n // data => {\r\n // console.log(data);\r\n \r\n // },\r\n // error => {\r\n // console.log(\"Request Failed: \", error);\r\n // }\r\n\r\n console.log(\"Button was enabled and submitted\")\r\n \r\n };\r\n}","
\r\n
\r\n
\r\n
\r\n
\r\n
Change Password
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { OrganizationService } from '../services/organization-service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Messages } from '../config/messages';\r\nimport { StoreService } from '../services/store-service';\r\nimport { IATIService } from '../services/iati.service';\r\nimport { Settings } from '../config/settings';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\n\r\n@Component({\r\n selector: 'manage-organization',\r\n templateUrl: './manage-organization.component.html',\r\n styleUrls: ['./manage-organization.component.css']\r\n})\r\nexport class ManageOrganizationComponent implements OnInit {\r\n @Input()\r\n isForEdit: boolean = false;\r\n permissions: any = {};\r\n isBtnDisabled: boolean = false;\r\n orgId: number = 0;\r\n btnText: string = 'Add Organization';\r\n errorMessage: string = '';\r\n organizationTypes: any = [];\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n iatiOrganizations: any = [];\r\n filteredIATIOrganizations: any = [];\r\n model = { id: 0, organizationTypeId: null, organizationName: '' };\r\n\r\n constructor(private organizationService: OrganizationService, private route: ActivatedRoute,\r\n private router: Router,\r\n private storeService: StoreService,\r\n private securityService: SecurityHelperService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditOrganization) {\r\n this.router.navigateByUrl('home');\r\n }\r\n if (this.route.snapshot.data && this.route.snapshot.data.isForEdit) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Edit organization';\r\n this.isForEdit = true;\r\n this.orgId = id;\r\n this.getOrganizationTypes();\r\n }\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n getOrganizationData() {\r\n if (this.orgId) {\r\n this.organizationService.getOrganization(this.orgId.toString()).subscribe(\r\n data => {\r\n this.model.id = data.id;\r\n this.model.organizationName = data.organizationName;\r\n this.model.organizationTypeId = data.organizationTypeId;\r\n }\r\n );\r\n }\r\n }\r\n \r\n getOrganizationTypes() {\r\n this.organizationService.getOrganizationTypes().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationTypes = data;\r\n this.getOrganizationData();\r\n }\r\n }\r\n );\r\n }\r\n\r\n saveOrganization() {\r\n var model = {\r\n organizationTypeId: parseInt(this.model.organizationTypeId),\r\n Name: this.model.organizationName,\r\n };\r\n\r\n this.isBtnDisabled = true;\r\n if (this.isForEdit) {\r\n this.btnText = 'Updating...';\r\n this.organizationService.updateOrganization(this.model.id, model).subscribe(\r\n data => {\r\n if (data) {\r\n if (!this.isError) {\r\n var message = 'Organization' + Messages.RECORD_UPDATED;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('organizations');\r\n } else {\r\n this.resetFormState();\r\n }\r\n }\r\n },\r\n error => {\r\n this.isError = true;\r\n this.errorMessage = error;\r\n this.resetFormState();\r\n }\r\n );\r\n } else {\r\n this.btnText = 'Saving...';\r\n this.organizationService.addOrganization(model).subscribe(\r\n data => {\r\n if (data) {\r\n if (!this.isError) {\r\n var message = 'New organization' + Messages.NEW_RECORD;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('organizations');\r\n } else {\r\n this.resetFormState();\r\n }\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.resetFormState();\r\n }\r\n );\r\n }\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n if (this.isForEdit) {\r\n this.btnText = 'Edit organization';\r\n } else {\r\n this.btnText = 'Add organization';\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Organization
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Organization Name is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Organization Name is required\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { Settings } from '../config/settings';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { SponsorLogoService } from '../services/sponsor-logo.service';\r\n\r\n@Component({\r\n selector: 'app-manage-sponsor-logos',\r\n templateUrl: './manage-sponsor-logos.component.html',\r\n styleUrls: ['./manage-sponsor-logos.component.css']\r\n})\r\nexport class ManageSponsorLogosComponent implements OnInit {\r\n\r\n selectedFiles: FileList;\r\n currentFile: File;\r\n progress = 0;\r\n message: string = null;\r\n errorMessage: string = null;\r\n fileInfos: Observable;\r\n permissions: any = {};\r\n isBtnDisabled: boolean = false;\r\n btnText: string = 'Save sponsor';\r\n\r\n model: any = { sponsorName: null, logo: null };\r\n constructor(private sponsorService: SponsorLogoService,\r\n private errorModal: ErrorModalComponent,\r\n private securityService: SecurityHelperService,\r\n private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditSponsors) {\r\n this.router.navigateByUrl('home');\r\n }\r\n }\r\n\r\n selectFile(event): void {\r\n this.selectedFiles = event.target.files;\r\n }\r\n\r\n saveSponsor() {\r\n if (this.selectedFiles == undefined) {\r\n this.errorMessage = 'Select the logo to upload';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.isBtnDisabled = true;\r\n this.btnText = 'Saving...';\r\n this.progress = 0;\r\n this.currentFile = this.selectedFiles.item(0);\r\n this.sponsorService.uploadAndSaveLogo(this.currentFile, this.model.sponsorName).subscribe(\r\n event => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n } else if (event instanceof HttpResponse) {\r\n this.message = event.body.message;\r\n setTimeout(() => {\r\n this.router.navigateByUrl('sponsors');\r\n }, 2000);\r\n }\r\n },\r\n err => {\r\n this.btnText = 'Save sponsor';\r\n this.isBtnDisabled = false;\r\n this.progress = 0;\r\n this.errorMessage = 'Could not upload the file!';\r\n //this.currentFile = undefined;\r\n this.errorModal.openModal();\r\n });\r\n\r\n //this.selectedFiles = undefined;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Manage sponsor logo
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Sponsor name is required\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n ","import { Injectable } from '@angular/core';\r\nimport * as urlsList from \"../config/urls\";\r\nimport { environment } from 'src/environments/environment.prod';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UrlHelperService {\r\n BASE_URL : string; \r\n \r\n constructor() {\r\n if (environment.backendApiUrl.indexOf('http') != -1) {\r\n this.BASE_URL = environment.backendApiUrl;\r\n } else {\r\n this.BASE_URL = urlsList.urls.baseUrl; \r\n }\r\n }\r\n\r\n getBaseUrl() {\r\n return this.BASE_URL;\r\n }\r\n\r\n getLogosUrl() {\r\n var urlWithoutAPI = this.BASE_URL.substring(0, this.BASE_URL.length - 4);\r\n return urlWithoutAPI + 'Logos/'; \r\n }\r\n\r\n getExcelFilesUrl() {\r\n var excelBaseUrl = this.BASE_URL;\r\n if (excelBaseUrl.indexOf('api') != -1) {\r\n excelBaseUrl = excelBaseUrl.substring(0, excelBaseUrl.length - 4);\r\n }\r\n return (excelBaseUrl + urlsList.urls.excelFilesShortUrl);\r\n }\r\n\r\n getDataBackupFilesDownloadUrl() {\r\n var backupFilesUrl = this.BASE_URL;\r\n if (backupFilesUrl.indexOf('api') != -1) {\r\n backupFilesUrl = backupFilesUrl.substring(0, backupFilesUrl.length - 4);\r\n }\r\n return (backupFilesUrl + urlsList.urls.dataBackupFilesShortUrl);\r\n }\r\n\r\n userTokenUrl() {\r\n return (this.BASE_URL + urlsList.urls.getToken);\r\n }\r\n\r\n emailAvailabilityUrl(email: string) {\r\n return (this.BASE_URL + urlsList.urls.checkEmailAvailability + email);\r\n }\r\n\r\n userRegistrationUrl() {\r\n return (this.BASE_URL + urlsList.urls.userRegistration);\r\n }\r\n\r\n organizationsListUrl() {\r\n return (this.BASE_URL + urlsList.urls.organizationsList);\r\n }\r\n\r\n getMergeOrganizationsRequestUrl() {\r\n return (this.BASE_URL + urlsList.urls.organizationsMergeRequest);\r\n }\r\n\r\n organizationsAppliedForMergeUrl() {\r\n return (this.BASE_URL + urlsList.urls.organizationsAppliedForMerge);\r\n }\r\n\r\n getIfOrganizationsHaveUsersUrl() {\r\n return (this.BASE_URL + urlsList.urls.organizationsHaveUsersUrl);\r\n }\r\n\r\n getMergeOrganizationsRequestsForUserUrl() {\r\n return (this.BASE_URL + urlsList.urls.getOrgMergeRequestsForUser);\r\n }\r\n\r\n getApproveMergeOrganizationsRequestUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.approveOrganizationMergeRequest + id);\r\n }\r\n\r\n getRejectMergeOrganizationsRequestUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.rejectOrganizationsMergeRequest + id);\r\n }\r\n\r\n getMergeOrganizationsUrl() {\r\n return (this.BASE_URL + urlsList.urls.mergeOrganization);\r\n }\r\n\r\n getUserOrganizationsUrl() {\r\n return (this.BASE_URL + urlsList.urls.userOrganizationsUrl);\r\n }\r\n\r\n getRenameOrganizationUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.renameOrganization + id);\r\n }\r\n\r\n deleteOrganizationUrl(id: string, newId: string) {\r\n return (this.BASE_URL + urlsList.urls.deleteOrganization + id + '/' + newId);\r\n }\r\n\r\n deleteOrganizationTypeUrl(id: string, newId: string) {\r\n return (this.BASE_URL + urlsList.urls.organizationTypeUrl + '/' + id + '/' + newId);\r\n }\r\n\r\n getOrganizationProjectsUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.organizationProjects + id);\r\n }\r\n\r\n organizationsFilterUrl(criteria: string) {\r\n return (this.BASE_URL + urlsList.urls.searchOrganizations + criteria);\r\n }\r\n\r\n organizationTypesUrl() {\r\n return (this.BASE_URL + urlsList.urls.organizationTypesList);\r\n }\r\n\r\n getOrganizationWithTypeUrl() {\r\n return (this.BASE_URL + urlsList.urls.organizationsWithTypeUrl);\r\n }\r\n\r\n getNotificationsUrl() {\r\n return (this.BASE_URL + urlsList.urls.notifications);\r\n }\r\n\r\n getNotificationsCountUrl() {\r\n return (this.BASE_URL + urlsList.urls.notificationsCount);\r\n }\r\n\r\n markNotificationsReadUrl() {\r\n return (this.BASE_URL + urlsList.urls.markNotificationsRead);\r\n }\r\n\r\n deleteNotificationsUrl() {\r\n return (this.BASE_URL + urlsList.urls.deleteNotifications);\r\n }\r\n\r\n userAccountActivationUrl() {\r\n return (this.BASE_URL + urlsList.urls.userAccountActivation);\r\n }\r\n\r\n userAccountLimitedActivationUrl() {\r\n return (this.BASE_URL + urlsList.urls.activateAccountInactiveOrganization);\r\n }\r\n\r\n getSearchOrganizationUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getOrganization + id);\r\n }\r\n\r\n getEditUserPasswordUrl() {\r\n return (this.BASE_URL + urlsList.urls.editUserPassword);\r\n }\r\n\r\n getDeleteAccountUrl() {\r\n return (this.BASE_URL + urlsList.urls.deleteUserAccount);\r\n }\r\n\r\n getResetPasswordRequestUrl() {\r\n return (this.BASE_URL + urlsList.urls.resetPasswordRequest);\r\n }\r\n\r\n getResetPasswordUrl() {\r\n return (this.BASE_URL + urlsList.urls.resetPassword);\r\n }\r\n \r\n getOrganizationUrl() {\r\n return (this.BASE_URL + urlsList.urls.organizationUrl);\r\n }\r\n\r\n getAllOrganizationsUrl() {\r\n return (this.BASE_URL + urlsList.urls.allOrganizationsList);\r\n }\r\n\r\n getCurrencyUrl() {\r\n return (this.BASE_URL + urlsList.urls.getCurrency);\r\n }\r\n\r\n getCurrencyByIdUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getCurrencyById + id);\r\n }\r\n\r\n getDefaultCurrencyUrl() {\r\n return (this.BASE_URL + urlsList.urls.getDefaultCurrency);\r\n }\r\n\r\n getNationalCurrencyUrl() {\r\n return (this.BASE_URL + urlsList.urls.getNationalCurrency);\r\n }\r\n\r\n getCurrenciesForUserUrl() {\r\n return (this.BASE_URL + urlsList.urls.currenciesForUserUrl);\r\n }\r\n\r\n getExRateSettingsUrl() {\r\n return (this.BASE_URL + urlsList.urls.getExchangeRateSettingsUrl);\r\n }\r\n\r\n getManualExRatesUrl() {\r\n return (this.BASE_URL + urlsList.urls.manualExchangeRates);\r\n }\r\n\r\n getExRateAutoSettingsUrl() {\r\n return (this.BASE_URL + urlsList.urls.setExchangeRateAutoSettingsUrl);\r\n }\r\n\r\n getManualExchangeRatesUrl() {\r\n return (this.BASE_URL + urlsList.urls.manualExchangeRates);\r\n }\r\n\r\n getManualExchangeRatesByDateUrl(dated: string) {\r\n return (this.BASE_URL + urlsList.urls.manualExRatesByDate + dated);\r\n }\r\n\r\n getManualExchangeRatesForCurrency(code: string) {\r\n return (this.BASE_URL + urlsList.urls.manualExRatesForCurrency + code);\r\n }\r\n\r\n getExchangeRateUsageUrl() {\r\n return (this.BASE_URL + urlsList.urls.exchangeRateUsageUrl);\r\n }\r\n\r\n getExchangeRateUsageByIdUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.exchangeRateUsageUrl + '/' + id);\r\n }\r\n\r\n getExchangeRateUsageEditUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.exchangeRateUsageUrl + '/' + id);\r\n }\r\n\r\n saveAPIKeyOpenExchangeUrl() {\r\n return (this.BASE_URL + urlsList.urls.saveAPIKeyOpenExchange);\r\n }\r\n\r\n setLabelForManualExRatesUrl() {\r\n return (this.BASE_URL + urlsList.urls.setLabelForManualExRates);\r\n }\r\n\r\n getUpdateDefaultCurrencyUrl(id: number) {\r\n return (this.BASE_URL + urlsList.urls.setDefaultCurrency + id);\r\n }\r\n\r\n getUpdateNationalCurrencyUrl(id: number) {\r\n return (this.BASE_URL + urlsList.urls.setNationalCurrency + id);\r\n }\r\n\r\n saveManualCurrencyRatesUrl() {\r\n return (this.BASE_URL + urlsList.urls.saveManualExchangeRates);\r\n }\r\n\r\n getExchangeRatesUrl() {\r\n return (this.BASE_URL + urlsList.urls.exchangeRateUrl)\r\n }\r\n\r\n getExchangeRatesForDateUrl(dated: string) {\r\n return (this.BASE_URL + urlsList.urls.exchangeRateForDate + dated);\r\n }\r\n\r\n getSearchCurrencyUrl(criteria: string) {\r\n return (this.BASE_URL + urlsList.urls.getCurrency + '/' + criteria);\r\n }\r\n\r\n getDeleteCurrencyUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getCurrency + '/' + id);\r\n }\r\n\r\n getSingleLocationUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getLocation + id);\r\n }\r\n\r\n getLocationProjectsUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.locationProjects + id);\r\n }\r\n\r\n getSearchLocationsUrl(criteria: string) {\r\n return (this.BASE_URL + urlsList.urls.locationUrl + '/' + criteria);\r\n }\r\n\r\n getLocationUrl() {\r\n return (this.BASE_URL + urlsList.urls.locationUrl);\r\n }\r\n\r\n getSubLocationUrl() {\r\n return (this.BASE_URL + urlsList.urls.subLocationUrl);\r\n }\r\n\r\n getSubLocationsForLocationUrl() {\r\n return (this.BASE_URL + urlsList.urls.subLocationForLocationUrl);\r\n }\r\n\r\n deleteLocationUrl(id: string, newId: string) {\r\n return (this.BASE_URL + urlsList.urls.deleteLocation + id + '/' + newId);\r\n }\r\n\r\n getMarkerUrl() {\r\n return (this.BASE_URL + urlsList.urls.markersUrl);\r\n }\r\n\r\n getMarkerByIdUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.markersUrl + '/' + id);\r\n }\r\n\r\n getActiveMarkersUrl() {\r\n return (this.BASE_URL + urlsList.urls.activeMarkersUrl);\r\n }\r\n\r\n getDeleteMarkerUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.markersUrl + '/' + id);\r\n }\r\n\r\n getDeleteProjectMarkerUrl(projectId: string, markerId: string) {\r\n return (this.BASE_URL + urlsList.urls.deleteProjectMarker + projectId + '/' + markerId);\r\n }\r\n\r\n getFieldProjectsUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.markerProjects + id);\r\n }\r\n\r\n getLatestProjectsUrl() {\r\n return (this.BASE_URL + urlsList.urls.latestProjects);\r\n }\r\n\r\n addProjectMarkerUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectField);\r\n }\r\n\r\n getFundingTypesUrl() {\r\n return (this.BASE_URL + urlsList.urls.fundingTypeUrl);\r\n }\r\n\r\n getSingleFundingTypeUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.fundingTypeUrl + '/' + id);\r\n } \r\n\r\n getEmailMessagesUrl() {\r\n return (this.BASE_URL + urlsList.urls.emailMessageUrl);\r\n }\r\n\r\n getSingleEmailMessageUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.emailMessageUrl + '/' + id);\r\n }\r\n\r\n getDefaultSectorTypeUrl() {\r\n return (this.BASE_URL + urlsList.urls.defaultSectorTypeUrl);\r\n }\r\n\r\n getSingleSectorTypeUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getSectorType + id);\r\n }\r\n\r\n getSectorTypesUrl() {\r\n return(this.BASE_URL + urlsList.urls.sectorTypesUrl);\r\n }\r\n\r\n getSearchSectorTypeUrl(criteria: string) {\r\n return (this.BASE_URL + urlsList.urls.sectorTypesUrl + '/' + criteria);\r\n }\r\n\r\n getSectorChildrenUrl(id: string) {\r\n return(this.BASE_URL + urlsList.urls.sectorChildren + id);\r\n }\r\n\r\n getSectorTypeUrl() {\r\n return (this.BASE_URL + urlsList.urls.sectorTypesUrl);\r\n }\r\n\r\n getSectorProjectsUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.sectorProjects + id);\r\n }\r\n\r\n setSectorChildUrl(sectorId: string, childId: string) {\r\n return (this.BASE_URL + urlsList.urls.setSectorChild + sectorId + '/' + childId);\r\n }\r\n\r\n removeSectorChildUrl(sectorId: string, childId: string) {\r\n return (this.BASE_URL + urlsList.urls.removeSectorChild + sectorId + '/' + childId);\r\n }\r\n\r\n getSingleSectorCategoryUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getSectorCategory + id);\r\n }\r\n\r\n getSearchSectorCategoryUrl(criteria: string) {\r\n return (this.BASE_URL + urlsList.urls.sectorCategoriesUrl + '/' + criteria);\r\n }\r\n\r\n getSectorCategoryUrl() {\r\n return (this.BASE_URL + urlsList.urls.sectorCategoriesUrl);\r\n }\r\n\r\n getSingleSectorSubCategoryUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getSectorSubCategory + id);\r\n }\r\n\r\n getSearchSectorSubCategoryUrl(criteria: string) {\r\n return (this.BASE_URL + urlsList.urls.sectorSubCategoriesUrl + '/' + criteria);\r\n }\r\n\r\n getSectorSubCategoryUrl() {\r\n return (this.BASE_URL + urlsList.urls.sectorSubCategoriesUrl);\r\n }\r\n\r\n getSingleSectorUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getSector + id);\r\n }\r\n\r\n getSearchSectorsUrl(criteria: string) {\r\n return (this.BASE_URL + urlsList.urls.sectorsUrl + '/' + criteria);\r\n }\r\n\r\n getSectorUrl() {\r\n return (this.BASE_URL + urlsList.urls.sectorsUrl);\r\n }\r\n\r\n saveSectorWithMappingUrl() {\r\n return (this.BASE_URL + urlsList.urls.addSectorWithMapping);\r\n }\r\n\r\n deleteSectorUrl(id: string, newId: string) {\r\n return (this.BASE_URL + urlsList.urls.deleteSector + id + '/' + newId);\r\n }\r\n\r\n getAllSectors() {\r\n return (this.BASE_URL + urlsList.urls.sectorsUrl);\r\n }\r\n\r\n getDefaultSectorsUrl() {\r\n return (this.BASE_URL + urlsList.urls.getDefaultSectors);\r\n }\r\n\r\n getOtherSectorTypesUrl() {\r\n return (this.BASE_URL + urlsList.urls.otherSectorTypesUrl);\r\n }\r\n\r\n getAllSectorMappingsUrl() {\r\n return (this.BASE_URL + urlsList.urls.allSectorMappingsUrl);\r\n }\r\n\r\n getSectorMappingsUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.sectorMappingsUrl + id);\r\n }\r\n\r\n getSectorMappingsAddOrUpdateUrl() {\r\n return (this.BASE_URL + urlsList.urls.sectorMappingsAddOrUpdateUrl);\r\n }\r\n\r\n getDeleteSectorMappingsUrl(sectorId: string, mappingId: string) {\r\n return (this.BASE_URL + urlsList.urls.sectorMappings + '/' + sectorId + '/' + mappingId);\r\n }\r\n\r\n saveSectorMappingsUrl() {\r\n return (this.BASE_URL + urlsList.urls.sectorMappings);\r\n }\r\n\r\n getMappingsForSectorUrl(sectorId: string) {\r\n return (this.BASE_URL + urlsList.urls.mappingsForSector + sectorId);\r\n }\r\n\r\n getMappingsForSectorByNameUrl() {\r\n return (this.BASE_URL + urlsList.urls.mappingsForSectorByName);\r\n }\r\n\r\n getSectorsForTypeUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.sectorsForTypesUrl + id);\r\n }\r\n\r\n getSingleProjectTypeUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getProjectType + id);\r\n }\r\n\r\n getMergeProjectsUrl() {\r\n return (this.BASE_URL + urlsList.urls.mergeProjects);\r\n }\r\n\r\n getSearchProjectTypesUrl(criteria: string) {\r\n return (this.BASE_URL + urlsList.urls.projectTypesUrl + '/' + criteria);\r\n }\r\n\r\n getProjectTitlesUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectTitlesUrl);\r\n }\r\n\r\n getProjectTypesUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectTypesUrl);\r\n }\r\n\r\n getSingleProjectUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getProject + id);\r\n }\r\n\r\n getSearchProjectsUrl(criteria: string) {\r\n return (this.BASE_URL + urlsList.urls.projectsUrl + '/' + criteria);\r\n }\r\n\r\n getProjectUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectsUrl);\r\n }\r\n\r\n getProjectsWithDetail() {\r\n return (this.BASE_URL + urlsList.urls.projectsDetailUrl);\r\n }\r\n\r\n getProjectLocationsUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getProjectLocationsUrl + id);\r\n }\r\n\r\n addProjectLocationUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectLocation);\r\n }\r\n\r\n deleteProjectLocationUrl(projectId: string, locationId: string) {\r\n return (this.BASE_URL + urlsList.urls.deleteProjectLocation + projectId + '/' + locationId);\r\n }\r\n\r\n getProjectSectorsUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getProjectSectorsUrl + id);\r\n }\r\n\r\n addProjectSectorUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectSector);\r\n }\r\n\r\n deleteProjectSectorUrl(projectId: string, locationId: string) {\r\n return (this.BASE_URL + urlsList.urls.deleteProjectSector + projectId + '/' + locationId);\r\n }\r\n\r\n getProjectFundersUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getProjectFundersUrl + id);\r\n }\r\n\r\n addProjectFunderUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectFunder);\r\n }\r\n\r\n addProjectFunderFromSourceUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectFunderFromSource);\r\n }\r\n\r\n addProjectImplementerFromSourceUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectImplementerFromSource);\r\n }\r\n\r\n getProjectProfileReport(id) {\r\n return (this.BASE_URL + urlsList.urls.getProjectProfileReport + id);\r\n }\r\n\r\n getProjectReportUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getProjectReport + id);\r\n }\r\n\r\n getAllProjectsReportUrl() {\r\n return (this.BASE_URL + urlsList.urls.allProjectsReport);\r\n }\r\n\r\n deleteProjectFunderUrl(projectId: string, funderId: string) {\r\n return (this.BASE_URL + urlsList.urls.deleteProjectFunder + projectId + '/' + funderId);\r\n }\r\n\r\n getProjectImplementersUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getProjectImplementersUrl + id);\r\n }\r\n\r\n addProjectImplementerUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectImplementer);\r\n }\r\n\r\n deleteProjectImplementerUrl(projectId: string, implementerId: string) {\r\n return (this.BASE_URL + urlsList.urls.deleteProjectImplementer + projectId + '/' + implementerId);\r\n }\r\n\r\n getProjectDisbursementsUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getProjectDisbursementUrl + id);\r\n }\r\n\r\n getCreateProjectDisbursementsUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.createProjectDisbursementsUrl + id);\r\n }\r\n\r\n getAdjustProjectDisbursementsUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.adjustProjectDisbursementsUrl + id);\r\n }\r\n\r\n addProjectDisbursementUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectDisbursement);\r\n }\r\n\r\n deleteProjectDisbursementUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.deleteProjectDisbursement + id);\r\n }\r\n\r\n getProjectDocumentsUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getProjectDocumentUrl + id);\r\n }\r\n\r\n addProjectDocumentUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectDocument);\r\n }\r\n\r\n deleteProjectDocumentUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.deleteProjectDocument + id);\r\n }\r\n\r\n getIATIActivitiesUrl() {\r\n return (this.BASE_URL + urlsList.urls.iatiActivities);\r\n }\r\n\r\n getFilteredIATIActivitiesUrl(criteria: string) {\r\n return (this.BASE_URL + urlsList.urls.iatiMatchingActivities + '/' + criteria);\r\n }\r\n\r\n getIATIOrganizationsUrl() {\r\n return (this.BASE_URL + urlsList.urls.iatiOrganizationsUrl);\r\n }\r\n\r\n getIATIProjectsUrl() {\r\n return (this.BASE_URL + urlsList.urls.iatiProjects);\r\n }\r\n\r\n getProjectTitle(id: string) {\r\n return (this.BASE_URL + urlsList.urls.getProjectTitle + id);\r\n }\r\n\r\n extractProjectsByIds() {\r\n return (this.BASE_URL + urlsList.urls.iatiProjectsByIds);\r\n }\r\n\r\n extractAIMSProjectsByIds() {\r\n return (this.BASE_URL + urlsList.urls.aimsProjectsByIds);\r\n }\r\n\r\n getSearchProjectsViewUrl() {\r\n return (this.BASE_URL + urlsList.urls.searchProjectsViewByCriteria);\r\n }\r\n\r\n getFinancialYearsUrl() {\r\n return (this.BASE_URL + urlsList.urls.getFinancialYears);\r\n }\r\n\r\n getFinancialYearsForEnvelopeUrl() {\r\n return (this.BASE_URL + urlsList.urls.envelopeFinancialYearsUrl);\r\n }\r\n\r\n getFinancialYearsForEnvelopeEntryUrl() {\r\n return (this.BASE_URL + urlsList.urls.envelopeEntryFinancialYearsUrl);\r\n }\r\n\r\n getFinancialYearRangeUrl() {\r\n return (this.BASE_URL + urlsList.urls.financialYearsRangeUrl);\r\n }\r\n\r\n getIATISettingsUrl() {\r\n return (this.BASE_URL + urlsList.urls.getIatiSettings);\r\n }\r\n\r\n getIATISettingsListUrl() {\r\n return (this.BASE_URL + urlsList.urls.getIatiSettingsList);\r\n }\r\n\r\n setIATISettingsUrl() {\r\n return (this.BASE_URL + urlsList.urls.setIatiSettings);\r\n }\r\n\r\n getLoadLatestIATIUrl() {\r\n return (this.BASE_URL + urlsList.urls.loadLatestIATI);\r\n }\r\n\r\n getSMTPSettingsUrl() {\r\n return (this.BASE_URL + urlsList.urls.smtpSettings);\r\n }\r\n\r\n getUserSubscriptionsUrl() {\r\n return (this.BASE_URL + urlsList.urls.userSubscriptionsUrl);\r\n }\r\n\r\n getUsersUrl() {\r\n return (this.BASE_URL + urlsList.urls.usersUrl);\r\n }\r\n\r\n getPromoteUserUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.promoteUserUrl + id);\r\n }\r\n\r\n getDemoteUserUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.demoteUserUrl + id);\r\n }\r\n\r\n getManagerUsersUrl() {\r\n return (this.BASE_URL + urlsList.urls.getManagerUsers);\r\n }\r\n\r\n getStandardUsersUrl() {\r\n return (this.BASE_URL + urlsList.urls.getStandardUsers);\r\n }\r\n\r\n getSendEmailUrl() {\r\n return (this.BASE_URL + urlsList.urls.sendEmailUrl);\r\n }\r\n\r\n //Reports url\r\n getSectorProjectsReportUrl() {\r\n return (this.BASE_URL + urlsList.urls.sectorProjectsReport);\r\n }\r\n\r\n getNoSectorProjectsReportUrl() {\r\n return (this.BASE_URL + urlsList.urls.noSectorProjectsReport);\r\n }\r\n\r\n getNoLocationProjectsReportUrl() {\r\n return (this.BASE_URL + urlsList.urls.noLocationProjectsReport);\r\n }\r\n\r\n getLocationProjectsReportUrl() {\r\n return (this.BASE_URL + urlsList.urls.locationProjectsReport);\r\n }\r\n\r\n getYearlyProjectsReportUrl() {\r\n return(this.BASE_URL + urlsList.urls.yearlyProjectsReport);\r\n }\r\n\r\n getSearchProjectsReportUrl() {\r\n return (this.BASE_URL + urlsList.urls.searchProjectsByCriteriaReport);\r\n }\r\n\r\n getBudgetReportUrl() {\r\n return (this.BASE_URL + urlsList.urls.budgetReport);\r\n }\r\n\r\n getBudgetSummaryReportUrl() {\r\n return (this.BASE_URL + urlsList.urls.budgetSummaryReport);\r\n }\r\n\r\n getEnvelopeReportUrl() {\r\n return (this.BASE_URL + urlsList.urls.envelopeReport);\r\n }\r\n\r\n getReportNamesUrl() {\r\n return (this.BASE_URL + urlsList.urls.reportNamesUrl);\r\n }\r\n\r\n getSubscribeToReportsUrl() {\r\n return (this.BASE_URL + urlsList.urls.subscribeToReports);\r\n }\r\n\r\n getFunderEnvelopeUrl() {\r\n return(this.BASE_URL + urlsList.urls.envelopeUrl);\r\n }\r\n\r\n getEnvelopeTypeUrl() {\r\n return (this.BASE_URL + urlsList.urls.envelopeTypeUrl);\r\n }\r\n\r\n getEnvelopeUrl() {\r\n return (this.BASE_URL + urlsList.urls.envelopeUrl);\r\n }\r\n\r\n getUserApprovedRequestsUrl() {\r\n return (this.BASE_URL + urlsList.urls.userApprovedRequests);\r\n }\r\n\r\n getUserProjectsUrl() {\r\n return (this.BASE_URL + urlsList.urls.userProjects);\r\n }\r\n\r\n getProjectMembershipUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectMembershipUrl);\r\n }\r\n\r\n applyForProjectMembershipUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectMembershipUrl);\r\n }\r\n\r\n approveProjectMembershipUrl() {\r\n return (this.BASE_URL + urlsList.urls.approveProjectMembership);\r\n }\r\n \r\n unApproveProjectMembershipUrl() {\r\n return (this.BASE_URL + urlsList.urls.unApproveProjectMembership);\r\n }\r\n\r\n getOldExcelImportUrl() {\r\n return (this.BASE_URL + urlsList.urls.importOldExcelDataUrl);\r\n }\r\n\r\n getNewExcelImportUrl() {\r\n return (this.BASE_URL + urlsList.urls.importNewExcelDataUrl);\r\n }\r\n\r\n getFixGhostOrgsImportUrl() {\r\n return (this.BASE_URL + urlsList.urls.importFixGhostOrgsUrl);\r\n }\r\n\r\n getLatestExcelImportUrl() {\r\n return (this.BASE_URL + urlsList.urls.importLatestDataUrl);\r\n }\r\n\r\n getEnvelopeDataImportUrl() {\r\n return (this.BASE_URL + urlsList.urls.importEnvelopeDataUrl);\r\n }\r\n\r\n getOrganizationTypesImportUrl() {\r\n return (this.BASE_URL + urlsList.urls.importOrganizationTypesUrl);\r\n }\r\n\r\n getDataBackupUrl() {\r\n return (this.BASE_URL + urlsList.urls.backupDataUrl);\r\n }\r\n\r\n getDeleteBackupUrl() {\r\n return (this.BASE_URL + urlsList.urls.deleteBackupUrl);\r\n }\r\n\r\n getDataRestoreUrl() {\r\n return (this.BASE_URL + urlsList.urls.restoreDataUrl);\r\n }\r\n\r\n getBackupFilesUrl() {\r\n return (this.BASE_URL + urlsList.urls.backupFilesUrl);\r\n }\r\n\r\n getCountriesUrl() {\r\n return (this.BASE_URL + urlsList.urls.countriesUrl);\r\n }\r\n\r\n setActiveCountryUrl(code: string) {\r\n return (this.BASE_URL + urlsList.urls.setActiveCountryUrl + '/' + code);\r\n }\r\n\r\n averageCurrencyRateForDateUrl() {\r\n return (this.BASE_URL + urlsList.urls.averageCurrencyRate);\r\n }\r\n\r\n getContactUrl() {\r\n return (this.BASE_URL + urlsList.urls.contactUrl);\r\n }\r\n\r\n getProjectContactUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectEmailUrl);\r\n }\r\n\r\n getContactMessageUrl() {\r\n return (this.BASE_URL + urlsList.urls.contactMessageUrl);\r\n }\r\n\r\n getApproveContactMessageUrl() {\r\n return (this.BASE_URL + urlsList.urls.approveContactMessageUrl);\r\n }\r\n\r\n getDeleteProjectIdsUrl() {\r\n return (this.BASE_URL + urlsList.urls.deleteProjectIdsUrl);\r\n }\r\n\r\n getProjectDeletionRequestUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectDeletionRequestUrl);\r\n }\r\n\r\n getProjectDeletionActiveRequestsUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectDeletionActiveRequestsUrl);\r\n }\r\n\r\n getProjectDeletionApprovalUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.projectDeletionApprovalUrl + id);\r\n }\r\n\r\n getProjectDeletionCancelUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.projectDeletionCancelUrl + id);\r\n }\r\n\r\n getUsersCountUrl() {\r\n return (this.BASE_URL + urlsList.urls.usersCountUrl);\r\n }\r\n\r\n getProjectsCountUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectsCountUrl);\r\n }\r\n\r\n getOrganizationsCountUrl() {\r\n return (this.BASE_URL + urlsList.urls.organizationsCountUrl);\r\n }\r\n\r\n getOrganizationsForTypeUrl(id: string) {\r\n return (this.BASE_URL + urlsList.urls.organizationsForTypeUrl + '/' + id);\r\n }\r\n\r\n getOrganizationHavingEnvelopeUrl() {\r\n return (this.BASE_URL + urlsList.urls.organizationsHavingEnvelopeUrl);\r\n }\r\n\r\n getOrganizationIdsHavingEnvelopeUrl() {\r\n return (this.BASE_URL + urlsList.urls.organizationIdsHavingEnvelopeUrl);\r\n }\r\n\r\n getCurrentYearDisbursementsUrl() {\r\n return (this.BASE_URL + urlsList.urls.currentYearDisbursementsUrl);\r\n }\r\n\r\n setHomePageSettingsUrl() {\r\n return (this.BASE_URL + urlsList.urls.setHomePageSettingsUrl);\r\n }\r\n\r\n getHomePageSettingsUrl() {\r\n return (this.BASE_URL + urlsList.urls.getHomePageSettingsUrl);\r\n }\r\n\r\n getProjectHelpUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectHelpUrl);\r\n }\r\n\r\n getProjectFunderHelpUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectFunderHelpUrl);\r\n }\r\n\r\n getProjectSectorHelpUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectSectorHelpUrl);\r\n }\r\n\r\n getProjectLocationHelpUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectLocationHelpUrl);\r\n }\r\n\r\n getProjectImplementerHelpUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectImplementerHelpUrl);\r\n }\r\n\r\n getProjectDisbursementsHelpUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectDisbursementsHelpUrl);\r\n }\r\n\r\n getProjectDocumentsHelpUrl() {\r\n return (this.BASE_URL + urlsList.urls.projectDocumentsHelpUrl);\r\n }\r\n\r\n getSaveProjectHelpUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectHelpUrl);\r\n }\r\n\r\n getSaveProjectFunderHelpUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectFunderHelpUrl);\r\n }\r\n\r\n getSaveProjectSectorHelpUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectSectorHelpUrl);\r\n }\r\n\r\n getSaveProjectLocationHelpUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectLocationHelpUrl);\r\n }\r\n\r\n getSaveProjectImplementerHelpUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectImpelementerHelpUrl);\r\n }\r\n\r\n getSaveProjectDisbursementHelpUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectDisbursementHelpUrl);\r\n }\r\n\r\n getSaveProjectDocumentHelpUrl() {\r\n return (this.BASE_URL + urlsList.urls.addProjectDocumentHelpUrl);\r\n }\r\n\r\n getFinancialYearSettingsUrl() {\r\n return (this.BASE_URL + urlsList.urls.financialYearSettingsUrl);\r\n }\r\n\r\n getDocumentLinkUrl() {\r\n return (this.BASE_URL + urlsList.urls.documentLinkUrl);\r\n }\r\n\r\n getSponsorLogoUrl() {\r\n return (this.BASE_URL + urlsList.urls.sponsorLogoUrl);\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { UserService } from '../services/user-service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Messages } from '../config/messages';\r\nimport { ModalService } from '../services/modal.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Settings } from '../config/settings';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\n\r\n@Component({\r\n selector: 'manage-account',\r\n templateUrl: './manage-account.component.html',\r\n styleUrls: ['./manage-account.component.css']\r\n})\r\nexport class ManageAccountComponent implements OnInit {\r\n model = { password: null, confirmPassword: null };\r\n dModel = { password: null };\r\n currentTab: string = 'password';\r\n btnPasswordText: string = 'Save New Password';\r\n btnAccountText: string = 'Delete Account';\r\n isBtnDisabled: boolean = false;\r\n isInfo: boolean = false;\r\n isError: boolean = false;\r\n infoMessage: string = '';\r\n errorMessage: string = '';\r\n errorMessageForModal: string = '';\r\n requestNo: number = 0;\r\n\r\n constructor(private userService: UserService, private router: Router,\r\n private storeService: StoreService, private modalService: ModalService,\r\n private securityService: SecurityHelperService, private route: ActivatedRoute) { }\r\n\r\n ngOnInit() {\r\n if (!this.securityService.checkIsLoggedIn()) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessageForModal = model.errorMessage;\r\n this.isBtnDisabled = false;\r\n this.modalService.open('error-message-modal');\r\n }\r\n });\r\n }\r\n\r\n showPasswordTab() {\r\n this.currentTab = 'password';\r\n return false;\r\n }\r\n\r\n showAccountTab() {\r\n this.currentTab = 'account';\r\n return false;\r\n }\r\n\r\n changePassword() {\r\n if (this.model.password != this.model.confirmPassword) {\r\n return false;\r\n }\r\n this.isBtnDisabled = true;\r\n this.btnPasswordText = 'Updating password...';\r\n this.userService.editUserPassword(this.model.password).subscribe(\r\n data => {\r\n if (data) {\r\n this.modalService.open('reset-info-modal');\r\n this.btnPasswordText = 'Redirecting...';\r\n this.securityService.clearLoginSession();\r\n\r\n setTimeout(() => {\r\n location.reload();\r\n }, 3000);\r\n } else {\r\n this.resetFormsState();\r\n }\r\n }\r\n );\r\n }\r\n\r\n confirmDeleteAccount() {\r\n this.modalService.open('confirmation-modal');\r\n }\r\n\r\n deleteAccount() {\r\n this.modalService.close('confirmation-modal');\r\n this.isBtnDisabled = true;\r\n this.btnAccountText = 'Deleting account...';\r\n this.userService.deleteUserAccount(this.dModel.password).subscribe(\r\n data => {\r\n if (data) {\r\n this.storeService\r\n .newInfoMessage(Messages.ACCOUNT_DELETED);\r\n this.btnAccountText = 'Setting Environment...';\r\n this.securityService.clearLoginSession();\r\n location.href += \"?deleted=true\";\r\n location.reload();\r\n } else {\r\n this.errorMessage = data.message;\r\n this.isError = true;\r\n this.resetFormsState();\r\n }\r\n },\r\n error => {\r\n this.resetFormsState();\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n closeModal() {\r\n this.modalService.close('confirmation-modal');\r\n }\r\n\r\n closeErrorModal() {\r\n this.modalService.close('error-message-modal');\r\n }\r\n\r\n resetFormsState() {\r\n this.btnAccountText = 'Delete Account';\r\n this.btnPasswordText = 'Save New Password';\r\n this.model.password = null;\r\n this.dModel.password = null;\r\n this.isBtnDisabled = false;\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
\r\n \r\n Information! {{infoMessage}}\r\n
\r\n\r\n
\r\n
Change password
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Password is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Passwords do not match\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
Delete account
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Password is required\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
Confirmation Message
\r\n
\r\n Are you sure you want to delete your account? You will not be able undo this action.\r\n
\r\n

\r\n \r\n  \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
Information Message
\r\n
\r\n Your password is reset successfully. You must use new password on next login.\r\n
\r\n

\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
Error Message
\r\n
\r\n {{errorMessageForModal}}\r\n
\r\n

\r\n \r\n
\r\n
\r\n
","import { Component } from '@angular/core';\r\nimport { UserService } from '../services/user-service';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { Messages } from '../config/messages';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'forgot-password',\r\n templateUrl: './forgot-password.component.html',\r\n styleUrls: ['./forgot-password.component.css']\r\n})\r\nexport class ForgotPasswordComponent{\r\n btnText: string = 'Send Reset Password Link';\r\n model: any = { email: null };\r\n isBtnDisabled: boolean = false;\r\n isInfo: boolean = false;\r\n infoMessage: string = '';\r\n isError: boolean = false;\r\n errorMessage: string = '';\r\n\r\n constructor(private userService: UserService, private infoModal: InfoModalComponent,\r\n private storeService: StoreService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n }\r\n\r\n sendPasswordResetLink(frm: any) {\r\n this.isError = false;\r\n this.isInfo = false;\r\n this.btnText = 'Checking and Resetting...';\r\n this.isBtnDisabled = true;\r\n this.userService.resetPasswordRequest(this.model).subscribe(\r\n data => {\r\n if (data.success) {\r\n this.infoMessage = Messages.PASSWORD_RESET_SENT;\r\n this.isInfo = true;\r\n this.resetFormStatus();\r\n frm.resetForm();\r\n } else {\r\n this.errorMessage = Messages.EMAIL_NOT_FOUND;\r\n this.isError = true;\r\n this.resetFormStatus();\r\n frm.resetForm();\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n }\r\n );\r\n };\r\n\r\n resetFormStatus() {\r\n this.isBtnDisabled = false;\r\n this.btnText = 'Send Reset Password Link';\r\n this.model.email = null;\r\n }\r\n\r\n}","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
\r\n \r\n Information! {{infoMessage}}\r\n
\r\n
Forgot Password
\r\n
\r\n
\r\n \r\n \r\n
\r\n Enter valid email address\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EnvelopeService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) { }\r\n\r\n getEnvelopForFunder() {\r\n var url = this.urlHelper.getFunderEnvelopeUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Envelope')));\r\n }\r\n\r\n addEnvelope(model: any) {\r\n var url = this.urlHelper.getEnvelopeUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Envelope')));\r\n }\r\n \r\n editEnvelope(model: any) {\r\n var url = this.urlHelper.getEnvelopeUrl();\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Envelope'))\r\n );\r\n }\r\n \r\n deleteEnvelope(funderId: number, year: number) {\r\n var url = this.urlHelper.getEnvelopeUrl() + '/' + funderId + '/' + year;\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Envelope')));\r\n }\r\n \r\n}","import { Component, ElementRef, Input, OnInit, OnDestroy, Injectable } from '@angular/core';\r\n \r\nimport { ModalService } from '../services/modal.service';\r\n \r\n@Component({\r\n selector: 'jw-modal',\r\n template: `\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n `,\r\n styleUrls: []\r\n})\r\n \r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() id: string;\r\n private element: any;\r\n \r\n constructor(private modalService: ModalService, private el: ElementRef) {\r\n this.element = el.nativeElement;\r\n }\r\n \r\n ngOnInit(): void {\r\n let modal = this;\r\n \r\n // ensure id attribute exists\r\n if (!this.id) {\r\n console.error('modal must have an id');\r\n return;\r\n }\r\n \r\n // move element to bottom of page (just before ) so it can be displayed above everything else\r\n document.body.appendChild(this.element);\r\n \r\n // close modal on background click\r\n /*this.element.addEventListener('click', function (e: any) {\r\n if (e.target.className === 'jw-modal') {\r\n modal.close();\r\n }\r\n });*/\r\n \r\n // add self (this modal instance) to the modal service so it's accessible from controllers\r\n this.modalService.add(this);\r\n }\r\n \r\n // remove self from modal service when directive is destroyed\r\n ngOnDestroy(): void {\r\n this.modalService.remove(this.id);\r\n this.element.remove();\r\n }\r\n \r\n // open modal\r\n open(): void {\r\n this.element.style.display = 'block';\r\n document.body.classList.add('jw-modal-open');\r\n }\r\n \r\n // close modal\r\n close(): void {\r\n this.element.style.display = 'none';\r\n document.body.classList.remove('jw-modal-open');\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SectorService } from '../services/sector.service';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Messages } from '../config/messages';\r\nimport { FormGroup, FormBuilder, FormControl } from '@angular/forms';\r\nimport { startWith, map } from 'rxjs/operators';\r\nimport { Sector } from '../models/sector-model';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-project-sector',\r\n templateUrl: './project-sector.component.html',\r\n styleUrls: ['./project-sector.component.css']\r\n})\r\nexport class ProjectSectorComponent implements OnInit {\r\n\r\n @Input()\r\n isBtnDisabled: boolean = false;\r\n btnText: string = 'Add Project';\r\n errorMessage: string = '';\r\n sectors: any = [];\r\n requestNo: number = 0;\r\n selectedSectorId: number = 0;\r\n isError: boolean = false;\r\n isLoading: boolean = false;\r\n model = { projectId: 0, sectorId: null, fundsPercentage: null };\r\n sectorSelectionForm: FormGroup;\r\n userInput = new FormControl();\r\n filteredSectors: Observable;\r\n\r\n constructor(private fb: FormBuilder,private projectService: ProjectService, private route: ActivatedRoute,\r\n private router: Router, private sectorService: SectorService,\r\n private storeService: StoreService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.route.snapshot.data) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Add Sector for Project';\r\n this.model.projectId = id;\r\n this.loadSectors();\r\n } else {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n \r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n\r\n this.sectorSelectionForm = this.fb.group({\r\n userInput: null,\r\n });\r\n }\r\n\r\n private filterSectors(value: string): Sector[] {\r\n if (typeof value != \"string\") {\r\n } else {\r\n const filterValue = value.toLowerCase();\r\n return this.sectors.filter(sector => sector.sectorName.toLowerCase().indexOf(filterValue) !== -1);\r\n }\r\n }\r\n\r\n loadSectors() {\r\n this.sectorService.getSectorsList().subscribe(\r\n data => {\r\n this.sectors = data;\r\n this.filteredSectors = this.userInput.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(sector => sector ? this.filterSectors(sector) : this.sectors.slice())\r\n );\r\n },\r\n error => {\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n\r\n displayFn(sector?: Sector): string | undefined {\r\n if (sector) {\r\n this.selectedSectorId = sector.id;\r\n console.log(this.selectedSectorId);\r\n }\r\n return sector ? sector.sectorName : undefined;\r\n }\r\n\r\n saveProjectSector() {\r\n if (this.selectedSectorId == 0) {\r\n return false;\r\n }\r\n\r\n this.model.sectorId = this.selectedSectorId;\r\n var model = {\r\n ProjectId: this.model.projectId,\r\n SectorId: this.model.sectorId,\r\n FundsPercentage: this.model.fundsPercentage,\r\n };\r\n\r\n this.isBtnDisabled = true;\r\n this.btnText = 'Saving...';\r\n this.projectService.addProjectSector(model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n var message = 'New project location ' + Messages.NEW_RECORD;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('view-project/' + this.model.projectId);\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.resetFormState();\r\n }\r\n );\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n this.btnText = 'Add Project Sector';\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Sector
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n {{sector.sectorName}} |\r\n Category: {{sector.category}} - {{sector.subCategory}}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Funds percentage is required\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { OrganizationService } from 'src/app/services/organization-service';\r\nimport { FinancialYearService } from 'src/app/services/financial-year.service';\r\nimport { EnvelopeTypeService } from 'src/app/services/envelope-type.service';\r\nimport { ReportService } from 'src/app/services/report.service';\r\nimport { CurrencyService } from 'src/app/services/currency.service';\r\nimport { StoreService } from 'src/app/services/store-service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Settings } from 'src/app/config/settings';\r\nimport { Color } from 'ng2-charts';\r\nimport { UrlHelperService } from 'src/app/services/url-helper-service';\r\nimport { Messages } from 'src/app/config/messages';\r\nimport { ErrorModalComponent } from 'src/app/error-modal/error-modal.component';\r\n\r\n@Component({\r\n selector: 'app-envelope-report',\r\n templateUrl: './envelope-report.component.html',\r\n styleUrls: ['./envelope-report.component.css']\r\n})\r\nexport class EnvelopeReportComponent implements OnInit {\r\n\r\n organizationTypes: any = [];\r\n exchangeRates: any = [];\r\n oldExRateToDefault: number = 0;\r\n organizations: any = [];\r\n filteredOrganizations: any = [];\r\n financialYears: any = [];\r\n envelopeTypes: any = [];\r\n envelopeList: any = [];\r\n envelopeYearsList: any = [];\r\n currenciesList: any = [];\r\n selectedOrganizationTypes: any = [];\r\n selectedEnvelopeTypes: any = [];\r\n selectedOrganizations: any = [];\r\n paramFunderTypes: any = [];\r\n paramFunders: any = [];\r\n paramEnvelopeTypes: any = [];\r\n humanitarianSummary: any = [];\r\n developmentSummary: any = [];\r\n paramChartType: string = null;\r\n currentYear: number = 0;\r\n reportSettings: any = {};\r\n envelopeTypeSettings: any = {};\r\n organizationTypeSettings: any = {};\r\n organizationSettings: any = {};\r\n defaultCurrency: string = null;\r\n nationalCurrency: string = null;\r\n nationalCurrencyName: string = null;\r\n selectedCurrencyName: string = null;\r\n excelFile: string = null;\r\n chartType: string = null;\r\n oldCurrency: any = null;\r\n manualExRate: number = 0;\r\n cellCount: number = 0;\r\n oldCurrencyRate: number = 0;\r\n cellPercent: number = 0;\r\n isShowChart: boolean = false;\r\n isLoading: boolean = true;\r\n isDataLoading: boolean = true;\r\n loadReport: boolean = false;\r\n isAnyFilterSet: boolean = false;\r\n errorMessage: string = null;\r\n chartTypeName: string = 'bar';\r\n btnReportText: string = 'Update report';\r\n\r\n public lineChartOptions = {\r\n responsive: true,\r\n scales: {\r\n yAxes: [\r\n {\r\n stacked: true,\r\n }\r\n ]\r\n }\r\n };\r\n\r\n public lineChartColors: Color[] = [\r\n {\r\n borderColor: 'black',\r\n backgroundColor: 'rgba(255,0,0,0.3)',\r\n },\r\n ];\r\n\r\n stackedChartOptions: any = {\r\n responsive: true,\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var tooltipValue = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n return parseInt(tooltipValue).toLocaleString();\r\n }\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true,\r\n callback: function (value, index, values) {\r\n return value.toLocaleString(\"en-US\");\r\n }\r\n }\r\n }],\r\n xAxes: [{\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }]\r\n }\r\n };\r\n\r\n chartColors: any = [\r\n {\r\n backgroundColor: [\r\n \"#FF7360\", \"#6FC8CE\", \"#4cc6bb\", \"#fdd100\", \"#123ea9\"\r\n ]\r\n }\r\n ];\r\n\r\n chartOptions: any = [\r\n { id: 1, type: 'bar', title: 'Stacked bar' },\r\n { id: 2, type: 'line', title: 'Stacked line' },\r\n ];\r\n\r\n chartTypesList: any = [\r\n { id: 1, type: 'bar', title: 'Stacked bar' },\r\n { id: 2, type: 'line', title: 'Stacked line' },\r\n ];\r\n\r\n envelopeTypeCodes: any = {\r\n HUMANITARIAN: 'Humanitarian',\r\n DEVELOPMENT: 'Development'\r\n };\r\n\r\n chartTypes: any = {\r\n BAR: 'bar',\r\n LINE: 'line',\r\n };\r\n\r\n chartTypeCodes: any = {\r\n BAR: 1,\r\n LINE: 2,\r\n };\r\n\r\n chartLabels: any = [];\r\n doughnutChartLabels: any = [];\r\n barChartType: string = 'bar';\r\n chartLegend: boolean = true;\r\n chartData: any = [];\r\n doughnutChartData: any = [];\r\n model: any = {\r\n funderTypeId: 0, funderIds: [], startingYear: 0, endingYear: 0, envelopeTypes: [],\r\n envelopeTypeIds: [], chartType: this.chartTypes.BAR, chartTypeName: this.chartTypes.BAR,\r\n organizationTypeIds: []\r\n };\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private organizationService: OrganizationService,\r\n private financialYearService: FinancialYearService,\r\n private envelopeTypeService: EnvelopeTypeService,\r\n private reportService: ReportService,\r\n private currencyService: CurrencyService,\r\n private storeService: StoreService,\r\n private route: ActivatedRoute,\r\n private urlService: UrlHelperService,\r\n private errorModal: ErrorModalComponent) { }\r\n\r\n ngOnInit() {\r\n \r\n this.envelopeTypeSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'typeName',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.organizationTypeSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'typeName',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.organizationSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'organizationName',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.reports);\r\n this.getDefaultCurrency();\r\n this.getNationalCurrency();\r\n\r\n if (this.route.snapshot.queryParams.load) {\r\n this.route.queryParams.subscribe(params => {\r\n if (params) {\r\n this.model.startingYear = (params.syear) ? parseInt(params.syear) : 0;\r\n this.model.endingYear = (params.eyear) ? parseInt(params.eyear) : 0;\r\n this.paramFunderTypes = (params.ftypes) ? params.ftypes.split(',').map(ft => parseInt(ft)) : [];\r\n this.paramFunders = (params.funders) ? params.funders.split(',').map(f => parseInt(f)) : [];\r\n this.paramEnvelopeTypes = (params.envelopeTypes) ? params.envelopeTypes.split(',').map(e => parseInt(e)) : [];\r\n this.paramChartType = (params.ctype) ? params.ctype : this.chartTypeCodes.BAR;\r\n this.loadReport = true;\r\n }\r\n });\r\n } else {\r\n this.getEnvelopeReport();\r\n }\r\n\r\n this.chartType = this.chartTypes.BAR;\r\n this.getEnvelopeTypes();\r\n this.getOrganizationTypes();\r\n this.getOrganizations();\r\n this.getFinancialYears();\r\n }\r\n\r\n getEnvelopeReport() {\r\n this.isShowChart = false;\r\n this.chartData = [];\r\n var chartType = this.chartTypeCodes.BAR;\r\n if (this.loadReport) {\r\n chartType = this.paramChartType;\r\n var searchType = this.chartTypesList.filter(c => c.id == chartType);\r\n if (searchType.length > 0) {\r\n this.chartType = searchType[0].type;\r\n }\r\n } else {\r\n var searchType = this.chartTypesList.filter(c => c.type == this.model.chartType);\r\n if (searchType.length > 0) {\r\n chartType = searchType[0].id;\r\n this.chartType = searchType[0].type;\r\n }\r\n }\r\n this.model.envelopeTypeIds = this.selectedEnvelopeTypes.map(t => t.id);\r\n this.model.organizationTypeIds = this.selectedOrganizationTypes.map(t => t.id);\r\n this.model.funderIds = this.selectedOrganizations.map(o => o.id);\r\n\r\n var model = {\r\n startingYear: (this.model.startingYear) ? parseInt(this.model.startingYear) : 0,\r\n endingYear: (this.model.endingYear) ? parseInt(this.model.endingYear) : 0,\r\n envelopeTypeIds: this.selectedEnvelopeTypes.map(t => t.id),\r\n funderTypeIds: this.selectedOrganizationTypes.map(t => t.id),\r\n funderIds: this.selectedOrganizations.map(o => o.id),\r\n chartType: (chartType) ? parseInt(chartType) : 1\r\n };\r\n\r\n if (this.model.startingYear > this.model.endingYear && this.model.endingYear != 0) {\r\n this.errorMessage = Messages.START_YEAR_GREATER_THAN_ERROR;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.blockUI.start('Loading report...');\r\n this.reportService.getEnvelopeReport(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.btnReportText = 'Update report';\r\n this.reportSettings = data.reportSettings;\r\n if (this.reportSettings && this.reportSettings.excelReportName) {\r\n this.excelFile = this.reportSettings.excelReportName;\r\n this.setExcelFile();\r\n }\r\n this.envelopeList = data.envelope;\r\n this.envelopeList.forEach((e) => {\r\n e.isDisplay = false;\r\n });\r\n this.envelopeYearsList = data.envelopeYears;\r\n this.cellCount = (this.envelopeYearsList.length + 2);\r\n this.cellPercent = (80 / this.cellCount);\r\n this.chartLabels = this.envelopeYearsList;\r\n this.manageDataToDisplay();\r\n }\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n var typeName = this.chartTypesList.filter(t => t.id == chartType);\r\n if (typeName.length > 0) {\r\n this.model.chartType = typeName[0].type;\r\n }\r\n }, 1000);\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n setExcelFile() {\r\n if (this.excelFile) {\r\n this.excelFile = this.urlService.getExcelFilesUrl() + this.excelFile;\r\n }\r\n }\r\n\r\n printReport() {\r\n this.storeService.printReport('rpt-envelope', 'Envelope report', this.selectedCurrencyName);\r\n }\r\n\r\n getOrganizationTypes() {\r\n this.organizationService.getOrganizationTypes().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationTypes = data;\r\n if (this.loadReport) {\r\n if (this.paramFunderTypes.length > 0) {\r\n this.paramFunderTypes.forEach((f) => {\r\n var funderType = this.organizationTypes.filter(t => t.id == f);\r\n if (funderType.length > 0) {\r\n this.selectedOrganizationTypes.push(funderType[0]);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getOrganizations() {\r\n this.organizationService.getOrganizationsHavingEnvelope().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizations = data;\r\n this.filteredOrganizations = data;\r\n if (this.loadReport) {\r\n if (this.paramFunders.length > 0) {\r\n this.paramFunders.forEach((f) => {\r\n var funder = this.organizations.filter(o => o.id == f);\r\n if (funder.length > 0) {\r\n this.selectedOrganizations.push(funder[0]);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getOrganizationsForType(selectionType: number = 2) {\r\n if (selectionType == 1) {\r\n this.filteredOrganizations = this.organizations;\r\n } else if (selectionType == 0) {\r\n this.selectedOrganizations = [];\r\n this.filteredOrganizations = this.organizations;\r\n } else if (this.selectedOrganizationTypes && this.selectedOrganizationTypes.length > 0) {\r\n var ids = this.selectedOrganizationTypes.map(o => o.id);\r\n this.filteredOrganizations = this.organizations.filter(o => ids.includes(o.organizationTypeId));\r\n } else {\r\n this.selectedOrganizations = [];\r\n this.filteredOrganizations = [];\r\n }\r\n }\r\n\r\n getFinancialYears() {\r\n this.financialYearService.getYearsForEnvelope().subscribe(\r\n data => {\r\n if (data) {\r\n /*this.currentYear = this.storeService.getCurrentYear();\r\n var yearsList = [];\r\n for (var y = (this.currentYear - 1); y <= (this.currentYear + 1); y++) {\r\n yearsList.push(y);\r\n }\r\n if (data.length > 0) {\r\n this.financialYears = data.filter(f => yearsList.includes(f.financialYear));\r\n }*/\r\n this.financialYears = data;\r\n }\r\n\r\n if (this.loadReport) {\r\n setTimeout(() => {\r\n this.getEnvelopeReport();\r\n }, 2000);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getEnvelopeTypes() {\r\n this.envelopeTypeService.getAllEnvelopeTypes().subscribe(\r\n data => {\r\n if (data) {\r\n this.envelopeTypes = data;\r\n if (this.loadReport) {\r\n if (this.paramEnvelopeTypes.length > 0) {\r\n this.paramEnvelopeTypes.forEach((t) => {\r\n var envelopeType = this.envelopeTypes.filter(e => e.id == t);\r\n if (envelopeType.length > 0) {\r\n this.selectedEnvelopeTypes.push(envelopeType[0]);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getManualExchangeRateForToday() {\r\n var dated = this.storeService.getCurrentDateSQLFormat();\r\n var model = {\r\n dated: dated\r\n };\r\n this.currencyService.getAverageCurrencyForDate(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.exchangeRates = data;\r\n var nationalCurrencyRate = this.exchangeRates.filter(c => c.currency == this.nationalCurrencyName);\r\n if (nationalCurrencyRate.length > 0) {\r\n this.manualExRate = nationalCurrencyRate[0].rate;\r\n this.oldCurrencyRate = 1;\r\n }\r\n }\r\n });\r\n }\r\n\r\n getDefaultCurrency() {\r\n this.currencyService.getDefaultCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultCurrency = data.currency;\r\n this.model.selectedCurrency = data.currency;\r\n this.oldCurrency = this.model.selectedCurrency;\r\n this.selectedCurrencyName = data.currencyName;\r\n this.currenciesList.push(data);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getNationalCurrency() {\r\n this.currencyService.getNationalCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.nationalCurrency = data;\r\n this.nationalCurrencyName = data.currency;\r\n this.currenciesList.push(data);\r\n this.getManualExchangeRateForToday();\r\n }\r\n setTimeout(() => {\r\n this.isDataLoading = false;\r\n }, 2000);\r\n }\r\n );\r\n }\r\n\r\n manageDataToDisplay() {\r\n this.chartData = [];\r\n this.humanitarianSummary = [];\r\n this.developmentSummary = [];\r\n var chartType = this.chartTypes.BAR;\r\n if (this.loadReport) {\r\n var searchType = this.chartTypesList.filter(c => c.id == this.paramChartType);\r\n if (searchType.length > 0) {\r\n chartType = searchType[0].type;\r\n }\r\n }\r\n this.model.chartTypeName = chartType;\r\n this.envelopeYearsList.forEach((year) => {\r\n var humanitarianAmount: number = 0;\r\n var developmentAmount: number = 0; \r\n humanitarianAmount = this.calculateTotalForEnvelopeType(year, this.envelopeTypeCodes.HUMANITARIAN);\r\n developmentAmount = this.calculateTotalForEnvelopeType(year, this.envelopeTypeCodes.DEVELOPMENT);\r\n this.humanitarianSummary.push(humanitarianAmount);\r\n this.developmentSummary.push(developmentAmount);\r\n });\r\n\r\n this.chartData.push({\r\n data: this.humanitarianSummary,\r\n label: 'Humanitarian',\r\n stack: 'Stack 0'\r\n });\r\n\r\n this.chartData.push({\r\n data: this.developmentSummary,\r\n label: 'Development',\r\n stack: 'Stack 0'\r\n });\r\n this.isShowChart = true;\r\n }\r\n\r\n manageChartType() {\r\n this.chartType = this.model.chartType;\r\n }\r\n\r\n calculateEnvelopeTypeTotal(funderId: number, envelopeTypeId: number) {\r\n var totalAmount = 0;\r\n var envelope = this.envelopeList.filter(e => e.funderId == funderId);\r\n\r\n if (envelope.length > 0) {\r\n var envelopeBreakup = envelope[0].envelopeBreakupsByType.filter(e => e.envelopeTypeId == envelopeTypeId);\r\n if (envelopeBreakup.length > 0) {\r\n envelopeBreakup[0].yearlyBreakup.forEach((y) => {\r\n totalAmount += parseFloat(y.amount);\r\n });\r\n }\r\n }\r\n return totalAmount;\r\n }\r\n\r\n calculateTotalsForYear(year: number, funderId: number) {\r\n var totalAmount = 0;\r\n var envelope = this.envelopeList.filter(e => e.funderId == funderId);\r\n envelope.forEach((e) => {\r\n e.envelopeBreakupsByType.forEach((b) => {\r\n var yearlyBreakup = b.yearlyBreakup.filter(y => y.year == year);\r\n if (yearlyBreakup.length > 0) {\r\n totalAmount += parseFloat(yearlyBreakup[0].amount);\r\n }\r\n });\r\n });\r\n return totalAmount;\r\n }\r\n\r\n calculateTotalsForFunder(funderId: number) {\r\n var totalAmount = 0;\r\n var envelope = this.envelopeList.filter(e => e.funderId == funderId);\r\n envelope.forEach((e) => {\r\n e.envelopeBreakupsByType.forEach((b) => {\r\n b.yearlyBreakup.forEach((y) => {\r\n totalAmount += parseFloat(y.amount);\r\n });\r\n });\r\n });\r\n return totalAmount;\r\n }\r\n\r\n calculateTotalForEnvelopeType(year: number, envelopeType: string) {\r\n var totalAmount = 0;\r\n this.envelopeList.forEach((e) => {\r\n var envelopeBreakup = e.envelopeBreakupsByType.filter(b => b.envelopeType.toLowerCase() == envelopeType.toLowerCase());\r\n envelopeBreakup.forEach((b) => {\r\n var yearlyBreakup = b.yearlyBreakup.filter(y => y.year == year);\r\n if (yearlyBreakup.length > 0) {\r\n totalAmount += parseFloat(yearlyBreakup[0].amount);\r\n }\r\n });\r\n });\r\n return totalAmount;\r\n }\r\n\r\n displayHideRow(id: number) {\r\n var envelope = this.envelopeList.filter(e => e.funderId == id);\r\n if (envelope.length > 0) {\r\n envelope[0].isDisplay = !envelope[0].isDisplay;\r\n }\r\n }\r\n\r\n generatePDF() {\r\n this.blockUI.start('Generating PDF...');\r\n setTimeout(() => {\r\n var result = Promise.resolve(this.reportService.generatePDF('rpt-envelope-pdf-view'));\r\n result.then(() => {\r\n this.blockUI.stop();\r\n });\r\n }, 500);\r\n }\r\n\r\n selectCurrency() {\r\n if (this.model.selectedCurrency == null || this.model.selectCurrency == 'null') {\r\n return false;\r\n } else {\r\n var selectedCurrency = this.currenciesList.filter(c => c.currency == this.model.selectedCurrency);\r\n if (selectedCurrency.length > 0) {\r\n this.selectedCurrencyName = selectedCurrency[0].currencyName;\r\n }\r\n }\r\n if (this.model.selectedCurrency) {\r\n this.getCurrencyRates();\r\n }\r\n }\r\n\r\n getCurrencyRates() {\r\n var exRate: number = 0;\r\n var calculatedRate = 0;\r\n if (this.manualExRate == 0) {\r\n this.errorMessage = Messages.EX_RATE_NOT_FOUND;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.model.selectedCurrency == this.defaultCurrency) {\r\n exRate = 1;\r\n } else {\r\n exRate = this.manualExRate;\r\n }\r\n\r\n calculatedRate = (exRate / this.oldCurrencyRate);\r\n this.oldCurrencyRate = exRate;\r\n this.oldCurrency = this.model.selectedCurrency;\r\n this.oldExRateToDefault = exRate;\r\n this.applyRateOnFinancials(calculatedRate, exRate);\r\n }\r\n\r\n applyRateOnFinancials(calculatedRate = 1, defaultRate = 1) {\r\n if (calculatedRate != 1) {\r\n this.envelopeList.forEach((e) => {\r\n e.envelopeBreakupsByType.forEach((t) => {\r\n t.yearlyBreakup.forEach((y) => {\r\n y.amount = Math.round(parseFloat((y.amount * calculatedRate).toFixed(2)));\r\n });\r\n });\r\n });\r\n }\r\n }\r\n\r\n onChangeStartingYear() {\r\n if (this.model.startingYear != 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n onChangeEndingYear() {\r\n if (this.model.endingYear != 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n onEnvelopeSelect(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onEnvelopeDeSelect(item: any) {\r\n this.manageResetDisplay();\r\n }\r\n\r\n onEnvelopeSelectAll(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onEnvelopeDeSelectAll(items: any) {\r\n this.selectedEnvelopeTypes = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n onOrganizationTypeSelect(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onOrganizationTypeDeSelect(item: any) {\r\n this.manageResetDisplay();\r\n }\r\n\r\n onOrganizationTypeSelectAll(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onOrganizationTypeDeSelectAll(items: any) {\r\n this.selectedOrganizationTypes = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n onOrganizationSelect(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onOrganizationDeSelect(item: any) {\r\n this.manageResetDisplay();\r\n }\r\n\r\n onOrganizationSelectAll(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onOrganizationDeSelectAll(items: any) {\r\n this.selectedOrganizations = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n manageResetDisplay() {\r\n if (this.selectedEnvelopeTypes == 0 && this.selectedOrganizationTypes == 0 &&\r\n this.model.startingYear == 0 && this.model.endingYear == 0 &&\r\n this.selectedOrganizations.length == 0 &&\r\n this.model.selectedCurrency == this.defaultCurrency) {\r\n this.isAnyFilterSet = false;\r\n } else {\r\n this.isAnyFilterSet = true;\r\n }\r\n }\r\n\r\n setFilter() {\r\n this.isAnyFilterSet = true;\r\n }\r\n\r\n resetFilters() {\r\n this.selectedEnvelopeTypes = [];\r\n this.selectedOrganizationTypes = [];\r\n this.selectedOrganizations = [];\r\n this.model.startingYear = 0;\r\n this.model.endingYear = 0;\r\n this.isAnyFilterSet = false;\r\n }\r\n\r\n formatNumber(value: number) {\r\n return this.storeService.getNumberWithCommas(value);\r\n }\r\n\r\n getTodaysDate() {\r\n return this.storeService.getLongDateAndTime();\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n  \r\n 0 && model.selectedCurrency == nationalCurrencyName\" class=\"text-warning\">\r\n Exchange rate: 1 {{defaultCurrency}} = {{manualExRate}} {{nationalCurrencyName}} on\r\n {{datedToday}}\r\n \r\n \r\n No exchange rate available, contact Administrator.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Download spreadsheet\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Default currency is not set and it may produce errors on reports.\r\n Please contact administrator.\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n  Setting up report...\r\n
\r\n
\r\n\r\n
\r\n
0\" class=\"col-md-12\">\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
0 && chartData.length > 0\" class=\"col-md-12 text-center margin-top-10\">\r\n
Envelope report (Currency: {{this.selectedCurrencyName}})
\r\n
\r\n\r\n
0 && chartData.length > 0\"\r\n class=\"col-md-12 margin-top-10\">\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
0\" class=\"margin-top-20 col-md-12\" id=\"rpt-envelope\">\r\n \r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Envelope type{{yr}}Total
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n  \r\n {{yView.funder}}\r\n \r\n {{formatNumber(calculateTotalsForYear(yr, yView.funderId))}}\r\n {{formatNumber(calculateTotalsForFunder(yView.funderId))}}
{{breakup.envelopeType}}\r\n {{formatNumber(yearly.amount)}}\r\n {{formatNumber(calculateEnvelopeTypeTotal(yView.funderId, breakup.envelopeTypeId))}}
\r\n
\r\n\r\n
0\" class=\"col-md-12 margin-top-20 small\">\r\n
\r\n Report link: {{reportSettings.reportUrl}}\r\n
\r\n
\r\n Generated on: {{getTodaysDate()}}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ReportService } from 'src/app/services/report.service';\r\nimport { StoreService } from 'src/app/services/store-service';\r\nimport { Settings } from 'src/app/config/settings';\r\nimport { FinancialYearService } from 'src/app/services/financial-year.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ErrorModalComponent } from 'src/app/error-modal/error-modal.component';\r\nimport { UrlHelperService } from 'src/app/services/url-helper-service';\r\nimport { OrganizationService } from 'src/app/services/organization-service';\r\nimport { CurrencyService } from 'src/app/services/currency.service';\r\n\r\n@Component({\r\n selector: 'app-all-projects-report',\r\n templateUrl: './all-projects-report.component.html',\r\n styleUrls: ['./all-projects-report.component.css']\r\n})\r\nexport class AllProjectsReportComponent implements OnInit {\r\n isProcessing: boolean = false;\r\n isLoading: boolean = true;\r\n excelFile: string = null;\r\n financialYears: any = [];\r\n organizationsList: any = [];\r\n requestNo: number = 0;\r\n isAnyFilterSet: boolean = false;\r\n errorMessage: string = null;\r\n defaultCurrency: string = null;\r\n btnReportText: string = 'Generate export';\r\n model: any = { organizationId: 0, selectedOrganization: null, startingYear: 0, endingYear: 0,\r\n useDefaultCurrency: false };\r\n organizationsSettings: any = {};\r\n\r\n \r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private reportService: ReportService, private storeService: StoreService,\r\n private yearsService: FinancialYearService, private errorModal: ErrorModalComponent,\r\n private urlService: UrlHelperService,\r\n private organizationService: OrganizationService,\r\n private currencyService: CurrencyService) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.reports);\r\n this.getDefaultCurrency();\r\n this.getFinancialYears();\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n this.organizationsSettings = {\r\n singleSelection: true,\r\n idField: 'id',\r\n textField: 'organizationName',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n \r\n this.getOrganizationsList();\r\n }\r\n\r\n getFinancialYears() {\r\n this.yearsService.getYearsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.financialYears = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getOrganizationsList() {\r\n this.organizationService.getOrganizationsList().subscribe(\r\n data => {\r\n this.organizationsList = data;\r\n \r\n }\r\n );\r\n }\r\n\r\n getAllProjectsReport() {\r\n var selectedOrganization = this.model.selectedOrganization;\r\n this.model.startingYear = (this.model.startingYear == null) ? 0 : parseInt(this.model.startingYear);\r\n this.model.endingYear = (this.model.endingYear == null) ? 0 : parseInt(this.model.endingYear);\r\n this.model.organizationId = (selectedOrganization && selectedOrganization.length > 0) ? selectedOrganization[0].id : 0;\r\n this.blockUI.start('Loading report...');\r\n this.excelFile = null;\r\n this.reportService.getAllProjectsReport(this.model).subscribe(\r\n data => {\r\n if (data) {\r\n if (data.message) {\r\n this.excelFile = data.message;\r\n this.setExcelFile();\r\n }\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n getDefaultCurrency() {\r\n this.currencyService.getDefaultCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultCurrency = data.currency;\r\n }\r\n }\r\n );\r\n }\r\n\r\n setExcelFile() {\r\n if (this.excelFile) {\r\n this.excelFile = this.urlService.getExcelFilesUrl() + this.excelFile;\r\n }\r\n }\r\n\r\n onChangeStartYear() {\r\n this.manageResetDisplay();\r\n }\r\n\r\n onChangeEndYear() {\r\n this.manageResetDisplay();\r\n }\r\n\r\n manageResetDisplay() {\r\n if (this.model.startingYear == 0 && this.model.endingYear == 0) {\r\n this.isAnyFilterSet = false;\r\n } else {\r\n this.isAnyFilterSet = true;\r\n }\r\n }\r\n\r\n toggleCurrencyUsage() {\r\n this.model.useDefaultCurrency = !this.model.useDefaultCurrency;\r\n this.excelFile = null;\r\n }\r\n\r\n setFilter() {\r\n this.isAnyFilterSet = true;\r\n }\r\n\r\n resetFilters() {\r\n this.model.startingYear = 0;\r\n this.model.endingYear = 0;\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Export projects list as an Excel spreadsheet to get all the data about projects.\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n   \r\n \r\n
\r\n
\r\n   \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Show amounts in {{defaultCurrency}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n Export generated successfully  \r\n \r\n Download export as spreadsheet \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport {NgbDatepickerModule, NgbTooltipModule} from '@ng-bootstrap/ng-bootstrap';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport { ChartsModule } from 'ng2-charts';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\nimport { EmbedVideo } from 'ngx-embed-video';\r\nimport { TooltipModule } from 'ng2-tooltip-directive';\r\nimport { AppRoutingModule } from './app.router';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nimport { AppComponent } from './main/app.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { UserRegistrationComponent } from './user-registration/user-registration.component';\r\nimport { UserOrgRegistrationComponent } from './user-org-registration/user-org-registration.component';\r\nimport { FocusDirective } from './directives/focus-directive.directive';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { ProjectsComponent } from './projects/projects.component';\r\nimport { ReportsPanelComponent } from './reports-panel/reports-panel.component';\r\nimport { ManagementComponent } from './management/management.component';\r\nimport { NotificationComponent } from './notification/notification.component';\r\nimport { OrganizationsComponent } from './organizations/organizations.component';\r\nimport { ManageOrganizationComponent } from './manage-organization/manage-organization.component';\r\nimport { LocationsComponent } from './locations/locations.component';\r\nimport { ManageLocationComponent } from './manage-location/manage-location.component';\r\nimport { SectorTypesComponent } from './sector-types/sector-types.component';\r\nimport { ManageSectortypeComponent } from './manage-sectortype/manage-sectortype.component';\r\nimport { SectorsComponent } from './sectors/sectors.component';\r\nimport { ManageSectorComponent } from './manage-sector/manage-sector.component';\r\nimport { ManageProjectComponent } from './manage-project/manage-project.component';\r\nimport { PasswordChangeComponent } from './password-change/password-change.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { ViewProjectComponent } from './view-project/view-project.component';\r\nimport { ProjectLocationComponent } from './project-location/project-location.component';\r\nimport { ProjectSectorComponent } from './project-sector/project-sector.component';\r\nimport { ProjectFunderComponent } from './project-funder/project-funder.component';\r\nimport { ProjectImplementerComponent } from './project-implementer/project-implementer.component';\r\nimport { ProjectDisbursementComponent } from './project-disbursement/project-disbursement.component';\r\nimport { ProjectDocumentComponent } from './project-document/project-document.component';\r\nimport { ModalComponent } from './modal/modal.component';\r\nimport { NewProjectComponent } from './new-project/new-project.component';\r\nimport { SectorReportComponent } from './report-components/sector-report/sector-report.component';\r\nimport { ProjectEntryComponent } from './project-entry/project-entry.component';\r\nimport { InfoModalComponent } from './info-modal/info-modal.component';\r\nimport { TruncatePipe } from './pipes/truncate.pipe';\r\nimport { ProjectInfoModalComponent } from './project-info-modal/project-info-modal.component';\r\nimport { ProjectiInfoModalComponent } from './projecti-info-modal/projecti-info-modal.component';\r\nimport { ErrorModalComponent } from './error-modal/error-modal.component';\r\nimport { IatiSettingsComponent } from './iati-settings/iati-settings.component';\r\nimport { SmtpSettingsComponent } from './smtp-settings/smtp-settings.component';\r\nimport { ManageAccountComponent } from './manage-account/manage-account.component';\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\nimport { CurrenciesComponent } from './currencies/currencies.component';\r\nimport { ManageCurrencyComponent } from './manage-currency/manage-currency.component';\r\nimport { FinancialYearsComponent } from './financial-years/financial-years.component';\r\nimport { ManageYearComponent } from './manage-year/manage-year.component';\r\nimport { UserSubscriptionComponent } from './user-subscription/user-subscription.component';\r\nimport { MergeProjectsComponent } from './merge-projects/merge-projects.component';\r\nimport { MergeOrganizationComponent } from './merge-organization/merge-organization.component';\r\nimport { DeleteOrganizationComponent } from './delete-organization/delete-organization.component';\r\nimport { DeleteLocationComponent } from './delete-location/delete-location.component';\r\nimport { DeleteSectorComponent } from './delete-sector/delete-sector.component';\r\nimport { SectorMappingsComponent } from './sector-mappings/sector-mappings.component';\r\nimport { ExrateSettingsComponent } from './exrate-settings/exrate-settings.component';\r\nimport { EnvelopeComponent } from './envelope/envelope.component';\r\nimport { ManageMarkersComponent } from './manage-markers/manage-markers.component';\r\nimport { MarkersComponent } from './markers/markers.component';\r\nimport { DeleteMarkerComponent } from './delete-marker/delete-marker.component';\r\nimport { FundingTypesComponent } from './funding-types/funding-types.component';\r\nimport { ManageFundingTypeComponent } from './manage-funding-type/manage-funding-type.component';\r\nimport { EmailMessagesComponent } from './email-messages/email-messages.component';\r\nimport { ManageEmailMessageComponent } from './manage-email-message/manage-email-message.component';\r\nimport { DeleteSectortypeComponent } from './delete-sectortype/delete-sectortype.component';\r\nimport { LocationReportComponent } from './report-components/location-report/location-report.component';\r\nimport { ProjectReportComponent } from './report-components/project-report/project-report.component';\r\nimport { BudgetReportComponent } from './report-components/budget-report/budget-report.component';\r\nimport { ContactFormComponent } from './contact-form/contact-form.component';\r\nimport { ProjectMembershipComponent } from './project-membership/project-membership.component';\r\nimport { MembershipRequestsComponent } from './membership-requests/membership-requests.component';\r\nimport { TimeTrendReportComponent } from './report-components/time-trend-report/time-trend-report.component';\r\nimport { NotFoundComponent } from './not-found/not-found.component';\r\nimport { BudgetReportSummaryComponent } from './report-components/budget-report-summary/budget-report-summary.component';\r\nimport { DataImportComponent } from './data-import/data-import.component';\r\nimport { ContactProjectComponent } from './contact-project/contact-project.component';\r\nimport { ExrateUsageComponent } from './exrate-usage/exrate-usage.component';\r\nimport { ManageExrateUsageComponent } from './manage-exrate-usage/manage-exrate-usage.component';\r\nimport { HomePageSettingsComponent } from './home-page-settings/home-page-settings.component';\r\nimport { ManageHelpComponent } from './manage-help/manage-help.component';\r\nimport { DataEntryComponent } from './data-entry/data-entry/data-entry.component';\r\nimport { DocumentIatiComponent } from './data-entry/document-iati/document-iati.component';\r\nimport { FunderIatiComponent } from './data-entry/funder-iati/funder-iati.component';\r\nimport { ImplementerIatiComponent } from './data-entry/implementer-iati/implementer-iati.component';\r\nimport { DisbursementIatiComponent } from './data-entry/disbursement-iati/disbursement-iati.component';\r\nimport { SectorIatiComponent } from './data-entry/sector-iati/sector-iati.component';\r\nimport { LocationIatiComponent } from './data-entry/location-iati/location-iati.component';\r\nimport { BasicDataComponent } from './data-entry/basic-data/basic-data.component';\r\nimport { FinancialsComponent } from './data-entry/financials/financials.component';\r\nimport { ProjectSectorsComponent } from './data-entry/project-sectors/project-sectors.component';\r\nimport { ProjectFinishComponent } from './data-entry/project-finish/project-finish.component';\r\nimport { EnvelopeTypesComponent } from './envelope-types/envelope-types.component';\r\nimport { ManageEnvelopeTypeComponent } from './manage-envelope-type/manage-envelope-type.component';\r\nimport { DeleteEnvelopeTypeComponent } from './delete-envelope-type/delete-envelope-type.component';\r\nimport { EnvelopeReportComponent } from './report-components/envelope-report/envelope-report.component';\r\nimport { DataBackupComponent } from './data-backup/data-backup.component';\r\nimport { CreateOrgModalComponent } from './create-org-modal/create-org-modal.component';\r\nimport { AllProjectsReportComponent } from './report-components/all-projects-report/all-projects-report.component';\r\nimport { OrganizationTypesComponent } from './organization-types/organization-types.component';\r\nimport { ManageOrganizationTypeComponent } from './manage-organization-type/manage-organization-type.component';\r\nimport { DeleteOrganizationTypeComponent } from './delete-organization-type/delete-organization-type.component';\r\nimport { FinancialYearSettingsComponent } from './financial-year-settings/financial-year-settings.component';\r\nimport { ProjectMarkersComponent } from './data-entry/project-markers/project-markers.component';\r\nimport { EmailUsersComponent } from './email-users/email-users.component';\r\nimport { UserManagerComponent } from './user-manager/user-manager.component';\r\nimport { CopyPasteDirective } from './directives/copy-paste.directive';\r\nimport { JoinProjectModalComponent } from './join-project-modal/join-project-modal.component';\r\nimport { ProjectReportModalComponent } from './project-report-modal/project-report-modal.component';\r\nimport { ManageDocumentLinkComponent } from './manage-document-link/manage-document-link.component';\r\nimport { DocumentLinkComponent } from './document-link/document-link.component';\r\nimport { ContactEmailsComponent } from './contact-emails/contact-emails.component';\r\nimport { ContactMessagesComponent } from './contact-messages/contact-messages.component';\r\nimport { SublocationsComponent } from './sublocations/sublocations.component';\r\nimport { ManageSubLocationsComponent } from './manage-sublocations/manage-sublocations.component';\r\nimport { SublocationModalComponent } from './sublocation-modal/sublocation-modal.component';\r\nimport { SponsorLogosComponent } from './sponsor-logos/sponsor-logos.component';\r\nimport { ManageSponsorLogosComponent } from './manage-sponsor-logos/manage-sponsor-logos.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n UserRegistrationComponent,\r\n UserOrgRegistrationComponent,\r\n FocusDirective,\r\n CopyPasteDirective,\r\n HomeComponent,\r\n ProjectsComponent,\r\n ReportsPanelComponent,\r\n ManagementComponent,\r\n NotificationComponent,\r\n OrganizationsComponent,\r\n ManageOrganizationComponent,\r\n LocationsComponent,\r\n ManageLocationComponent,\r\n SectorTypesComponent,\r\n ManageSectortypeComponent,\r\n SectorsComponent,\r\n ManageSectorComponent,\r\n ManageProjectComponent,\r\n PasswordChangeComponent,\r\n ForgotPasswordComponent,\r\n ViewProjectComponent,\r\n ProjectLocationComponent,\r\n ProjectSectorComponent,\r\n ProjectFunderComponent,\r\n ProjectImplementerComponent,\r\n ProjectDisbursementComponent,\r\n ProjectDocumentComponent,\r\n ModalComponent,\r\n NewProjectComponent,\r\n SectorReportComponent,\r\n ProjectEntryComponent,\r\n InfoModalComponent,\r\n TruncatePipe,\r\n ProjectInfoModalComponent,\r\n ProjectiInfoModalComponent,\r\n ErrorModalComponent,\r\n IatiSettingsComponent,\r\n SmtpSettingsComponent,\r\n ManageAccountComponent,\r\n ResetPasswordComponent,\r\n CurrenciesComponent,\r\n ManageCurrencyComponent,\r\n FinancialYearsComponent,\r\n ManageYearComponent,\r\n UserSubscriptionComponent,\r\n MergeProjectsComponent,\r\n MergeOrganizationComponent,\r\n DeleteOrganizationComponent,\r\n DeleteLocationComponent,\r\n DeleteSectorComponent,\r\n SectorMappingsComponent,\r\n SectorTypesComponent,\r\n ExrateSettingsComponent,\r\n EnvelopeComponent,\r\n ManageMarkersComponent,\r\n MarkersComponent,\r\n DeleteMarkerComponent,\r\n FundingTypesComponent,\r\n ManageFundingTypeComponent,\r\n EmailMessagesComponent,\r\n ManageEmailMessageComponent,\r\n DeleteSectortypeComponent,\r\n LocationReportComponent,\r\n ProjectReportComponent,\r\n BudgetReportComponent,\r\n ContactFormComponent,\r\n ProjectMembershipComponent,\r\n MembershipRequestsComponent,\r\n TimeTrendReportComponent,\r\n NotFoundComponent,\r\n BudgetReportSummaryComponent,\r\n DataImportComponent,\r\n ContactProjectComponent,\r\n ExrateUsageComponent,\r\n ManageExrateUsageComponent,\r\n HomePageSettingsComponent,\r\n ManageHelpComponent,\r\n DataEntryComponent,\r\n DocumentIatiComponent,\r\n FunderIatiComponent,\r\n ImplementerIatiComponent,\r\n DisbursementIatiComponent,\r\n SectorIatiComponent,\r\n LocationIatiComponent,\r\n BasicDataComponent,\r\n FinancialsComponent,\r\n ProjectSectorsComponent,\r\n ProjectFinishComponent,\r\n EnvelopeTypesComponent,\r\n ManageEnvelopeTypeComponent,\r\n DeleteEnvelopeTypeComponent,\r\n EnvelopeReportComponent,\r\n DataBackupComponent,\r\n CreateOrgModalComponent,\r\n AllProjectsReportComponent,\r\n OrganizationTypesComponent,\r\n ManageOrganizationTypeComponent,\r\n DeleteOrganizationTypeComponent,\r\n FinancialYearSettingsComponent,\r\n ProjectMarkersComponent,\r\n EmailUsersComponent,\r\n UserManagerComponent,\r\n JoinProjectModalComponent,\r\n ProjectReportModalComponent,\r\n ManageDocumentLinkComponent,\r\n DocumentLinkComponent,\r\n ContactEmailsComponent,\r\n ContactMessagesComponent,\r\n SublocationsComponent,\r\n ManageSubLocationsComponent,\r\n SublocationModalComponent,\r\n SponsorLogosComponent,\r\n ManageSponsorLogosComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n MatInputModule,\r\n MatAutocompleteModule,\r\n MatFormFieldModule,\r\n MatButtonModule,\r\n MatProgressSpinnerModule,\r\n NgxPaginationModule,\r\n NgbDatepickerModule,\r\n TooltipModule,\r\n BlockUIModule.forRoot(),\r\n ChartsModule,\r\n NgMultiSelectDropDownModule.forRoot(),\r\n FontAwesomeModule,\r\n EmbedVideo.forRoot()\r\n ],\r\n providers: [\r\n /*{ \r\n provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true,\r\n }*/\r\n /*{\r\n provide: 'BACKEND_API_URL', useValue: environment.backendApiUrl\r\n }*/\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { LocationService } from '../services/location.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-delete-location',\r\n templateUrl: './delete-location.component.html',\r\n styleUrls: ['./delete-location.component.css']\r\n})\r\nexport class DeleteLocationComponent implements OnInit {\r\n\r\n locationsList: any = [];\r\n projectsList: any = [];\r\n id: string = null;\r\n requestNo: number = 0;\r\n errorMessage: string = null;\r\n model: any = { locationId: 0};\r\n isLoading: boolean = true;\r\n permissions: any = {};\r\n\r\n constructor(private locationService: LocationService, private route: ActivatedRoute,\r\n private storeService: StoreService, private errorModal: ErrorModalComponent,\r\n private router: Router, private securityService: SecurityHelperService) { }\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditCurrency) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n if (this.route.snapshot.data) {\r\n this.id = this.route.snapshot.params[\"{id}\"];\r\n }\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n this.getLocationsList();\r\n this.getLocationProjects();\r\n }\r\n\r\n getLocationsList() {\r\n this.locationService.getLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.locationsList = data;\r\n this.locationsList = this.locationsList.filter(o => o.id != this.id);\r\n }\r\n }\r\n )\r\n }\r\n\r\n getLocationProjects() {\r\n this.locationService.getLocationProjects(this.id).subscribe(\r\n data => {\r\n if (data) {\r\n this.projectsList = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n )\r\n }\r\n\r\n deleteAndMergeLocation() {\r\n this.blockUI.start('Deleting location...');\r\n this.locationService.deleteLocation(this.id, this.model.locationId).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('locations');\r\n }\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Effected projects list
\r\n
\r\n Loading projects...\r\n
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n \r\n {{number + 1}} {{project.title}}\r\n \r\n
\r\n \r\n No projects to show\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
Delete confirmation
\r\n
\r\n

\r\n You can assign the new location to effected project/s. If you do not assign the project\r\n and delete without assign, the selected location will be deleted for all the effected projects.\r\n Please review the settings before delete, as this action cannot be undone.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit, Input, Injectable } from '@angular/core';\r\nimport { ModalService } from '../services/modal.service';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'project-info-modal',\r\n templateUrl: './project-info-modal.component.html',\r\n styleUrls: ['./project-info-modal.component.css']\r\n})\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProjectInfoModalComponent implements OnInit {\r\n\r\n @Input()\r\n project: any = {};\r\n @Input()\r\n projectId: number = 0;\r\n @Input()\r\n sectors: any = [];\r\n @Input()\r\n locations: any = [];\r\n @Input()\r\n funders: any = [];\r\n @Input()\r\n disbursements: any = [];\r\n @Input()\r\n implementers: any = [];\r\n @Input()\r\n documents: any = [];\r\n @Input()\r\n markers: any = [];\r\n @Input()\r\n isShowContact: boolean = false;\r\n\r\n disbursementTypeConstants: any = {\r\n 1: 'Actual',\r\n 2: 'Planned'\r\n };\r\n\r\n constructor(private modalService: ModalService, private storeService: StoreService,\r\n private router: Router) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n openModal() {\r\n this.modalService.open('project-info-modal');\r\n }\r\n\r\n closeModal() {\r\n this.modalService.close('project-info-modal');\r\n }\r\n\r\n displayFieldValues(json: any) {\r\n return this.storeService.parseAndDisplayJsonAsString(json);\r\n }\r\n\r\n getLongDateString(dated) {\r\n return this.storeService.getLongDateString(dated);\r\n }\r\n\r\n contactProject() {\r\n if (this.projectId != 0) {\r\n this.router.navigateByUrl('contact-project/' + this.projectId);\r\n }\r\n }\r\n\r\n formatDateUKStyle(dated: any) {\r\n var validDate = Date.parse(dated);\r\n if (isNaN(validDate)) {\r\n return 'Invalid date';\r\n }\r\n var datesArr = dated.split('-');\r\n return this.storeService.formatDateInUkStyle(parseInt(datesArr[0]), parseInt(datesArr[1]), parseInt(datesArr[2]));\r\n }\r\n\r\n}\r\n","\r\n\r\n \r\n
\r\n
\r\n \r\n  \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Project data
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Title: {{project.title}}
Start date: {{formatDateUKStyle(project.startDate)}}End date: {{formatDateUKStyle(project.endDate)}}
Description: \r\n {{project.description}}\r\n
\r\n\r\n
\r\n
\r\n
Project sectors
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorFunds percentage
{{sector.sector}}{{sector.fundsPercentage}}
\r\n \r\n No sectors found\r\n \r\n
\r\n\r\n
\r\n
Project locations
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
LocationFunds percentage
{{location.location}}{{location.fundsPercentage}}
\r\n No locations found\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Project funders
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Funder
{{funder.funder}}
\r\n \r\n No funders found\r\n \r\n
\r\n
\r\n
Project implementers
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Implementor
{{implementer.implementer}}
\r\n \r\n No implementers found\r\n \r\n
\r\n
\r\n\r\n
Project disbursements
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
YearTypeAmountCurrencyExchange rate
{{disbursement.year}}{{disbursementTypeConstants[disbursement.disbursementType]}}{{disbursement.amount | number:0}}{{disbursement.currency}}{{disbursement.exchangeRate}}
\r\n \r\n No disbursements found\r\n \r\n\r\n
Project documents
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Document titleUrl
{{document.documentTitle}}{{document.documentUrl}}
\r\n \r\n No documents found\r\n \r\n\r\n
Project markers
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Marker nameValue/s
{{field.fieldTitle}}{{displayFieldValues(field.values)}}
\r\n \r\n No markers found\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n  \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
","export class RegistrationModel {\r\n constructor(\r\n public email: string,\r\n public password: string,\r\n public confirmPassword: string,\r\n public organizationId: string,\r\n public organizationName: string,\r\n public organizationTypeId: string,\r\n public isNewOrganization: boolean\r\n ) { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UserService } from '../services/user-service';\r\nimport { Router } from '@angular/router';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\nimport { EmailMessageService } from '../services/email-message.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\n\r\n@Component({\r\n selector: 'app-email-users',\r\n templateUrl: './email-users.component.html',\r\n styleUrls: ['./email-users.component.css']\r\n})\r\nexport class EmailUsersComponent implements OnInit {\r\n\r\n messageLimit: number = Settings.emailMessageLimit;\r\n messageLimitLeft: number = Settings.emailMessageLimit;\r\n requestNo: number = 0;\r\n isBtnDisabled: boolean = false;\r\n usersList: any = [];\r\n filteredUsersList: any = [];\r\n managerUsersList: any = [];\r\n permissions: any = {};\r\n usersSettings: any = {};\r\n selectedUsers: any = [];\r\n selectedManagers: any = [];\r\n emailsList: any = [];\r\n btnText: string = 'Send email';\r\n managersSettings: any = {};\r\n currentEntryForm: any = null;\r\n infoMessage: string = null;\r\n errorMessage: string = null;\r\n userFilters: any = [\r\n { id: 1, label: '--All users--' },\r\n { id: 2, label: 'Standard users'},\r\n { id: 3, label: 'UnAffiliated users' }\r\n ];\r\n userFilterConstants: any = {\r\n ALL_USERS: 1,\r\n STANDARD_USERS: 2,\r\n UN_AFFILIATED_USERS: 3\r\n };\r\n\r\n selectedUserFilter: any = this.userFilterConstants.ALL_USERS;\r\n emailModel: any = { subject: null, title: null, message: null, selectedManagers: [], selectedUsers: [], emailsList: [] };\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private emailMessageService: EmailMessageService, \r\n private userService: UserService, private router: Router,\r\n private securityService: SecurityHelperService, private storeService: StoreService,\r\n private infoModal: InfoModalComponent, private errorModal: ErrorModalComponent) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditEmailMessage) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.usersSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'email',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.getManagerUsers();\r\n this.getStandardUsers();\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n }\r\n\r\n getManagerUsers() {\r\n this.userService.getManagerUsers().subscribe(\r\n data => {\r\n if (data) {\r\n this.managerUsersList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getStandardUsers() {\r\n this.userService.getStandardUsers().subscribe(\r\n data => {\r\n if (data) {\r\n this.usersList = data;\r\n this.filteredUsersList = data;\r\n }\r\n }\r\n )\r\n }\r\n\r\n filterUsers() {\r\n var filter = parseInt(this.selectedUserFilter);\r\n switch(filter) {\r\n case this.userFilterConstants.ALL_USERS:\r\n this.filteredUsersList = this.usersList;\r\n break;\r\n\r\n case this.userFilterConstants.STANDARD_USERS:\r\n this.filteredUsersList = this.usersList.filter(u => u.isUnAffiliated == false);\r\n break;\r\n\r\n case this.userFilterConstants.UN_AFFILIATED_USERS:\r\n this.filteredUsersList = this.usersList.filter(u => u.isUnAffiliated == true);\r\n break;\r\n\r\n default:\r\n this.filteredUsersList = this.usersList;\r\n break;\r\n }\r\n }\r\n\r\n sendEmailMessage(frm: any) {\r\n if (this.selectedManagers.length == 0 && this.selectedUsers.length == 0) {\r\n this.errorMessage = 'You must select at least one receiver for this email to send.';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.currentEntryForm = frm;\r\n this.blockUI.start('Sending email...');\r\n var emailsList = [];\r\n this.selectedManagers.forEach(e => emailsList.push({ email: e }));\r\n this.selectedUsers.forEach(e => emailsList.push({ email: e }));\r\n\r\n var model = {\r\n title: this.emailModel.title,\r\n subject: this.emailModel.subject,\r\n message: this.emailModel.message,\r\n emailsList: emailsList\r\n }\r\n\r\n this.emailMessageService.sendEmailMessage(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.selectedManagers = [];\r\n this.selectedUsers = [];\r\n this.infoMessage = 'Email sent successfully to the recipient/s';\r\n this.infoModal.openModal();\r\n }\r\n this.blockUI.stop();\r\n this.resetEmailForm();\r\n }\r\n );\r\n }\r\n\r\n resetEmailForm() {\r\n this.emailModel = { subject: null, title: null, message: null, selectedManagers: [], selectedUsers: [], emailsList: [] };\r\n this.currentEntryForm.resetForm();\r\n }\r\n\r\n onManagerSelect(item: any) {\r\n var email = item.email;\r\n if (this.selectedManagers.indexOf(email) == -1) {\r\n this.selectedManagers.push(email);\r\n }\r\n }\r\n\r\n onManagerDeSelect(item: any) {\r\n var email = item.email;\r\n var index = this.selectedManagers.indexOf(email);\r\n this.selectedManagers.splice(index, 1);\r\n }\r\n\r\n onManagerSelectAll(items: any) {\r\n items.forEach(function (item) {\r\n var email = item.email;\r\n if (this.selectedManagers.indexOf(email) == -1) {\r\n this.selectedManagers.push(email);\r\n }\r\n }.bind(this))\r\n }\r\n\r\n onUserSelectAll(items: any) {\r\n items.forEach(function (item) {\r\n var email = item.email;\r\n if (this.selectedUsers.indexOf(email) == -1) {\r\n this.selectedUsers.push(email);\r\n }\r\n }.bind(this))\r\n }\r\n\r\n onUserSelect(item: any) {\r\n var email = item.email;\r\n if (this.selectedUsers.indexOf(email) == -1) {\r\n this.selectedUsers.push(email);\r\n }\r\n }\r\n\r\n onUserDeSelect(item: any) {\r\n var email = item.email;\r\n var index = this.selectedUsers.indexOf(email);\r\n this.selectedUsers.splice(index, 1);\r\n }\r\n\r\n getMessageLimitInfo() {\r\n this.messageLimitLeft = (this.messageLimit - this.emailModel.message.length);\r\n if (this.messageLimitLeft < 0) {\r\n this.emailModel.message = this.emailModel.message.substring(0, (this.messageLimit - 1));\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n Subject is required\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n Title is required\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n Message is required\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { EnvelopeService } from '../services/envelope-service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { CurrencyService } from '../services/currency.service';\r\nimport { Messages } from '../config/messages';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { StoreService } from '../services/store-service';\r\nimport { EnvelopeTypeService } from '../services/envelope-type.service';\r\nimport { Settings } from '../config/settings';\r\nimport { FinancialYearService } from '../services/financial-year.service';\r\n\r\n@Component({\r\n selector: 'app-envelope',\r\n templateUrl: './envelope.component.html',\r\n styleUrls: ['./envelope.component.css']\r\n})\r\nexport class EnvelopeComponent implements OnInit {\r\n btnText: string = 'Save envelope data';\r\n permissions: any = {};\r\n userOrganizationId: number = 0;\r\n manualExchangeRate: number = 0;\r\n yearsLoading: boolean = false;\r\n\r\n envelopeTypes: any = [];\r\n yearsList: any = [];\r\n financialYears: any = [];\r\n yearHelpLabels: any = [];\r\n currenciesList: any = [];\r\n exchangeRates: any = [];\r\n isError: boolean = false;\r\n isLoading: boolean = true;\r\n errorMessage: string = '';\r\n selectedCurrency: string = null;\r\n exchangeRate: number = 0;\r\n oldExchangeRate: number = 0;\r\n defaultExchangeRate: number = 0;\r\n currentExchangeRate: number = 0;\r\n defaultCurrency: string = null;\r\n nationalCurrency: string = null;\r\n exRateSource: string = null;\r\n areSettingsLoading: boolean = true;\r\n financialYearSettings: any = { \r\n nextFinancialYearLabel: '', \r\n month: 1, day: 1 };\r\n fyPreviousStartingDate: any = null;\r\n fyPreviousEndingDate: any = null;\r\n fyStartingDate: any = null;\r\n fyEndingDate: any = null;\r\n fyNextStartingDate: any = null;\r\n fyNextEndingDate: any = null;\r\n model: any = { currency: null, exchangeRate: 1 };\r\n envelopeData: any = { funderId: 0, funderName: null, currency: null, yearlyBreakup: [] };\r\n envelopeBreakups: any = [];\r\n envelopeSectorsBreakups: any = [];\r\n secondPreviousYear: number = 0;\r\n previousYear: number = 0\r\n currentYear: number = 0;\r\n nextYear: number = 0;\r\n numberLength: number = 11;\r\n yearlyTotals: any = {\r\n secondPreviousYear: 0,\r\n previousYear: 0,\r\n currentYear: 0,\r\n nextYear: 0\r\n };\r\n\r\n tooltipOptions = {\r\n 'placement': 'top',\r\n 'show-delay': 500\r\n }\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private securityService: SecurityHelperService, private router: Router,\r\n private envelopeService: EnvelopeService, private currencyService: CurrencyService,\r\n private errorModal: ErrorModalComponent, private storeService: StoreService,\r\n private envelopeTypeService: EnvelopeTypeService,\r\n private yearsService: FinancialYearService) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.entry);\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditEnvelope) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.getFinancialYearSettings();\r\n this.getFinancialYears();\r\n this.getAverageExchangeRates();\r\n this.getCurrenciesList();\r\n this.getEnvelopeData();\r\n this.currentYear = this.storeService.getCurrentYear();\r\n this.secondPreviousYear = (this.currentYear - 2);\r\n this.previousYear = (this.currentYear - 1);\r\n this.nextYear = (this.currentYear + 1);\r\n \r\n }\r\n\r\n getFinancialYearSettings() {\r\n this.yearsService.getSettings().subscribe(\r\n data => {\r\n if (data) {\r\n this.financialYearSettings.month = data.month;\r\n this.financialYearSettings.day = data.day;\r\n //this.financialYearSettings.currentFinancialYearLabel = data.currentFinancialYearLabel;\r\n\r\n var year = data.currentFinancialYear;\r\n var yearLabel = data.currentFinancialYearLabel;\r\n var previousYear = data.previousFinancialYear;\r\n var previousYearLabel = data.previousFinancialYearLabel;\r\n var secondPreviousYear = data.secondPreviousFinancialYear;\r\n var secondPreviousYearLabel = data.secondPreviousFinancialYearLabel;\r\n var nextYear = data.nextFinancialYear;\r\n var nextYearLabel = data.nextFinancialYearLabel;\r\n var month = data.month;\r\n var day = data.day;\r\n \r\n var secondPreviousStartingDate = new Date(secondPreviousYear, (month - 1), day).toDateString();\r\n var spEndDate = new Date(secondPreviousYear, (month - 1), day - 1);\r\n var secondPreviousEndingDate = new Date(secondPreviousYear, spEndDate.getMonth(), spEndDate.getDate()).toDateString();\r\n this.yearHelpLabels.push({\r\n year: secondPreviousYear,\r\n label: secondPreviousYearLabel,\r\n startingDate: secondPreviousStartingDate,\r\n endingDate: secondPreviousEndingDate\r\n });\r\n\r\n var previousStartingDate = new Date(previousYear, (month - 1), day).toDateString();\r\n var pEndDate = new Date(previousYear, (month - 1), day - 1);\r\n var previousEndingDate = new Date(previousYear, pEndDate.getMonth(), pEndDate.getDate()).toDateString();\r\n this.yearHelpLabels.push({\r\n year: previousYear,\r\n label: previousYearLabel,\r\n startingDate: previousStartingDate,\r\n endingDate: previousEndingDate\r\n });\r\n\r\n var startingDate = new Date(year, (month - 1), day).toDateString();\r\n var endDate = new Date(year, (month - 1), day - 1);\r\n var endingDate = new Date(year, endDate.getMonth(), endDate.getDate()).toDateString();\r\n this.yearHelpLabels.push({\r\n year: year,\r\n label: yearLabel,\r\n startingDate: startingDate,\r\n endingDate: endingDate\r\n });\r\n \r\n\r\n var nextStartingDate = new Date(nextYear, (month - 1), day).toDateString();\r\n var nEndDate = new Date(nextYear, (month - 1), day - 1);\r\n var nextEndingDate = new Date(nextYear, nEndDate.getMonth(), nEndDate.getDate()).toDateString();\r\n this.yearHelpLabels.push({\r\n year: nextYear,\r\n label: nextYearLabel,\r\n startingDate: nextStartingDate,\r\n endingDate: nextEndingDate\r\n });\r\n }\r\n this.areSettingsLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getFinancialYearLabel(year) {\r\n var yearLabel = '';\r\n var label = this.yearHelpLabels.filter(y => y.year == year);\r\n if (label.length > 0) {\r\n yearLabel = label[0].label + ' starts on ' + label[0].startingDate + ' and ends on ' + label[0].endingDate;\r\n }\r\n return yearLabel;\r\n }\r\n\r\n getEnvelopeTypes() {\r\n this.envelopeTypeService.getAllEnvelopeTypes().subscribe(\r\n data => {\r\n if (data) {\r\n this.envelopeTypes = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getFinancialYears() {\r\n this.yearsService.getYearsForEnvelopeEntry().subscribe(\r\n data => {\r\n this.yearsList = data\r\n }\r\n );\r\n }\r\n\r\n getDefaultCurrency() {\r\n this.currencyService.getDefaultCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultCurrency = data.currency;\r\n if (this.defaultCurrency) {\r\n var exRate = this.exchangeRates.filter(e => e.currency == this.model.currency);\r\n if (exRate.length > 0) {\r\n this.defaultExchangeRate = exRate[0].rate;\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getAverageExchangeRates() {\r\n var model = {\r\n dated: this.storeService.getCurrentDateSQLFormat()\r\n };\r\n this.currencyService.getAverageCurrencyForDate(model).subscribe(\r\n data => {\r\n this.exchangeRates = data;\r\n this.getDefaultCurrency();\r\n }\r\n );\r\n }\r\n\r\n getExchangeRateForCurrency() {\r\n if (this.model.currency) {\r\n var exRate = this.exchangeRates.filter(e => e.currency == this.model.currency);\r\n if (this.model.exchangeRate > 0) {\r\n if (exRate.length > 0) {\r\n if (this.model.exchangeRate > 0) {\r\n this.envelopeData.envelopeBreakupsByType.forEach((b) => {\r\n b.yearlyBreakup.forEach((y) => {\r\n y.amount = parseFloat((y.amount * (exRate[0].rate / this.model.exchangeRate)).toString()).toFixed(2);\r\n });\r\n });\r\n }\r\n this.model.exchangeRate = exRate[0].rate;\r\n }\r\n } else {\r\n this.model.exchangeRate = exRate[0].rate;\r\n }\r\n } else {\r\n this.model.exchangeRate = 1;\r\n }\r\n this.calculateYearlyTotal();\r\n }\r\n\r\n getEnvelopeData() {\r\n this.blockUI.start('Loading envelope data...');\r\n this.envelopeService.getEnvelopForFunder().subscribe(\r\n data => {\r\n if (data) {\r\n this.envelopeData = data;\r\n if (this.envelopeData.currency) {\r\n this.model.currency = this.envelopeData.currency;\r\n }\r\n this.calculateYearlyTotal();\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n getCurrenciesList() {\r\n this.currencyService.getCurrenciesForUser().subscribe(\r\n data => {\r\n if (data) {\r\n this.currenciesList = data;\r\n }\r\n }\r\n );\r\n }\r\n \r\n handleNullAmount(amount: number) {\r\n if (amount == null) {\r\n return 0;\r\n }\r\n return amount;\r\n }\r\n\r\n preventInput(event) {\r\n let value = event.currentTarget.value;\r\n if (value >= 99999999999) {\r\n event.preventDefault();\r\n event.currentTarget.value = parseInt(value.toString().substring(0, 10));\r\n }\r\n\r\n setTimeout(() => {\r\n if (value > 0) {\r\n this.calculateYearlyTotal();\r\n }\r\n }, 500);\r\n }\r\n\r\n saveEnvelopeData() {\r\n if (!this.model.currency) {\r\n this.errorMessage = 'Please select a currency for envelope';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var envelopeBreakups = [];\r\n this.envelopeData.envelopeBreakupsByType.forEach((b) => {\r\n var eTypeId = b.envelopeTypeId;\r\n b.yearlyBreakup.forEach((y) => {\r\n envelopeBreakups.push({\r\n envelopeTypeId: parseInt(eTypeId),\r\n year: parseInt(y.year),\r\n amount: parseFloat(y.amount)\r\n });\r\n });\r\n });\r\n\r\n var model = {\r\n currency: this.model.currency,\r\n exchangeRate: parseFloat(this.model.exchangeRate),\r\n envelopeBreakups: envelopeBreakups\r\n }\r\n\r\n this.blockUI.start('Saving envelope...');\r\n this.envelopeService.addEnvelope(model).subscribe(\r\n data => {\r\n if (data) {\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n calculateYearlyTotal() {\r\n for (var year = this.secondPreviousYear; year <= this.nextYear; year++) {\r\n var totalAmountForYear = 0;\r\n if (this.envelopeData.envelopeBreakupsByType) {\r\n this.envelopeData.envelopeBreakupsByType.forEach((b) => {\r\n var yearlyData = b.yearlyBreakup.filter(y => y.year == year);\r\n if (yearlyData.length > 0) {\r\n var amountToAdd = 0;\r\n if (isNaN(yearlyData[0].amount)) {\r\n amountToAdd = 0;\r\n } else {\r\n amountToAdd = yearlyData[0].amount;\r\n }\r\n totalAmountForYear += Math.round(parseFloat((amountToAdd).toString()));\r\n }\r\n });\r\n }\r\n this.yearlyTotals[year] = totalAmountForYear.toFixed(2);\r\n }\r\n }\r\n\r\n formatNumber(value: number) {\r\n value = Math.trunc(value);\r\n return this.storeService.getNumberWithCommas(value);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n  \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Envelope type\r\n {{year.label}} \r\n \r\n \r\n \r\n
{{envelope.envelopeType}}\r\n \r\n
Total\r\n {{formatNumber(yearlyTotals[year.financialYear])}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Settings } from '../config/settings';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { OrganizationService } from '../services/organization-service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { OrganizationTypeService } from '../services/organization-type.service';\r\n\r\n@Component({\r\n selector: 'app-delete-organization-type',\r\n templateUrl: './delete-organization-type.component.html',\r\n styleUrls: ['./delete-organization-type.component.css']\r\n})\r\nexport class DeleteOrganizationTypeComponent implements OnInit {\r\n requestNo: number = 0;\r\n id: number = 0;\r\n mappingOrganizationTypeId: number = 0;\r\n errorMessage: string = null;\r\n deletionMessage: string = null;\r\n isLoading: boolean = true;\r\n organizationTypesList: any = [];\r\n organizationsList: any = [];\r\n @BlockUI() blockUI: NgBlockUI;\r\n\r\n constructor(private storeService: StoreService, private route: ActivatedRoute,\r\n private errorModal: ErrorModalComponent, private router: Router,\r\n private orgranizationService: OrganizationService,\r\n private organizationTypeService: OrganizationTypeService) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n if (this.route.snapshot.data) {\r\n this.id = this.route.snapshot.params[\"{id}\"];\r\n }\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n if (!this.id) {\r\n this.router.navigateByUrl('organization-types');\r\n }\r\n\r\n this.getOrganizationTypes();\r\n this.getOrganizationsForType();\r\n }\r\n\r\n getOrganizationTypes() {\r\n this.organizationTypeService.getOrganizationTypes().subscribe(\r\n data => {\r\n if (data) {\r\n var orgTypes = data;\r\n this.organizationTypesList = orgTypes.filter(t => t.id != this.id);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getOrganizationsForType() {\r\n this.orgranizationService.getOrganizationsForType(this.id.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationsList = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n showList() {\r\n this.router.navigateByUrl('organization-types');\r\n }\r\n\r\n delete() {\r\n this.blockUI.start('Deleting organization type...');\r\n this.organizationTypeService.deleteOrganizationType(this.id.toString(), this.mappingOrganizationTypeId.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('organization-types');\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Dependent organization type list
\r\n
\r\n Loading organizations...\r\n
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n \r\n {{number + 1}}\r\n {{organization.organizationName}}\r\n \r\n
\r\n \r\n No dependent organizations found\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
{{deletionMessage}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n

0\" class=\"text-warning\">\r\n There are {{organizationsList.length}} dependent organization/s for this\r\n organization type. Delete all\r\n dependent organization/s first before attempting to delete this organization type.\r\n

\r\n

\r\n There are no dependent organizations under this organization type. You can delete\r\n this organization type\r\n safely. This action cannot be undone.\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ExRateUsageService } from '../services/exrate-usage.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-manage-exrate-usage',\r\n templateUrl: './manage-exrate-usage.component.html',\r\n styleUrls: ['./manage-exrate-usage.component.css']\r\n})\r\nexport class ManageExrateUsageComponent implements OnInit {\r\n permissions: any = {};\r\n eUsageId: number = 0;\r\n btnText: string = 'Save setting';\r\n isBtnDisabled: boolean = false;\r\n isForEdit: boolean = false;\r\n requestNo: number = 0;\r\n errorMessage: string = null;\r\n model: any = { id: 0, source: null, usageSection: null, order: null };\r\n\r\n sources: any = [\r\n { id: 1, text: 'Open Exchange', code: 'OpenExchange' },\r\n { id: 2, text: 'Central Bank', code: 'CentralBank' }\r\n ];\r\n\r\n usageSections: any = [\r\n { id: 1, text: 'Data entry', code: 'DataEntry' },\r\n { id: 2, text: 'Reporting', code: 'Reporting' }\r\n ];\r\n\r\n sourcesCodes: any = {\r\n 'OpenExchange': 1,\r\n 'CentralBank': 2\r\n };\r\n\r\n usageSectionCodes: any = {\r\n 'DataEntry': 1,\r\n 'Reporting': 2\r\n };\r\n\r\n orderNumbers: any = [1, 2];\r\n\r\n constructor(private exRateUsageService: ExRateUsageService, private securityService: SecurityHelperService,\r\n private router: Router, private route: ActivatedRoute, private storeService: StoreService,\r\n private errorModal: ErrorModalComponent) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditCurrency) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n \r\n if (this.route.snapshot.data && this.route.snapshot.data.isForEdit) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.isForEdit = true;\r\n this.getExrateUsage(id);\r\n }\r\n }\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n }\r\n\r\n getExrateUsage(id: string) {\r\n this.exRateUsageService.getExRateUsageById(id).subscribe(\r\n data => {\r\n if (data) {\r\n this.model.id = id;\r\n this.model.source = this.sourcesCodes[data.source];\r\n this.model.usageSection = this.usageSectionCodes[data.usageSection];\r\n this.model.order = data.order;\r\n }\r\n }\r\n );\r\n }\r\n\r\n saveExRateUsage(frm: any) {\r\n this.btnText = 'Saving data...';\r\n this.isBtnDisabled = true;\r\n\r\n if (this.isForEdit) {\r\n this.exRateUsageService.editExchangeRateUsage(this.model.id, this.model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('exchange-rate-usage');\r\n } else {\r\n this.btnText = 'Save settings';\r\n this.isBtnDisabled = false;\r\n }\r\n }\r\n );\r\n } else {\r\n this.exRateUsageService.saveExchangeRateUsage(this.model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('exchange-rate-usage');\r\n } else {\r\n this.btnText = 'Save settings';\r\n this.isBtnDisabled = false;\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Manage exchange rate usage
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Source is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Usage section is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Order is required\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ProjectService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) { }\r\n\r\n\r\n getProjectsList() {\r\n var url = this.urlHelper.getProjectUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Projects')));\r\n }\r\n\r\n getLatestProjects() {\r\n var url = this.urlHelper.getLatestProjectsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Latest Projects')));\r\n }\r\n\r\n getProjectsWithDetail() {\r\n var url = this.urlHelper.getProjectsWithDetail();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Projects Detail'))\r\n );\r\n }\r\n\r\n filterProjects(criteria: string) {\r\n var url = this.urlHelper.getSearchProjectsUrl(criteria);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Projects')));\r\n }\r\n\r\n getProject(id: string) {\r\n var url = this.urlHelper.getSingleProjectUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project')));\r\n }\r\n\r\n getProjectProfileReport(id: string) {\r\n var url = this.urlHelper.getProjectProfileReport(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Profile')));\r\n }\r\n\r\n getUserMembershipProjects() {\r\n var url = this.urlHelper.getUserApprovedRequestsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('User Approved Requests')));\r\n }\r\n\r\n getUserProjects() {\r\n var url = this.urlHelper.getUserProjectsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('User Projects')));\r\n }\r\n\r\n getProjectTitle(id: string) {\r\n var url = this.urlHelper.getProjectTitle(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project title')));\r\n }\r\n\r\n getProjectsCount() {\r\n var url = this.urlHelper.getProjectsCountUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Projects Count'))\r\n );\r\n }\r\n\r\n addProject(model: any) {\r\n var url = this.urlHelper.getProjectUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Project')));\r\n }\r\n\r\n\r\n applyForProjectMembership(model: any) {\r\n var url = this.urlHelper.applyForProjectMembershipUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Membership')));\r\n }\r\n\r\n getProjectMembershipRequests() {\r\n var url = this.urlHelper.getProjectMembershipUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Membership Requests')));\r\n }\r\n\r\n mergeProjects(model: any) {\r\n var url = this.urlHelper.getMergeProjectsUrl();\r\n return this.httpClient.post(url, JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Merge Projects'))\r\n );\r\n }\r\n\r\n approveProjectMembership(model: any) {\r\n var url = this.urlHelper.approveProjectMembershipUrl();\r\n return this.httpClient.post(url, JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Approve Project Membership')));\r\n }\r\n\r\n unApproveProjectMembership(model: any) {\r\n var url = this.urlHelper.unApproveProjectMembershipUrl();\r\n return this.httpClient.post(url, JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Approve Project Membership')));\r\n }\r\n\r\n searchProjectsViewByCriteria(model: any) {\r\n var url = this.urlHelper.getSearchProjectsViewUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Search Projects')));\r\n }\r\n\r\n updateProject(id: number, model: any) {\r\n var url = this.urlHelper.getProjectUrl() + '/' + id;\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Update Project')));\r\n }\r\n\r\n //Project locations functions\r\n addProjectLocation(model: any) {\r\n var url = this.urlHelper.addProjectLocationUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Project Location')));\r\n }\r\n\r\n deleteProjectLocation(projectId: string, locationId: string) {\r\n var url = this.urlHelper.deleteProjectLocationUrl(projectId, locationId);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Project Location')));\r\n }\r\n\r\n getProjectLocations(id: string) {\r\n var url = this.urlHelper.getProjectLocationsUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Locations')));\r\n }\r\n\r\n //Project sector functions\r\n addProjectSector(model: any) {\r\n var url = this.urlHelper.addProjectSectorUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Project Sector')));\r\n }\r\n\r\n getProjectSectors(id: string) {\r\n var url = this.urlHelper.getProjectSectorsUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Sectors')));\r\n }\r\n\r\n deleteProjectSector(projectId: string, sectorId: string) {\r\n var url = this.urlHelper.deleteProjectSectorUrl(projectId, sectorId);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Project Sector')));\r\n }\r\n\r\n getDeleteProjectIds() {\r\n var url = this.urlHelper.getDeleteProjectIdsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Project Ids'))\r\n );\r\n }\r\n\r\n getProjectTitles() {\r\n var url = this.urlHelper.getProjectTitlesUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project titles'))\r\n );\r\n }\r\n\r\n makeProjectDeletionRequest(model: any) {\r\n var url = this.urlHelper.getProjectDeletionRequestUrl();\r\n return this.httpClient.post(url, model, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Deletion Request'))\r\n );\r\n }\r\n\r\n getProjectDeletionActiveRequests() {\r\n var url = this.urlHelper.getProjectDeletionActiveRequestsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Deletion Active Requests'))\r\n );\r\n }\r\n\r\n approveProjectDeletion(id: string) {\r\n var url = this.urlHelper.getProjectDeletionApprovalUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Deletion Request Approval'))\r\n );\r\n }\r\n\r\n cancelProjectDeletion(id: string) {\r\n var url = this.urlHelper.getProjectDeletionCancelUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Deletion Request Cancellation'))\r\n );\r\n }\r\n\r\n deleteProject(id: string) {\r\n var url = this.urlHelper.getProjectDeletionRequestUrl() + '/' + id;\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Deletion'))\r\n );\r\n }\r\n\r\n //Project funder functions\r\n addProjectFunder(model: any) {\r\n var url = this.urlHelper.addProjectFunderUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Project Funder')));\r\n }\r\n\r\n addProjectFunderFromSource(model: any) {\r\n var url = this.urlHelper.addProjectFunderFromSourceUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Project Funder from Source')));\r\n }\r\n\r\n addProjectImplementerFromSource(model: any) {\r\n var url = this.urlHelper.addProjectImplementerFromSourceUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Project Implementer from Source')));\r\n }\r\n\r\n getProjectFunders(id: string) {\r\n var url = this.urlHelper.getProjectFundersUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Sectors')));\r\n }\r\n\r\n getProjectReport(id: string) {\r\n var url = this.urlHelper.getProjectReportUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Report')));\r\n }\r\n\r\n deleteProjectFunder(projectId: string, funderId: string) {\r\n var url = this.urlHelper.deleteProjectFunderUrl(projectId, funderId);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Project Funder')));\r\n }\r\n\r\n //Project implementer functions\r\n addProjectImplementer(model: any) {\r\n var url = this.urlHelper.addProjectImplementerUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Project Implementer')));\r\n }\r\n\r\n getProjectImplementers(id: string) {\r\n var url = this.urlHelper.getProjectImplementersUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Implementers')));\r\n }\r\n\r\n deleteProjectImplementer(projectId: string, implementerId: string) {\r\n var url = this.urlHelper.deleteProjectImplementerUrl(projectId, implementerId);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Project Implementer')));\r\n }\r\n\r\n //Project disbursements functions\r\n addProjectDisbursement(model: any) {\r\n var url = this.urlHelper.addProjectDisbursementUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Project Disbursement')));\r\n }\r\n\r\n getProjectDisbursements(id: string) {\r\n var url = this.urlHelper.getProjectDisbursementsUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Disbursements')));\r\n }\r\n\r\n createProjectDisbursements(id: string) {\r\n var url = this.urlHelper.getCreateProjectDisbursementsUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Create Project Disbursements')));\r\n }\r\n\r\n adjustProjectDisbursements(id: string) {\r\n var url = this.urlHelper.getAdjustProjectDisbursementsUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Adjust Project Disbursements')));\r\n }\r\n\r\n deleteProjectDisbursement(id: string) {\r\n var url = this.urlHelper.deleteProjectDisbursementUrl(id);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Project Disbursement')));\r\n }\r\n\r\n //Project documents functions\r\n addProjectDocument(model: any) {\r\n var url = this.urlHelper.addProjectDocumentUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Project Document')));\r\n }\r\n\r\n getProjectDocuments(id: string) {\r\n var url = this.urlHelper.getProjectDocumentsUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Project Documents')));\r\n }\r\n\r\n deleteProjectDocument(id: string) {\r\n var url = this.urlHelper.deleteProjectDocumentUrl(id);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Project Document')));\r\n }\r\n\r\n //Project custom fields functions\r\n saveProjectMarker(model: any) {\r\n var url = this.urlHelper.addProjectMarkerUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Save Project Custom Field')));\r\n }\r\n\r\n deleteProjectMarker(projectId: string, customFieldId: string) {\r\n var url = this.urlHelper.getDeleteProjectMarkerUrl(projectId, customFieldId);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Project Field')));\r\n }\r\n\r\n //project functions\r\n extractProjectsByIds(model: any) {\r\n var url = this.urlHelper.extractAIMSProjectsByIds();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Projects By Ids')));\r\n }\r\n\r\n getCurrentYearsDisbursements() {\r\n var url = this.urlHelper.getCurrentYearDisbursementsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Current Year Disbursements'))\r\n );\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { SectorService } from 'src/app/services/sector.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { StoreService } from 'src/app/services/store-service';\r\nimport { ErrorModalComponent } from 'src/app/error-modal/error-modal.component';\r\nimport { Messages } from 'src/app/config/messages';\r\nimport { Settings } from 'src/app/config/settings';\r\nimport { HelpService } from 'src/app/services/help-service';\r\nimport { SublocationModalComponent } from 'src/app/sublocation-modal/sublocation-modal.component';\r\n\r\n@Component({\r\n selector: 'project-sectors',\r\n templateUrl: './project-sectors.component.html',\r\n styleUrls: ['./project-sectors.component.css']\r\n})\r\nexport class ProjectSectorsComponent implements OnInit {\r\n\r\n @Input()\r\n projectId: number = 0;\r\n @Input()\r\n sectorTypesList: any = [];\r\n @Input()\r\n sectorsList: any = [];\r\n @Input()\r\n currentProjectSectors: any = [];\r\n @Input()\r\n defaultSectorsList: any = [];\r\n @Input()\r\n defaultSectorTypeId: number = 0;\r\n @Input()\r\n defaultSectorType: string = null;\r\n @Input()\r\n locationsList: any = [];\r\n @Input()\r\n subLocationsList: any = [];\r\n @Input()\r\n currentProjectLocations: any = [];\r\n \r\n @Input()\r\n aimsProjects: any = [];\r\n @Input()\r\n iatiProjects: any = [];\r\n\r\n @Output()\r\n projectSectorsChanged = new EventEmitter();\r\n @Output()\r\n projectLocationsChanged = new EventEmitter();\r\n @Output()\r\n proceedToNext = new EventEmitter();\r\n\r\n filteredSubLocationsList: any = this.subLocationsList;\r\n typeSectorsList: any = [];\r\n ndpSectorsList: any = [];\r\n sectorMappings: any = [];\r\n mappedSectorsList: any = [];\r\n newProjectSectors: any = [];\r\n sourceSectorsList: any = [];\r\n selectedSubLocations: any = [];\r\n settledSublocations: any = [];\r\n sectorsSettings: any = {};\r\n subLocationsSettings: any = {};\r\n sectorsWithCodeSettings: any = {};\r\n sectorHelp: any = { sectorType: null, sector: null, mappingSector: null, percentage: null };\r\n locationHelp: any = { location: null, percentage: null };\r\n mappingsCount: number = 0;\r\n sourceSectorPercentage: number = 0;\r\n selectedLocationId: number = 0;\r\n requestNo: number = 0;\r\n currentTab: string = null;\r\n errorMessage: string = null;\r\n selectedLocationName: string = null;\r\n showMappingManual: boolean = false;\r\n showMappingAuto: boolean = false;\r\n isSectorsSourceAvailable: boolean = false;\r\n isLocationsSourceAvailable: boolean = false;\r\n isSectorHelpLoading: boolean = true;\r\n isLocationHelpLoading: boolean = true;\r\n isNdpSectorsLoading: boolean = true;\r\n isShowSubLocationsSettings: boolean = false;\r\n sectorModel: any = { sectorTypeId: null, sector: null, selectedSector: null, sectorId: null, selectedMapping: null, mappingId: null, fundsPercentage: null, saved: false };\r\n newMappings: any = [];\r\n locationModel: any = { locationId: null, location: null, selectedSubLocations: [], fundsPercentage: null, saved: false };\r\n\r\n sourceTypes: any = {\r\n IATI: 'IATI',\r\n AIMS: 'AIMS'\r\n }\r\n\r\n displayTabs: any = [\r\n { visible: true, identity: 'sectors-locations' },\r\n { visible: false, identity: 'sectors-source' },\r\n { visible: false, identity: 'locations-source' },\r\n ];\r\n\r\n tabConstants: any = {\r\n SECTORS_LOCATIONS: 'sectors-locations',\r\n SECTORS_SOURCE: 'sectors-source',\r\n LOCATIONS_SOURCE: 'locations-source'\r\n };\r\n \r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private projectService: ProjectService, private sectorService: SectorService,\r\n private storeService: StoreService, private errorModal: ErrorModalComponent,\r\n private helpService: HelpService,\r\n private sublocationModal: SublocationModalComponent) { }\r\n\r\n ngOnInit() {\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.blockUI.stop();\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n this.currentTab = this.tabConstants.SECTORS_LOCATIONS;\r\n \r\n this.sectorsSettings = {\r\n singleSelection: true,\r\n idField: 'id',\r\n textField: 'sectorWithCode',\r\n selectAllText: '',\r\n unSelectAllText: '',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n \r\n this.subLocationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'subLocation',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.getProjectSectorHelp();\r\n this.getProjectLocationHelp();\r\n if (this.currentProjectSectors.length == 0) {\r\n this.blockUI.start('Wait loading data...');\r\n this.getProjectSectors();\r\n }\r\n if (this.currentProjectLocations.length == 0) {\r\n if (!this.blockUI.isActive) {\r\n this.blockUI.start('Wait loading data...');\r\n this.getProjectLocations();\r\n }\r\n }\r\n }\r\n\r\n getProjectSectorHelp() {\r\n this.helpService.getProjectSectorHelpFields().subscribe(\r\n data => {\r\n if (data) {\r\n this.sectorHelp = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getProjectLocationHelp() {\r\n this.helpService.getProjectLocationHelpFields().subscribe(\r\n data => {\r\n if (data) {\r\n this.locationHelp = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n ngOnChanges() {\r\n this.iatiProjects.forEach(p => {\r\n if (p.sectors.length > 0) {\r\n this.isSectorsSourceAvailable = true;\r\n p.sectors.forEach((s) => {\r\n s.mappingId = 0;\r\n });\r\n }\r\n\r\n if (p.locations.length > 0) {\r\n this.isLocationsSourceAvailable = true;\r\n }\r\n });\r\n\r\n this.aimsProjects.forEach(p => {\r\n if (p.sectors.length > 0) {\r\n this.isSectorsSourceAvailable = true;\r\n }\r\n\r\n if (p.locations.length > 0) {\r\n this.isLocationsSourceAvailable = true;\r\n }\r\n });\r\n\r\n this.ndpSectorsList = this.defaultSectorsList.filter(s => s.parentSector != null);\r\n if (this.ndpSectorsList.length > 0) {\r\n this.isNdpSectorsLoading = false;\r\n } \r\n \r\n if (this.currentTab == this.tabConstants.SECTORS_SOURCE) {\r\n this.isNdpSectorsLoading = false;\r\n this.ndpSectorsList = this.defaultSectorsList.filter(s => s.parentSector != null);\r\n }\r\n\r\n this.locationsList = this.locationsList.filter(l => l.isUnAttributed == false);\r\n }\r\n\r\n getTypeSectorsList() {\r\n this.sectorModel.sectorId = null;\r\n this.showMappingAuto = false;\r\n this.showMappingManual = false;\r\n this.sectorModel.selectedSector = null;\r\n\r\n if (!this.sectorModel.sectorTypeId) {\r\n this.typeSectorsList = [];\r\n } else {\r\n var typeSectorsList = this.sectorsList.filter(s => s.sectorTypeId == this.sectorModel.sectorTypeId);\r\n this.typeSectorsList = typeSectorsList.sort(this.storeService.sortArrayByProperty(\"sectorName\"));\r\n }\r\n this.getNDPSectors();\r\n }\r\n\r\n getNDPSectors() {\r\n if (this.defaultSectorTypeId) {\r\n var ndpSectors = this.sectorsList.filter(s => s.sectorTypeId == this.defaultSectorTypeId && s.parentSectorId != 0);\r\n this.ndpSectorsList = ndpSectors.sort(this.storeService.sortArrayByProperty(\"sectorName\"));\r\n }\r\n }\r\n\r\n getSectorMappings() {\r\n this.sectorModel.selectedMapping = null;\r\n if (this.defaultSectorTypeId != this.sectorModel.sectorTypeId) {\r\n if (this.sectorModel.selectedSector && this.sectorModel.selectedSector.length > 0) {\r\n this.blockUI.start('Fetching sector mappings...');\r\n var sectorId = this.sectorModel.selectedSector[0].id;\r\n this.mappingsCount = 0;\r\n this.sectorMappings = [];\r\n\r\n this.sectorService.getMappingsForSector(sectorId).subscribe(\r\n data => {\r\n if (data && data.length > 0) {\r\n this.showMappingManual = true;\r\n this.showMappingAuto = false;\r\n this.mappedSectorsList = data;\r\n this.ndpSectorsList = data;\r\n this.mappingsCount = data.length;\r\n if (data.length >= 1) {\r\n this.sectorModel.mappingId = data[0].id;\r\n }\r\n } else {\r\n this.mappingsCount = 0;\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n getSectorMappingsByName() {\r\n if (this.defaultSectorTypeId != this.sectorModel.sectorTypeId) {\r\n var sectorName = this.sectorModel.sectorName;\r\n this.mappingsCount = 0;\r\n this.sectorMappings = [];\r\n\r\n this.sectorService.getMappingsForSectorByName(sectorName).subscribe(\r\n data => {\r\n if (data && data.length > 0) {\r\n this.showMappingManual = true;\r\n this.showMappingAuto = false;\r\n this.sectorMappings = data;\r\n this.mappedSectorsList = data;\r\n this.mappingsCount = data.length;\r\n if (data.length >= 1) {\r\n this.sectorModel.mappingId = data[0].id;\r\n }\r\n } else {\r\n this.mappingsCount = 0;\r\n this.sectorMappings = this.defaultSectorsList;\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n addSector(frm: any) {\r\n var sectorPercentage = parseFloat(this.sectorModel.fundsPercentage) + parseFloat(this.calculateSectorPercentage());\r\n if (sectorPercentage > 100) {\r\n this.errorMessage = Messages.INVALID_PERCENTAGE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n this.sectorModel.fundsPercentage = parseFloat(this.sectorModel.fundsPercentage.toFixed(2));\r\n\r\n if (this.sectorModel.sectorTypeId != this.defaultSectorTypeId) {\r\n if (!this.sectorModel.selectedSector) {\r\n this.errorMessage = 'Sector is required';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n }\r\n\r\n if (this.sectorModel.sectorTypeId == this.defaultSectorTypeId) {\r\n if (!this.sectorModel.selectedMapping || (this.sectorModel.selectedMapping && this.sectorModel.selectedMapping.length == 0)) {\r\n this.errorMessage = 'NDP sector is required';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n }\r\n\r\n var mappingId = 0;\r\n if (this.sectorModel.selectedMapping && this.sectorModel.selectedMapping.length > 0) {\r\n mappingId = this.sectorModel.selectedMapping[0].id;\r\n }\r\n\r\n var mappedSector = this.sectorsList.filter(s => s.id == mappingId);\r\n if (mappedSector.length > 0) {\r\n this.sectorModel.sector = mappedSector[0].sectorName;\r\n }\r\n\r\n var isSectorExists = [];\r\n if (this.defaultSectorTypeId == this.sectorModel.sectorTypeId) {\r\n isSectorExists = this.currentProjectSectors.filter(s => s.mappingId == mappingId && s.saved == false);\r\n } else {\r\n isSectorExists = this.currentProjectSectors.filter(s => s.mappingId == mappingId && s.saved == false);\r\n }\r\n \r\n if (isSectorExists.length > 0) {\r\n isSectorExists[0].fundsPercentage += this.sectorModel.fundsPercentage;\r\n } else {\r\n if (this.sectorModel.selectedSector && this.sectorModel.selectedSector.length > 0) {\r\n this.sectorModel.sectorId = this.sectorModel.selectedSector[0].id;\r\n }\r\n if (this.sectorModel.selectedMapping && this.sectorModel.selectedMapping.length > 0) {\r\n this.sectorModel.mappingId = this.sectorModel.selectedMapping[0].id;\r\n }\r\n this.currentProjectSectors.unshift(this.sectorModel);\r\n }\r\n \r\n var sectorTypeId = this.sectorModel.sectorTypeId;\r\n this.sectorModel = { sectorTypeId: null, sectorId: null, mappingId: null, saved: false };\r\n this.mappingsCount = 0;\r\n this.sectorMappings = [];\r\n this.ndpSectorsList = this.defaultSectorsList.filter(s => s.parentSector != null);\r\n frm.resetForm();\r\n setTimeout(() => {\r\n this.sectorModel.sectorTypeId = sectorTypeId;\r\n },500);\r\n }\r\n\r\n addLocation(frm: any) {\r\n var locationPercentage = parseFloat(this.locationModel.fundsPercentage) + parseFloat(this.calculateLocationPercentage());\r\n if (locationPercentage > 100) {\r\n this.errorMessage = Messages.INVALID_PERCENTAGE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.locationModel.fundsPercentage = parseFloat(this.locationModel.fundsPercentage.toFixed(2));\r\n var mappedLocation = this.locationsList.filter(l => l.id == this.locationModel.locationId);\r\n if (mappedLocation.length > 0) {\r\n this.locationModel.location = mappedLocation[0].location;\r\n }\r\n\r\n var islocationExists = this.currentProjectLocations.filter(l => l.locationId == this.locationModel.locationId && l.saved == false);\r\n if (islocationExists.length > 0) {\r\n islocationExists[0].subLocations = this.locationModel.selectedSubLocations;\r\n islocationExists[0].fundsPercentage += this.locationModel.fundsPercentage;\r\n } else {\r\n this.locationModel.subLocations = this.locationModel.selectedSubLocations;\r\n this.currentProjectLocations.unshift(this.locationModel);\r\n }\r\n this.locationModel = { locationId: null, location: null, selectedSubLocations: [], subLocations: [], fundsPercentage: null, saved: false };\r\n frm.resetForm();\r\n }\r\n\r\n manageSubLocations() {\r\n this.locationModel.selectedSubLocations = [];\r\n if (this.locationModel.locationId) {\r\n var id = this.locationModel.locationId;\r\n this.filteredSubLocationsList = this.subLocationsList.filter(l => l.locationId == id);\r\n } else {\r\n this.locationModel.selectedSubLocations = [];\r\n }\r\n }\r\n\r\n openSubLocationsForLocation(id) {\r\n if (id) {\r\n this.selectedLocationId = id;\r\n var location = this.locationsList.filter(l => l.id == id);\r\n if (location.length > 0) {\r\n this.selectedLocationName = location[0].locationName;\r\n var projectLocation = this.currentProjectLocations.filter(l => l.locationId == id);\r\n if (projectLocation.length > 0) {\r\n if (projectLocation[0].subLocations.length > 0) {\r\n this.settledSublocations = projectLocation[0].subLocations;\r\n } else {\r\n this.settledSublocations = [];\r\n }\r\n }\r\n }\r\n this.selectedSubLocations = this.subLocationsList.filter(s => s.locationId == id);\r\n this.isShowSubLocationsSettings = true;\r\n this.sublocationModal.openModal();\r\n } else {\r\n this.selectedLocationId = 0;\r\n }\r\n }\r\n\r\n updateSubLocationsForLocation($event) {\r\n var subLocationData = $event;\r\n if (subLocationData) {\r\n var locationId = subLocationData.locationId;\r\n var selectedLocationArr = this.currentProjectLocations.filter(l => l.locationId == locationId);\r\n if (selectedLocationArr.length > 0) {\r\n var selectedLocation = selectedLocationArr[0];\r\n selectedLocation.subLocations = subLocationData.subLocations;\r\n } \r\n }\r\n this.isShowSubLocationsSettings = false;\r\n }\r\n\r\n setManualMappings() {\r\n this.showMappingManual = false;\r\n this.showMappingAuto = true;\r\n this.getNDPSectors();\r\n }\r\n\r\n setAutomaticMappings() {\r\n this.ndpSectorsList = this.mappedSectorsList;\r\n this.showMappingAuto = false;\r\n this.showMappingManual = true;\r\n }\r\n\r\n removeProjectSector(id, isSomaliSector: boolean) {\r\n var filterSectorsList = [];\r\n if (isSomaliSector) {\r\n this.currentProjectSectors.forEach((s) => {\r\n if (s.saved) {\r\n filterSectorsList.push(s);\r\n } else if (!s.saved && s.mappingId != id) {\r\n filterSectorsList.push(s);\r\n }\r\n });\r\n } else {\r\n this.currentProjectSectors.forEach((s) => {\r\n if (s.saved) {\r\n filterSectorsList.push(s);\r\n } else if (!s.saved && s.sectorId != id) {\r\n filterSectorsList.push(s);\r\n }\r\n });\r\n }\r\n this.newMappings = this.newMappings.filter(m => m.sectorId != id);\r\n this.currentProjectSectors = filterSectorsList;\r\n }\r\n\r\n removeProjectLocation(id) {\r\n var filterLocationList = [];\r\n this.currentProjectLocations.forEach((l) => {\r\n if (l.saved) {\r\n filterLocationList.push(l);\r\n } else if (!l.saved && l.locationId != id) {\r\n filterLocationList.push(l);\r\n }\r\n });\r\n this.currentProjectLocations = filterLocationList;\r\n }\r\n\r\n deleteProjectSector(sectorId) {\r\n if (sectorId && this.projectId) {\r\n this.blockUI.start('Removing sector...');\r\n this.projectService.deleteProjectSector(this.projectId.toString(), sectorId).subscribe(\r\n data => {\r\n if (data) {\r\n this.currentProjectSectors = this.currentProjectSectors.filter(s => s.sectorId != sectorId);\r\n this.updateSectorsToParent();\r\n this.getProjectSectors();\r\n this.newMappings = this.newMappings.filter(m => m.sectorId != sectorId);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n deleteProjectLocation(locationId) {\r\n if (locationId && this.projectId) {\r\n this.blockUI.start('Removing location...');\r\n this.projectService.deleteProjectLocation(this.projectId.toString(), locationId).subscribe(\r\n data => {\r\n if (data) {\r\n //this.currentProjectLocations = this.currentProjectLocations.filter(l => l.locationId != locationId);\r\n //this.updateLocationsToParent();\r\n this.getProjectLocations();\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n areUnSavedSectors() {\r\n return this.currentProjectSectors.filter(s => s.saved == false).length > 0 ? true : false;\r\n }\r\n\r\n areUnSavedLocations() {\r\n return this.currentProjectLocations.filter(l => l.saved == false).length > 0 ? true : false;\r\n }\r\n\r\n calculateSectorPercentage() {\r\n var percentageList = this.currentProjectSectors.map(s => parseFloat(s.fundsPercentage));\r\n return percentageList.reduce(this.storeService.sumValues, 0);\r\n }\r\n\r\n calculateLocationPercentage() {\r\n var percentageList = this.currentProjectLocations.map(l => parseFloat(l.fundsPercentage));\r\n return percentageList.reduce(this.storeService.sumValues, 0);\r\n }\r\n\r\n saveProjectSectors() {\r\n var unSavedSectors = this.currentProjectSectors.filter(s => !s.saved);\r\n if (unSavedSectors.length > 0 && this.projectId) {\r\n unSavedSectors.forEach(s => {\r\n if (!s.sectorId) {\r\n s.sectorTypeId = s.sectorTypeId;\r\n s.sectorId = s.mappingId;\r\n }\r\n if (s.sectorTypeId != this.defaultSectorTypeId && s.sectorId != s.mappingId) {\r\n var exists = this.newMappings.filter(m => m.sectorId == s.sectorId && m.mappingId == s.mappingId);\r\n if (exists.length == 0) {\r\n this.newMappings.push({\r\n sectorTypeId: s.sectorTypeId,\r\n sectorId: s.sectorId,\r\n mappingId: s.mappingId\r\n });\r\n }\r\n }\r\n });\r\n\r\n unSavedSectors.forEach((s) => {\r\n s.sectorTypeId = parseInt(s.sectorTypeId);\r\n s.sectorId = parseInt(s.sectorId);\r\n });\r\n\r\n this.newMappings.forEach((m) => {\r\n m.sectorTypeId = parseInt(m.sectorTypeId);\r\n m.sectorId = parseInt(m.sectorId);\r\n m.mappingId = parseInt(m.mappingId);\r\n });\r\n\r\n var sectorIds = unSavedSectors.map(s => parseInt(s.sectorId));\r\n this.newMappings = this.newMappings.filter(m => sectorIds.includes(m.sectorId));\r\n var model = {\r\n projectId: this.projectId,\r\n projectSectors: unSavedSectors,\r\n newMappings: this.newMappings\r\n };\r\n this.blockUI.start('Saving sectors');\r\n this.projectService.addProjectSector(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.getProjectSectors(); \r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n saveSourceSectors() {\r\n if (this.sourceSectorsList.length > 0) {\r\n this.sourceSectorsList.forEach((s) => {\r\n s.sectorTypeId = parseInt(s.sectorTypeId);\r\n });\r\n var model = {\r\n projectId: this.projectId,\r\n projectSectors: this.sourceSectorsList,\r\n newMappings: []\r\n }\r\n\r\n this.blockUI.start('Saving sectors');\r\n this.projectService.addProjectSector(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.getProjectSectors(); \r\n this.sourceSectorsList = [];\r\n setTimeout(() => {\r\n this.currentTab = this.tabConstants.SECTORS_LOCATIONS;\r\n }, 1000); \r\n \r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n saveProjectLocations() {\r\n var unSavedLocations = this.currentProjectLocations.filter(s => !s.saved);\r\n if (unSavedLocations.length > 0 && this.projectId) {\r\n unSavedLocations.forEach((l) => {\r\n l.locationId = parseInt(l.locationId);\r\n });\r\n var model = {\r\n projectId: this.projectId,\r\n projectLocations: unSavedLocations,\r\n };\r\n this.blockUI.start('Saving locations');\r\n this.projectService.addProjectLocation(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.getProjectLocations(); \r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n getProjectSectors() {\r\n this.projectService.getProjectSectors(this.projectId.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n if (data.length > 0) {\r\n data.forEach(d => {\r\n d.saved = true;\r\n });\r\n }\r\n this.currentProjectSectors = data;\r\n this.currentProjectSectors.forEach((s) => {\r\n s.mappingId = s.sectorId\r\n });\r\n this.updateSectorsToParent();\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n getProjectLocations() {\r\n this.projectService.getProjectLocations(this.projectId.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n if (data.length > 0) {\r\n data.forEach(d => {\r\n d.saved = true;\r\n });\r\n }\r\n this.currentProjectLocations = data;\r\n this.updateLocationsToParent();\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n showSectorsSource() {\r\n this.currentTab = this.tabConstants.SECTORS_SOURCE;\r\n }\r\n\r\n showSectorsLocations() {\r\n this.currentTab = this.tabConstants.SECTORS_LOCATIONS;\r\n }\r\n\r\n showLocationsSource() {\r\n this.currentTab = this.tabConstants.LOCATIONS_SOURCE;\r\n }\r\n\r\n checkIfSectorAdded(sectorName: string) {\r\n if (sectorName && this.currentProjectSectors.length > 0) {\r\n return this.currentProjectSectors.filter(s => s.sector.toLowerCase() == sectorName.toLowerCase()).length > 0 ? true : false;\r\n }\r\n return false;\r\n }\r\n\r\n addSourceSectorToList(projectId: number, sectorId: number, type: string, sectorCode: number = 0, iatiSector: string = null) {\r\n var isSectorAdded = this.sourceSectorsList.filter(s => s.mappingId == sectorId);\r\n if (isSectorAdded.length > 0) {\r\n this.sourceSectorsList = this.sourceSectorsList.filter(s => s.mappingId != sectorId);\r\n } else {\r\n this.calculateSectorPercentageForSource();\r\n if (type == this.sourceTypes.IATI) {\r\n var project = this.iatiProjects.filter(p => p.id == projectId);\r\n if (project.length > 0) {\r\n var sectors = project[0].sectors;\r\n if (sectors && sectors.length > 0) {\r\n var sector = sectors.filter(s => s.code == sectorCode);\r\n if (sector.length > 0) {\r\n var fundsPercentage = sector[0].fundsPercentage;\r\n var mappingId = sector[0].mappingId;\r\n var sectorName = sector[0].sector;\r\n var sectorTypeCode = sector[0].sectorTypeCode;\r\n var sectorId = 0;\r\n var sourceSector = [];\r\n fundsPercentage = parseFloat(fundsPercentage);\r\n\r\n if (!fundsPercentage || fundsPercentage < 1 || fundsPercentage > 100) {\r\n this.errorMessage = 'Sector percentage' + Messages.PERCENTAGE_RANGE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var totalPercentage = this.sourceSectorPercentage + fundsPercentage;\r\n if (totalPercentage > 100) {\r\n this.errorMessage = Messages.INVALID_PERCENTAGE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (sectorName) {\r\n sourceSector = this.sectorsList.filter(s => s.sectorName.toLowerCase() == sectorName.toLowerCase());\r\n if (sourceSector.length > 0) {\r\n sectorId = sourceSector[0].id;\r\n }\r\n }\r\n\r\n this.sourceSectorsList.push({\r\n sectorTypeId: this.defaultSectorTypeId,\r\n sectorId: sectorId,\r\n mappingId: parseInt(mappingId),\r\n sectorName: sectorName,\r\n sector: iatiSector,\r\n fundsPercentage: fundsPercentage\r\n });\r\n }\r\n }\r\n }\r\n } else if (type == this.sourceTypes.AIMS) {\r\n var project = this.aimsProjects.filter(p => p.id == projectId);\r\n if (project.length > 0) {\r\n var sectors = project[0].sectors;\r\n if (sectors && sectors.length > 0) {\r\n var sector = sectors.filter(s => s.sectorId == sectorId);\r\n if (sector.length > 0) {\r\n var fundsPercentage = sector[0].fundsPercentage;\r\n var mappingId = sector[0].sectorId;\r\n var sectorName = sector[0].sector;\r\n if (!fundsPercentage) {\r\n this.errorMessage = 'Sector percentage ' + Messages.PERCENTAGE_RANGE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.sourceSectorsList.push({\r\n sectorTypeId: this.defaultSectorTypeId,\r\n sectorId: mappingId,\r\n mappingId: mappingId,\r\n sector: sectorName,\r\n fundsPercentage: fundsPercentage\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n this.calculateSectorPercentageForSource();\r\n }\r\n\r\n removeSourceSector(sectorId: number) {\r\n this.sourceSectorsList = this.sourceSectorsList.filter(s => s.mappingId != sectorId); \r\n }\r\n\r\n calculateSectorPercentageForSource() {\r\n var fundsPercentage = 0;\r\n this.sourceSectorsList.forEach((s) => {\r\n fundsPercentage += s.fundsPercentage;\r\n });\r\n\r\n this.currentProjectSectors.forEach((s) => {\r\n fundsPercentage += s.fundsPercentage;\r\n });\r\n this.sourceSectorPercentage = fundsPercentage;\r\n }\r\n\r\n checkIfSectorInActionList(sectorId: number) {\r\n return this.sourceSectorsList.filter(s => s.mappingId == sectorId).length > 0 ? true : false;\r\n }\r\n\r\n proceedToMarkers() {\r\n var unSavedSectors = this.currentProjectSectors.filter(s => !s.saved);\r\n if (unSavedSectors.length > 0) {\r\n this.errorMessage = 'You have unsaved sectors data. Please save data first before proceeding next.';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n var unSavedLocations = this.currentProjectLocations.filter(l => !l.saved);\r\n if (unSavedLocations.length > 0) {\r\n this.errorMessage = 'You have unsaved locations data. Please save data first before proceeding next.';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n this.updateSectorsToParent();\r\n this.updateLocationsToParent();\r\n this.proceedToNext.emit();\r\n }\r\n\r\n displaySubLocations(subLocations: any = []) {\r\n var subLocationsStr = '';\r\n if (subLocations && subLocations.length > 0) {\r\n subLocationsStr = subLocations.map(l => l.subLocation).join(', ');\r\n }\r\n return subLocationsStr;\r\n }\r\n\r\n /*Sending updated data to parent*/\r\n updateSectorsToParent() {\r\n this.projectSectorsChanged.emit(this.currentProjectSectors);\r\n }\r\n\r\n updateLocationsToParent() {\r\n this.projectLocationsChanged.emit(this.currentProjectLocations);\r\n }\r\n\r\n onDeSelectSector() {\r\n this.sectorModel.selectedSector = null;\r\n this.sectorModel.selectedMapping = null;\r\n this.ndpSectorsList = this.defaultSectorsList.filter(s => s.parentSector != null);\r\n this.showMappingAuto = false;\r\n this.showMappingManual = false;\r\n this.mappingsCount = 0;\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
Project sectors
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n 0\" class=\"table table-striped small margin-top-5\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorPercentage\r\n Action\r\n
{{sector.sector}}{{sector.fundsPercentage}}\r\n \r\n \r\n \r\n
 \r\n 0\" class=\"text-info\">Total:\r\n {{calculateSectorPercentage()}}%\r\n \r\n  
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Project locations
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n Location is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
0 && lfundsPercentage.value < 101)\" class=\"alert alert-danger\">\r\n Valid values are (1 to 100)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n 0\" class=\"table table-striped small margin-top-5\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
LocationPercentageSub-locations\r\n Action\r\n
{{location.location}}{{location.fundsPercentage}}\r\n \r\n \r\n {{displaySubLocations(location.subLocations)}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{displaySubLocations(location.subLocations)}}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
 \r\n 0\" class=\"text-info\">Total:\r\n {{calculateLocationPercentage()}}%\r\n   
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
Source for sectors
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Project title: {{project.title}}
\r\n AIMS\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorFunds %Action
\r\n {{sector.sector}}\r\n \r\n \r\n \r\n \r\n
\r\n
No sectors available
\r\n
\r\n\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n Project title: {{project.title}}
\r\n IATI\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorNDP SectorFunds %Action
\r\n {{sector.sectorName}}\r\n \r\n Loading NDP sectors...\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
No sectors available
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Project sectors
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n 0\" class=\"float-left text-info col-md-6\">Percentage:\r\n {{calculateSectorPercentage()}}%\r\n \r\n \r\n \r\n
\r\n\r\n 0\" class=\"table table-striped small margin-top-5\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorPercentage\r\n Action\r\n
{{sector.sector}}{{sector.fundsPercentage}}\r\n \r\n \r\n \r\n
\r\n No saved sectors found\r\n\r\n
Sectors from source
\r\n 0\" class=\"table small\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorPercentage
{{sector.sector}}{{sector.fundsPercentage}}
\r\n \r\n \r\n \r\n
\r\n No sectors added from sources yet\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Project locations
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Project title: {{project.title}}
\r\n AIMS\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
LocationFunds %
\r\n {{location.location}}\r\n \r\n {{location.fundsPercentage}}\r\n
\r\n
No locations available
\r\n
\r\n\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n Project title: {{project.title}}
\r\n IATI\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Location
\r\n {{location.name}}\r\n
\r\n
No locations available
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"crnd\";","export const environment = {\r\n production: true,\r\n backendApiUrl: 'https://aims.mop.gov.so:900/api/',\r\n};","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-document-iati',\r\n templateUrl: './document-iati.component.html',\r\n styleUrls: ['./document-iati.component.css']\r\n})\r\nexport class DocumentIatiComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

\r\n document-iati works!\r\n

\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UserModel } from \"../models/user-model\";\r\nimport { UrlHelperService } from \"./url-helper-service\";\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { RegistrationModel } from '../models/registration';\r\nimport { httpOptions } from '../config/httpoptions';\r\nimport { StoreService } from './store-service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n customersObservable: Observable;\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) {\r\n }\r\n\r\n private extractData(res: Response) {\r\n let body = res;\r\n return body || {};\r\n }\r\n\r\n authenticateUser(email: string, password: string) {\r\n var url = this.urlHelper.userTokenUrl();\r\n var model = { \"Email\": email, \"Password\": password };\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Authentication')));\r\n }\r\n\r\n getUsersCount() {\r\n var url = this.urlHelper.getUsersCountUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Users Count'))\r\n );\r\n }\r\n\r\n getUsersList() {\r\n var url = this.urlHelper.getUsersUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Users list'))\r\n );\r\n }\r\n\r\n promoteUser(id: string) {\r\n var url = this.urlHelper.getPromoteUserUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Promote user'))\r\n );\r\n }\r\n\r\n demoteUser(id: string) {\r\n var url = this.urlHelper.getDemoteUserUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Demote user'))\r\n );\r\n }\r\n\r\n checkEmailAvailability(email: string) {\r\n var url = this.urlHelper.emailAvailabilityUrl(email);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Email availability')));\r\n }\r\n\r\n editUserPassword(password: string) {\r\n var url = this.urlHelper.getEditUserPasswordUrl();\r\n var model = { password: password };\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Change User Password')));\r\n }\r\n\r\n deleteUserAccount(password: string) {\r\n var url = this.urlHelper.getDeleteAccountUrl();\r\n var model = { password: password };\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('User Account Deletion')));\r\n }\r\n\r\n resetPassword(model: any) {\r\n var url = this.urlHelper.getResetPasswordUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Reset Password')));\r\n }\r\n\r\n resetPasswordRequest(model: any) {\r\n var url = this.urlHelper.getResetPasswordRequestUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Reset Password Request')));\r\n }\r\n\r\n registerUser(model: RegistrationModel) {\r\n var url = this.urlHelper.userRegistrationUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('User Registration')));\r\n }\r\n\r\n getUserSubscriptions() {\r\n var url = this.urlHelper.getUserSubscriptionsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('User Subscription')));\r\n }\r\n\r\n getManagerUsers() {\r\n var url = this.urlHelper.getManagerUsersUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Manager Users')));\r\n }\r\n\r\n getStandardUsers() {\r\n var url = this.urlHelper.getStandardUsersUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Standard Users')));\r\n }\r\n\r\n saveReportSubscriptions(model:any) {\r\n var url = this.urlHelper.getSubscribeToReportsUrl();\r\n return this.httpClient.post(url, \r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Report Subscriptions')));\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ErrorModalComponent } from 'src/app/error-modal/error-modal.component';\r\nimport { StoreService } from 'src/app/services/store-service';\r\n\r\n@Component({\r\n selector: 'app-project-report',\r\n templateUrl: './project-report.component.html',\r\n styleUrls: ['./project-report.component.css']\r\n})\r\nexport class ProjectReportComponent implements OnInit {\r\n projectsList: any = [];\r\n filteredProjects: any = [];\r\n reportView: string = 'search';\r\n btnText: string = 'View report';\r\n isLoading: boolean = true;\r\n errorMessage: string = null;\r\n projectProfile: any = {\r\n locations: [],\r\n sectors: [],\r\n funders: [],\r\n implementers: [],\r\n documents: [],\r\n customFields: []\r\n };\r\n isAnyFilterSet: boolean = false;\r\n model: any = {criteria: null, selectedProjectId: 0, projectTitle: null };\r\n @BlockUI() blockUI: NgBlockUI;\r\n \r\n constructor(private projectService: ProjectService, private errorModal: ErrorModalComponent,\r\n private storeService: StoreService) { }\r\n\r\n ngOnInit() {\r\n this.getProjects();\r\n }\r\n\r\n getProjects() {\r\n this.projectService.getProjectsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.projectsList = data;\r\n this.filteredProjects = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n )\r\n }\r\n\r\n filterProjects() {\r\n var criteria = this.model.projectTitle;\r\n if (!criteria) {\r\n this.filteredProjects = this.projectsList;\r\n } else {\r\n criteria = criteria.toLowerCase();\r\n this.filteredProjects = this.projectsList.filter(p => p.title.toLowerCase().indexOf(criteria) != -1);\r\n }\r\n }\r\n\r\n selectProject(e) {\r\n var id = e.currentTarget.id.split('-')[1];\r\n if (id) {\r\n var selectedProject = this.projectsList.filter(p => p.id == id);\r\n if (selectedProject.length > 0) {\r\n this.model.selectedProjectId = id;\r\n this.model.projectTitle = selectedProject[0].title; \r\n }\r\n }\r\n }\r\n\r\n viewProjectProfileReport() {\r\n if (this.model.selectedProjectId) {\r\n this.blockUI.start('Loading report');\r\n \r\n this.projectService.getProjectProfileReport(this.model.selectedProjectId).subscribe(\r\n data => {\r\n if (data) {\r\n if (data.projectProfile) {\r\n this.projectProfile = data.projectProfile;\r\n }\r\n }\r\n this.reportView = 'report';\r\n this.blockUI.stop();\r\n }\r\n );\r\n } \r\n }\r\n\r\n reset() {\r\n this.model.selectedProjectId = 0;\r\n this.model.projectTitle = null;\r\n }\r\n\r\n onChangeStartYear() {\r\n this.manageResetDisplay();\r\n }\r\n\r\n onChangeEndYear() {\r\n this.manageResetDisplay();\r\n }\r\n\r\n manageResetDisplay() {\r\n if (this.model.startingYear == 0 && this.model.endingYear == 0) {\r\n this.isAnyFilterSet = false;\r\n } else {\r\n this.isAnyFilterSet = true;\r\n }\r\n }\r\n\r\n setFilter() {\r\n this.isAnyFilterSet = true;\r\n }\r\n\r\n resetFilters() {\r\n this.model.startingYear = 0;\r\n this.model.endingYear = 0;\r\n }\r\n\r\n displayFieldValues(json: any) {\r\n return this.storeService.parseAndDisplayJsonAsString(json);\r\n }\r\n\r\n printReport() {\r\n this.storeService.printSimpleReport('rpt-project-report', 'Project profile report');\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Select project to view report
\r\n \r\n
\r\n
\r\n \r\n \r\n  \r\n \r\n \r\n
\r\n
\r\n A project must be selected to view report\r\n
\r\n
\r\n \r\n
\r\n
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n
{{project.title}}\r\n \r\n
\r\n \r\n No projects found\r\n \r\n \r\n  Loading...\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
Project profile report
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Title: {{projectProfile.title}}
Start date: {{projectProfile.startDate}}End date: {{projectProfile.endDate}}
Description: \r\n {{projectProfile.description}}\r\n
\r\n \r\n
\r\n
Project locations
\r\n 0\" class=\"table table-stripped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
LocationFunds percentage
{{location.location}}{{location.fundsPercentage}}
\r\n No locations found\r\n
\r\n \r\n
\r\n
Project sectors
\r\n 0\" class=\"table table-stripped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorFunds percentage
{{sector.sector}}{{sector.fundsPercentage}}
\r\n \r\n No sectors found\r\n \r\n
\r\n \r\n \r\n
\r\n
Project funders
\r\n 0\" class=\"table table-stripped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
FunderAmountCurrencyExchange rate
{{funder.funder}}{{funder.amount | number:0}}{{funder.currency}}{{funder.exchangeRate}}
\r\n \r\n No funders found\r\n \r\n
\r\n \r\n
\r\n
Project implementers
\r\n 0\" class=\"table table-stripped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Implementor
{{implementer.implementer}}
\r\n \r\n No implementers found\r\n \r\n
\r\n \r\n \r\n
\r\n
Project documents
\r\n 0\" class=\"table table-stripped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Document titleUrl
{{document.documentTitle}}{{document.documentUrl}}
\r\n \r\n No documents found\r\n \r\n
\r\n \r\n
\r\n
Project custom fields
\r\n 0\" class=\"table table-stripped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Field nameValue/s
{{field.fieldTitle}}{{displayFieldValues(field.values)}}
\r\n \r\n No custom fields found\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FundingTypeService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService, \r\n private storeService: StoreService) { }\r\n\r\n\r\n getFundingTypesList() {\r\n var url = this.urlHelper.getFundingTypesUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('FundingTypes')));\r\n }\r\n\r\n getFundingType(id: string) {\r\n var url = this.urlHelper.getSingleFundingTypeUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('FundingType')));\r\n }\r\n\r\n addFundingType(model: any) {\r\n var url = this.urlHelper.getFundingTypesUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New FundingType')));\r\n }\r\n\r\n updateFundingType(id: number, model: any) {\r\n var url = this.urlHelper.getFundingTypesUrl() + '/' + id;\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Update FundingType')));\r\n }\r\n\r\n\r\n /*deleteFundingType(id: string, newId: string) {\r\n var url = this.urlHelper.deleteFundingTypeUrl(id, newId);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete FundingType'))\r\n );\r\n }*/\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EmailMessageService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) { }\r\n\r\n getEmailMessages() {\r\n var url = this.urlHelper.getEmailMessagesUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Email Messages')));\r\n }\r\n\r\n getEmailMessageById(id: string) {\r\n var url = this.urlHelper.getSingleEmailMessageUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Email Message')));\r\n }\r\n\r\n saveEmailMessage(model: any) {\r\n var url = this.urlHelper.getEmailMessagesUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Email Message')));\r\n }\r\n\r\n sendEmailMessage(model: any) {\r\n var url = this.urlHelper.getSendEmailUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Email')));\r\n }\r\n\r\n updateEmailMessage(id: string, model: any) {\r\n var url = this.urlHelper.getSingleEmailMessageUrl(id);\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Email Message')));\r\n }\r\n\r\n deleteEmailMessage(id: number) {\r\n var url = this.urlHelper.getSingleEmailMessageUrl(id.toString());\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Email Message')));\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-sector-iati',\r\n templateUrl: './sector-iati.component.html',\r\n styleUrls: ['./sector-iati.component.css']\r\n})\r\nexport class SectorIatiComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

\r\n sector-iati works!\r\n

\r\n","import { Component, OnInit, Input, Injectable } from '@angular/core';\r\nimport { ModalService } from '../services/modal.service';\r\n\r\n@Component({\r\n selector: 'error-modal',\r\n templateUrl: './error-modal.component.html',\r\n styleUrls: ['./error-modal.component.css']\r\n})\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorModalComponent implements OnInit {\r\n\r\n @Input()\r\n message: string = '';\r\n\r\n constructor(private modalService: ModalService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n openModal() {\r\n this.modalService.open('error-modal');\r\n }\r\n\r\n closeModal() {\r\n this.modalService.close('error-modal');\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
Error message
\r\n
\r\n {{message}}\r\n
\r\n

\r\n \r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Settings } from '../config/settings';\r\nimport { LocationService } from '../services/location.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { StoreService } from '../services/store-service';\r\n\r\n@Component({\r\n selector: 'manage-sublocations',\r\n templateUrl: './manage-sublocations.component.html',\r\n styleUrls: ['./manage-sublocations.component.css']\r\n})\r\nexport class ManageSubLocationsComponent implements OnInit {\r\n\r\n @Input()\r\n isForEdit: boolean = false;\r\n\r\n isLoading: boolean = false;\r\n errorMessage: string = null;\r\n isBtnDisabled: boolean = false;\r\n isError: boolean = false;\r\n permissions: any = {};\r\n locations: any = [];\r\n btnText: string = 'Add Sub-location';\r\n locationTabText: string = 'Manage sub-location';\r\n model: any = { id: 0, subLocation: null, locationId: 0 };\r\n \r\n constructor(private locationService: LocationService,\r\n private securityService: SecurityHelperService,\r\n private router: Router,\r\n private storeService: StoreService,\r\n private route: ActivatedRoute\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditSector) {\r\n this.router.navigateByUrl('sectors');\r\n }\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n if (this.route.snapshot.data && this.route.snapshot.data.isForEdit) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Edit Sub-Location';\r\n this.isForEdit = true;\r\n this.model.id = id;\r\n this.getSubLocation();\r\n }\r\n }\r\n this.getLocations();\r\n }\r\n\r\n getLocations() {\r\n this.locationService.getLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.locations = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getSubLocation() {\r\n this.locationService.getSubLocation(this.model.id).subscribe(\r\n data => {\r\n if (data) {\r\n this.model.locationId = data.locationId;\r\n this.model.subLocation = data.subLocation;\r\n }\r\n }\r\n );\r\n }\r\n\r\n saveSubLocation() {\r\n var locationId = parseInt(this.model.locationId.toString()); \r\n if (locationId <= 0) {\r\n return false;\r\n }\r\n \r\n var model = {\r\n locationId: locationId,\r\n subLocation: this.model.subLocation,\r\n };\r\n\r\n this.isBtnDisabled = true;\r\n if (this.isForEdit) {\r\n this.btnText = 'Updating...';\r\n this.locationService.updateSubLocation(this.model.id, model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('sublocations');\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error.error;\r\n this.isError = true;\r\n }\r\n );\r\n } else {\r\n this.btnText = 'Saving...';\r\n this.locationService.addSubLocation(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('sublocations');\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error.error;\r\n this.isError = true;\r\n }\r\n );\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Manage Sub-location
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
0\" class=\"alert alert-danger\">\r\n Location is required\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n Sub-location Name is required\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { SectorService } from '../services/sector.service';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { SectorTypeService } from '../services/sector-types.service';\r\n\r\n@Component({\r\n selector: 'app-sectors',\r\n templateUrl: './sectors.component.html',\r\n styleUrls: ['./sectors.component.css']\r\n})\r\nexport class SectorsComponent implements OnInit {\r\n\r\n defaultSectorTypeId: number = 0;\r\n selectedSectorTypeId: number = 0;\r\n sectorsList: any = [];\r\n inputTextHolder: string = 'Enter sector to search';\r\n filteredSectorsList: any = [];\r\n sectorTypesList: any = [];\r\n criteria: string = null;\r\n isLoading: boolean = true;\r\n infoMessage: string = null;\r\n showMessage: boolean = false;\r\n pagingSize: number = Settings.rowsPerPage;\r\n permissions: any = {};\r\n model: any = { sectorTypeId: 0 };\r\n\r\n constructor(private sectorService: SectorService, private router: Router,\r\n private storeService: StoreService, private securityService: SecurityHelperService,\r\n private sectorTypeService: SectorTypeService) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditSector) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.storeService.currentInfoMessage.subscribe(message => this.infoMessage = message);\r\n if (this.infoMessage !== null && this.infoMessage !== '') {\r\n this.showMessage = true;\r\n }\r\n setTimeout(() => {\r\n this.storeService.newInfoMessage('');\r\n this.showMessage = false;\r\n }, Settings.displayMessageTime);\r\n\r\n this.getSectorTypesList();\r\n //this.getSectorsList();\r\n }\r\n\r\n getSectorTypesList() {\r\n this.sectorTypeService.getSectorTypesList().subscribe(\r\n data => {\r\n if (data) {\r\n var sectorTypes = data;\r\n var sectorType = sectorTypes.filter(t => t.isPrimary == true);\r\n this.sectorTypesList = sectorTypes.filter(t => t.isPrimary == true || t.isSourceType == false);\r\n if (sectorType.length > 0) {\r\n var typeId = sectorType[0].id;\r\n this.defaultSectorTypeId = typeId;\r\n this.model.sectorTypeId = typeId;\r\n this.getSectorsList();\r\n }\r\n }\r\n }\r\n )\r\n }\r\n\r\n getSectorsForType() {\r\n var typeId = this.model.sectorTypeId;\r\n this.selectedSectorTypeId = parseInt(typeId);\r\n this.criteria = null;\r\n if (typeId != null && typeId > 0) {\r\n this.filteredSectorsList = this.sectorsList.filter(s => s.sectorTypeId == typeId);\r\n } else if (typeId == 0) {\r\n this.filteredSectorsList = this.sectorsList;\r\n }\r\n }\r\n\r\n getSectorsList() {\r\n this.sectorService.getSectorsList().subscribe(\r\n data => {\r\n this.isLoading = false;\r\n if (data && data.length) {\r\n this.sectorsList = data;\r\n this.filteredSectorsList = data;\r\n if (this.model.sectorTypeId != 0) {\r\n this.getSectorsForType();\r\n }\r\n }\r\n },\r\n error => {\r\n this.isLoading = false;\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n\r\n searchSectors() {\r\n if (!this.criteria) {\r\n if (this.model.sectorTypeId == 0) {\r\n this.filteredSectorsList = this.sectorsList;\r\n } else {\r\n this.filteredSectorsList = this.sectorsList.filter(s => s.sectorTypeId == this.model.sectorTypeId);\r\n }\r\n } else {\r\n if (this.sectorsList.length > 0) {\r\n var criteria = this.criteria.toLowerCase();\r\n if (this.model.sectorTypeId > 0) {\r\n this.filteredSectorsList = this.sectorsList.filter(s => (s.sectorTypeId == this.model.sectorTypeId && s.sectorName.toLowerCase().indexOf(criteria) != -1));\r\n } else {\r\n this.filteredSectorsList = this.sectorsList.filter(s => (s.sectorName.toLowerCase().indexOf(criteria) != -1));\r\n }\r\n }\r\n }\r\n }\r\n\r\n edit(id: string) {\r\n this.router.navigateByUrl('/manage-sector/' + id);\r\n }\r\n\r\n delete(id: string) {\r\n this.router.navigateByUrl('/delete-sector/' + id);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n  \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n\r\n
\r\n
0\" class=\"col margin-top-10\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Sector nameSector typeActions
{{sector.sectorName}}{{sector.sectorType}}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n No sectors to show\r\n
\r\n
\r\n
","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'truncate'\r\n})\r\nexport class TruncatePipe implements PipeTransform {\r\n\r\n transform(value: string, limit = 100, completeWords = false, ellipsis = '...') {\r\n if (completeWords) {\r\n limit = value.substr(0, limit).lastIndexOf(' ');\r\n }\r\n return `${value.substr(0, limit)}${ellipsis}`;\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { StoreService } from '../services/store-service';\r\nimport { DatabackupService } from '../services/databackup.service';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { Messages } from '../config/messages';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { Settings } from '../config/settings';\r\nimport { UrlHelperService } from '../services/url-helper-service';\r\n\r\n@Component({\r\n selector: 'app-data-backup',\r\n templateUrl: './data-backup.component.html',\r\n styleUrls: ['./data-backup.component.css']\r\n})\r\nexport class DataBackupComponent implements OnInit {\r\n currentTab: string = null;\r\n infoMessage: string = null;\r\n errorMessage: string = null;\r\n currentDate: string = null;\r\n selectedBackupFileName: string = null;\r\n backupTakenOn: string = null;\r\n areFilesLoading: boolean = false;\r\n backupFiles: any = [];\r\n permissions: any = {};\r\n\r\n displayTabs: any = [\r\n { visible: true, identity: 'backup' },\r\n { visible: false, identity: 'restore' },\r\n { visible: false, identity: 'restore_confirmation' },\r\n { visible: false, identity: 'delete_confirmation' }\r\n ];\r\n\r\n tabConstants: any = {\r\n BACKUP: 'backup',\r\n RESTORE: 'restore',\r\n DELETE_CONFIRMATION: 'delete_confirmation',\r\n RESTORE_CONFIRMATION: 'restore_confirmation'\r\n };\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n \r\n constructor(private storeService: StoreService, private backupService: DatabackupService,\r\n private infoModal: InfoModalComponent, private errorModal: ErrorModalComponent,\r\n private securityService: SecurityHelperService, private router: Router,\r\n private urlService: UrlHelperService) {\r\n\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canTakeBackup) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.currentTab = this.tabConstants.BACKUP;\r\n this.setCurrentDate();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n showBackupTab() {\r\n this.manageTabsDisplay(this.tabConstants.BACKUP)\r\n }\r\n\r\n showRestoreTab() {\r\n this.manageTabsDisplay(this.tabConstants.RESTORE);\r\n this.getBackupFilesList();\r\n }\r\n\r\n manageTabsDisplay(tabIdentity) {\r\n for (var i = 0; i < this.displayTabs.length; i++) {\r\n var tab = this.displayTabs[i];\r\n if (tab.identity == tabIdentity) {\r\n tab.visible = true;\r\n this.currentTab = tabIdentity;\r\n } else {\r\n tab.visible = false;\r\n }\r\n }\r\n }\r\n\r\n takeDataBackup() {\r\n this.blockUI.start('Wait taking backup...');\r\n this.backupService.performBackup().subscribe(\r\n data => {\r\n if (data) {\r\n this.infoMessage = Messages.DATA_BACKUP_MESSAGE;\r\n this.infoModal.openModal();\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n getBackupFilesList() {\r\n this.areFilesLoading = true;\r\n this.backupService.getBackupFiles().subscribe(\r\n data => {\r\n if (data) {\r\n this.backupFiles = data;\r\n }\r\n this.areFilesLoading = false;\r\n }\r\n );\r\n }\r\n\r\n formatDate(dated) {\r\n var date = new Date(dated);\r\n return date.toLocaleString('en-US');\r\n }\r\n\r\n setRestoreRequest(id: number) {\r\n if (id) {\r\n var backup = this.backupFiles.filter(b => b.id == id);\r\n if (backup.length > 0) {\r\n this.selectedBackupFileName = backup[0].backupFileName;\r\n this.backupTakenOn = backup[0].takenOn;\r\n this.manageTabsDisplay(this.tabConstants.RESTORE_CONFIRMATION);\r\n }\r\n }\r\n }\r\n\r\n performRestore() {\r\n if (this.selectedBackupFileName) {\r\n var model = {\r\n fileName: this.selectedBackupFileName\r\n };\r\n\r\n this.blockUI.start('Wait restoring database...');\r\n this.backupService.performRestore(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.infoMessage = Messages.DATA_RESTORE_MESSAGE;\r\n this.infoModal.openModal();\r\n this.manageTabsDisplay(this.tabConstants.RESTORE);\r\n this.selectedBackupFileName = null;\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n setDeleteRequest(id: number) {\r\n if (id) {\r\n var backup = this.backupFiles.filter(b => b.id == id);\r\n if (backup.length > 0) {\r\n this.selectedBackupFileName = backup[0].backupFileName;\r\n this.backupTakenOn = backup[0].takenOn;\r\n this.manageTabsDisplay(this.tabConstants.DELETE_CONFIRMATION);\r\n }\r\n } else {\r\n this.selectedBackupFileName = null;\r\n }\r\n }\r\n\r\n deleteBackup() {\r\n if (this.selectedBackupFileName) {\r\n var model = {\r\n fileName: this.selectedBackupFileName\r\n };\r\n\r\n this.blockUI.start('Deleting backup...');\r\n this.backupService.deleteBackup(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.backupFiles = this.backupFiles.filter(b => b.backupFileName != model.fileName);\r\n this.selectedBackupFileName = null;\r\n this.manageTabsDisplay(this.tabConstants.RESTORE);\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n cancelRequest() {\r\n this.selectedBackupFileName = null;\r\n this.manageTabsDisplay(this.tabConstants.RESTORE);\r\n }\r\n\r\n cancelDelete() {\r\n this.selectedBackupFileName = null;\r\n this.manageTabsDisplay(this.tabConstants.RESTORE);\r\n }\r\n\r\n setCurrentDate() {\r\n this.currentDate = this.storeService.getLongDateString(new Date());\r\n }\r\n\r\n setBackupFileUrl(fileName: string) {\r\n if (fileName) {\r\n return (this.urlService.getDataBackupFilesDownloadUrl() + fileName);\r\n }\r\n return fileName;\r\n }\r\n\r\n checkLink(e) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

\r\n Data backup allows you to take the complete backup of data as of its current state\r\n on this date {{currentDate}}. It\r\n must be noted that while taking the backup, AIMS will remain offline untill backup is\r\n completed.\r\n

\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
Backups list
\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n 0 && !areFilesLoading\" class=\"table table-striped small\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Backup file nameDate and TimeAction
{{file.backupFileName}}{{formatDate(file.takenOn)}}\r\n \r\n Download backup file\r\n \r\n
\r\n \r\n No backup files found to show.\r\n \r\n
\r\n\r\n
\r\n
Deleting database backup confirmation
\r\n

\r\n Please confirm that you want to delete the database backup named as\r\n ({{selectedBackupFileName}}) which was taken on ({{formatDate(backupTakenOn)}})? It must be noted that\r\n this action cannot be undone.\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
Restoring database confirmation
\r\n

\r\n Please confirm that you want to restore the database status to the selected backup file\r\n ({{selectedBackupFileName}}) which was taken on ({{formatDate(backupTakenOn)}})? It must be noted that\r\n this action cannot be undone.\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { StoreService } from 'src/app/services/store-service';\r\nimport { ErrorModalComponent } from 'src/app/error-modal/error-modal.component';\r\nimport { Messages } from 'src/app/config/messages';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { HelpService } from 'src/app/services/help-service';\r\n\r\n@Component({\r\n selector: 'financials',\r\n templateUrl: './financials.component.html',\r\n styleUrls: ['./financials.component.css']\r\n})\r\nexport class FinancialsComponent implements OnInit {\r\n\r\n @Input()\r\n projectId: number = 0;\r\n @Input()\r\n currenciesList: any = [];\r\n @Input()\r\n projectCurrency: string = null;\r\n @Input()\r\n exchangeRate: number = 0;\r\n @Input()\r\n projectValue: number = 0;\r\n @Input()\r\n projectDisbursements: any = [];\r\n @Input()\r\n exchangeRates: any = [];\r\n @Input()\r\n startingYear: number = 0;\r\n @Input()\r\n endingYear: number = 0;\r\n @Input()\r\n aimsProjects: any = [];\r\n @Input()\r\n iatiProjects: any = [];\r\n\r\n @Output()\r\n disbursementsChanged = new EventEmitter();\r\n @Output()\r\n proceedToSectors = new EventEmitter();\r\n\r\n help: any = { disbursementActual: null, disbursementPlanned: null };\r\n projectHelp: any = { title: null, startingFinancialYear: null, endingFinancialYear: null,\r\n description: null, projectValue: null, projectCurrency: null, fundingType: null,\r\n startDate: null, endDate: null};\r\n\r\n errorMessage: string = null;\r\n unsavedDisbursementsMessage: string = Messages.UNSAVED_DISBURSEMENTS;\r\n requestNo: number = 0;\r\n disbursementsTotalOnLoad: number = 0;\r\n disbursementsTotal: number = 0;\r\n currentYear: any = 0;\r\n yearList: any = [];\r\n disbursementModel: any = { currency: null, projectValue: 0, exchangeRate: 0 };\r\n tabConstants: any = {\r\n FINANCIALS: 'financials',\r\n FINANCIALS_SOURCE: 'financials_source'\r\n };\r\n disbursementTypeConstants: any = {\r\n 1: 'Actual',\r\n 2: 'Planned'\r\n };\r\n disbursementTypeCodes: any = {\r\n ACTUAL: 1,\r\n PLANNED: 2\r\n };\r\n disbursementSourceTypes: any = {\r\n AIMS: 1,\r\n IATI: 2\r\n };\r\n\r\n currentTab: string = this.tabConstants.FINANCIALS;\r\n isSourceAvailable: boolean = false;\r\n disbursementsInvalidOnNext: boolean = false;\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private storeService: StoreService, private errorModal: ErrorModalComponent,\r\n private projectService: ProjectService,\r\n private helpService: HelpService) { }\r\n\r\n ngOnInit() {\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n this.currentYear = this.storeService.getCurrentYear();\r\n this.disbursementModel.currency = this.projectCurrency;\r\n this.disbursementModel.projectValue = parseInt(this.projectValue.toString());\r\n //this.setDisbursementsData();\r\n this.getExchangeRateForCurrency();\r\n this.getProjectHelp();\r\n this.getHelp();\r\n this.calculateDisbursementsTotal();\r\n this.disbursementsTotalOnLoad = this.disbursementsTotal;\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.aimsProjects.length > 0 || this.iatiProjects.length > 0) {\r\n this.aimsProjects.forEach((d) => {\r\n if (d.disbursements && d.disbursements.length > 0) {\r\n d.disbursements.forEach((d) => {\r\n d.selected = false; \r\n });\r\n }\r\n });\r\n this.iatiProjects.forEach((d) => {\r\n if (d.disbursementTransactions && d.disbursementTransactions.length > 0) {\r\n d.disbursementTransactions.forEach((d) => {\r\n d.selected = false;\r\n });\r\n }\r\n });\r\n this.isSourceAvailable = true;\r\n }\r\n }\r\n\r\n indexTracker(index: number) {\r\n return index;\r\n }\r\n\r\n getHelp() {\r\n if (!this.help.disbursementActual) {\r\n this.helpService.getProjectDisbursementsHelpFields().subscribe(\r\n data => {\r\n this.help = data;\r\n }\r\n );\r\n }\r\n }\r\n\r\n getProjectHelp() {\r\n if (!this.projectHelp.projectValue) {\r\n this.helpService.getProjectHelpFields().subscribe(\r\n data => {\r\n this.projectHelp = data;\r\n }\r\n );\r\n }\r\n }\r\n\r\n getExchangeRateForCurrency() {\r\n if (this.disbursementModel.currency) {\r\n var exRate = this.exchangeRates.filter(e => e.currency == this.disbursementModel.currency);\r\n if (exRate.length > 0) {\r\n this.exchangeRate = exRate[0].rate;\r\n }\r\n } else {\r\n this.exchangeRate = 1;\r\n }\r\n }\r\n\r\n setDisbursementsData() {\r\n this.projectDisbursements = this.projectDisbursements.filter(d => (d.year >= this.startingYear && d.year <= this.endingYear));\r\n for (var yr = this.startingYear; yr <= this.endingYear; yr++) {\r\n var data = this.projectDisbursements.filter(d => d.year == yr);\r\n if (data.length == 0) {\r\n\r\n if (yr <= this.currentYear) {\r\n var newDisbursement = {\r\n financialYear: yr,\r\n currency: this.projectCurrency,\r\n exchangeRate: 1,\r\n disbursementType: 1,\r\n amount: 0\r\n };\r\n this.projectDisbursements.push(newDisbursement);\r\n }\r\n\r\n if (yr >= this.currentYear) {\r\n var newDisbursement = {\r\n financialYear: yr,\r\n currency: this.projectCurrency,\r\n exchangeRate: 1,\r\n disbursementType: 2,\r\n amount: 0\r\n };\r\n this.projectDisbursements.push(newDisbursement);\r\n }\r\n }\r\n }\r\n\r\n if (this.projectDisbursements.length > 0) {\r\n this.projectDisbursements.sort((a, b) => parseFloat(a.year) - parseFloat(b.year));\r\n this.calculateDisbursementsTotal();\r\n }\r\n }\r\n\r\n manageSourceDisbursementsSelection(year, amount, type) {\r\n this.aimsProjects.forEach((p) => {\r\n if (p.disbursements && p.disbursements.length > 0) {\r\n var yearDisbursement = p.disbursements.filter(d => d.year == year && d.disbursementType == type);\r\n if (yearDisbursement.length > 0) {\r\n if (yearDisbursement[0].amount != amount) {\r\n yearDisbursement[0].selected = false;\r\n }\r\n }\r\n }\r\n });\r\n\r\n this.iatiProjects.forEach((p) => {\r\n if (p.disbursementTransactions && p.disbursementTransactions.length > 0) {\r\n var yearDisbursement = p.disbursementTransactions.filter(d => d.year == year);\r\n if (yearDisbursement.length > 0) {\r\n if (yearDisbursement[0].amount != amount) {\r\n yearDisbursement[0].selected = false;\r\n }\r\n }\r\n }\r\n });\r\n this.calculateDisbursementsTotal();\r\n }\r\n\r\n calculateDisbursementsTotal() {\r\n var totalAmount = 0;\r\n if (this.projectDisbursements.length > 0) {\r\n this.projectDisbursements.forEach((d) => {\r\n if (!d.amount) {\r\n d.amount = 0;\r\n }\r\n totalAmount += parseInt(d.amount);\r\n });\r\n }\r\n this.disbursementsTotal = parseInt(totalAmount.toString());\r\n }\r\n\r\n getDisbursementsTotal() {\r\n var totalAmount = 0;\r\n if (this.projectDisbursements.length > 0) {\r\n this.projectDisbursements.forEach((d) => {\r\n if (!d.amount) {\r\n d.amount = 0;\r\n }\r\n totalAmount += parseInt(d.amount);\r\n });\r\n }\r\n return totalAmount;\r\n }\r\n\r\n handleNullAmount(amount: number) {\r\n if (amount == null) {\r\n return 0;\r\n }\r\n return amount;\r\n }\r\n\r\n setDisbursementForYear(e) {\r\n var newValue = e.target.value;\r\n if (newValue < 0) {\r\n this.errorMessage = Messages.NEGATIVE_DISBURSEMENT;\r\n this.errorModal.openModal();\r\n e.target.value = 0;\r\n return false;\r\n }\r\n var arr = e.target.id.split('-');\r\n var year = arr[1];\r\n var disbursementType = arr[2];\r\n\r\n var disbursement = this.projectDisbursements.filter(d => d.year == year && d.disbursementType == disbursementType);\r\n if (disbursement.length > 0) {\r\n disbursement.amount = parseInt(newValue);\r\n }\r\n }\r\n\r\n enterIATIDisbursement(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var disbursementId = arr[2];\r\n\r\n var selectProject = this.iatiProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var transactions = selectProject[0].disbursementTransactions;\r\n var selectTransaction = transactions.filter(i => i.id == disbursementId);\r\n if (selectTransaction && selectTransaction.length > 0) {\r\n var amount = selectTransaction[0].amount;\r\n var dated = selectTransaction[0].dated;\r\n selectTransaction[0].selected = true;\r\n \r\n if (dated && dated.length > 0) {\r\n var dateArr = dated.split('-');\r\n var year = parseInt(dateArr[0]);\r\n\r\n var disbursement = this.projectDisbursements.filter(d => d.year == year);\r\n if (disbursement.length > 0) {\r\n disbursement[0].amount = parseInt(amount);\r\n }\r\n }\r\n }\r\n }\r\n this.calculateDisbursementsTotal();\r\n }\r\n\r\n splitRemainingAmountEqually() {\r\n var projectValue = this.projectValue;\r\n var disbursementsTotal = this.getDisbursementsTotal();\r\n var remainingAmount = (projectValue - disbursementsTotal); \r\n if (remainingAmount > 0) {\r\n var countZeros = 0;\r\n this.projectDisbursements.forEach((d) => {\r\n if (d.disbursementType == 2) {\r\n countZeros = (d.amount == 0) ? ++countZeros : countZeros;\r\n }\r\n });\r\n\r\n if (countZeros > 0) {\r\n var equalSplit = parseInt((remainingAmount / countZeros).toString());\r\n var amountRemaining = remainingAmount;\r\n var amountSplitted = 0;\r\n var counter = 0;\r\n this.projectDisbursements.forEach((d) => {\r\n if (d.amount == 0 && d.disbursementType == 2) {\r\n if ((counter + 1) == countZeros) {\r\n d.amount = amountRemaining;\r\n amountSplitted = amountRemaining;\r\n } else {\r\n d.amount = equalSplit;\r\n amountSplitted += equalSplit;\r\n amountRemaining = remainingAmount - amountSplitted;\r\n }\r\n ++counter;\r\n if (counter == countZeros) {\r\n d.amount += (amountRemaining - amountSplitted);\r\n }\r\n }\r\n });\r\n this.calculateDisbursementsTotal();\r\n } else {\r\n this.errorMessage = Messages.INVALID_DISBURSEMENT_SPLIT;\r\n this.errorModal.openModal();\r\n }\r\n }\r\n }\r\n\r\n enterAIMSDisbursement(e) {\r\n var arr = e.target.id.split('-');\r\n var projectId = arr[1];\r\n var year = arr[2];\r\n var type = arr[3];\r\n\r\n var selectProject = this.aimsProjects.filter(p => p.id == projectId);\r\n if (selectProject && selectProject.length > 0) {\r\n var disbursements = selectProject[0].disbursements;\r\n var selectTransaction = disbursements.filter(i => i.year == year && i.disbursementType == type);\r\n if (selectTransaction && selectTransaction.length > 0) {\r\n var amount = selectTransaction[0].amount;\r\n selectTransaction[0].selected = true;\r\n\r\n if (year && year > 0) {\r\n var disbursement = this.projectDisbursements.filter(d => d.year == year && d.disbursementType == type);\r\n if (disbursement.length > 0) {\r\n disbursement[0].amount = parseInt(amount);\r\n }\r\n }\r\n }\r\n }\r\n this.calculateDisbursementsTotal();\r\n }\r\n\r\n saveDisbursements(frm: any) {\r\n if (this.projectDisbursements.length > 0) {\r\n var isDataValid = true;\r\n this.projectDisbursements.forEach(d => {\r\n if (isNaN(d.amount)) {\r\n this.errorMessage = 'Invalid amount entered for year: ' + d.year;\r\n this.errorModal.openModal();\r\n isDataValid = false;\r\n }\r\n });\r\n\r\n if (!isDataValid) {\r\n return false;\r\n }\r\n\r\n var totalDisbursements = 0;\r\n this.projectDisbursements.forEach(d => {\r\n totalDisbursements = (d.disbursement * d.exchangeRate);\r\n });\r\n\r\n if (totalDisbursements > (this.projectValue * this.exchangeRate)) {\r\n this.errorMessage = '';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (isDataValid) {\r\n this.blockUI.start('Saving disbursements');\r\n this.projectDisbursements.forEach((d) => {\r\n d.amount = parseFloat(d.amount);\r\n });\r\n var model = {\r\n projectId: this.projectId,\r\n currency: this.projectCurrency,\r\n exchangeRate: this.exchangeRate,\r\n yearlyDisbursements: this.projectDisbursements\r\n };\r\n this.projectService.addProjectDisbursement(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.disbursementsTotalOnLoad = this.disbursementsTotal;\r\n this.updateDisbursementsToParent();\r\n this.currentTab = this.tabConstants.FINANCIALS;\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n updateDisbursementsToParent() {\r\n this.disbursementsChanged.emit(this.projectDisbursements);\r\n }\r\n\r\n showSource() {\r\n this.currentTab = this.tabConstants.FINANCIALS_SOURCE;\r\n }\r\n\r\n showFinancials() {\r\n this.currentTab = this.tabConstants.FINANCIALS;\r\n }\r\n\r\n displayNull(val: string) {\r\n return val ? val : 'N/a';\r\n }\r\n\r\n checkIfCurrentActual(year, type) {\r\n if (this.currentYear == year && type == 1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkIfCurrentPlanned(year, type) {\r\n if (this.currentYear == year && type == 2) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkIfFuturePlanned(year, type) {\r\n if ((this.currentYear + 1) == year && type == 2) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n proceedToNext() {\r\n if (this.disbursementsTotalOnLoad != this.disbursementsTotal) {\r\n this.disbursementsInvalidOnNext = true;\r\n this.errorMessage = this.unsavedDisbursementsMessage;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n this.disbursementsInvalidOnNext = false;\r\n this.proceedToSectors.emit();\r\n }\r\n \r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n 0 || disbursementsInvalidOnNext) && (disbursementsTotal != disbursementModel.projectValue)\"\r\n class=\"alert alert-danger alert-dismissible\">\r\n \r\n Disbursements must be equal to project total value.\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n disbursementModel.projectValue)\"\r\n type=\"submit\" class=\"btn btn-info text-uppercase btn-block col-md-5\">Save disbursements\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Project Title: {{project.title}}
\r\n AIMS\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
YearAmountDisbursement typeAction
\r\n {{disbursement.year}}\r\n \r\n {{disbursement.amount | number:0}}\r\n \r\n {{disbursementTypeConstants[disbursement.disbursementType]}}\r\n \r\n \r\n
\r\n
No disbursements available\r\n
\r\n
\r\n\r\n 0\" class=\"table table-bordered\">\r\n \r\n
\r\n Project Title: {{project.title}}
\r\n IATI\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TypeCurrencyAmountDatedAction
\r\n {{disbursement.transactionType}}\r\n \r\n {{displayNull(disbursement.currency)}}\r\n \r\n {{disbursement.amount | number:0}}\r\n \r\n {{displayNull(disbursement.dated)}}\r\n \r\n \r\n
\r\n
No disbursements to show\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
Project disbursements
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
disbursementModel.projectValue)\"\r\n class=\"alert alert-danger alert-dismissible margin-top-5\">\r\n \r\n Disbursements must be equal to project total value.\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n disbursementModel.projectValue)\"\r\n type=\"button\" class=\"btn btn-info text-uppercase\" (click)=\"saveDisbursements(null)\">Save disbursements\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, of } from 'rxjs';\r\nimport { RegistrationModel } from '../models/registration';\r\nimport { RequestModel } from '../models/request-model';\r\nimport * as urlsList from \"../config/urls\";\r\nimport { ActiveMenuModel } from '../models/active-menu-model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class StoreService {\r\n\r\n private monthNames: any = [\r\n \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"\r\n ];\r\n private requestNumber: number = 0;\r\n private yearGap: number = 100;\r\n private messageSource = new BehaviorSubject(null);\r\n currentRegistration = this.messageSource.asObservable();\r\n\r\n private infoMessage = new BehaviorSubject('');\r\n currentInfoMessage = this.infoMessage.asObservable();\r\n\r\n private requestTrack = new BehaviorSubject(null);\r\n currentRequestTrack = this.requestTrack.asObservable();\r\n\r\n private dataProjects = new BehaviorSubject(null);\r\n currentDataProjects = this.dataProjects.asObservable();\r\n\r\n private reportMenu = new BehaviorSubject(0);\r\n currentReportItem = this.reportMenu.asObservable();\r\n\r\n constructor() { }\r\n\r\n newRequestTrack(track: RequestModel) {\r\n this.requestTrack.next(track);\r\n }\r\n\r\n newRegistration(model: RegistrationModel) {\r\n this.messageSource.next(model);\r\n }\r\n\r\n newInfoMessage(message: string) {\r\n this.infoMessage.next(message);\r\n }\r\n\r\n newRequestNumber(requestNo: number) {\r\n this.requestNumber = requestNo;\r\n }\r\n\r\n newReportItem(menuCode: number) {\r\n this.reportMenu.next(menuCode);\r\n }\r\n\r\n newDataProjects(dataProjects: any) {\r\n this.dataProjects.next(dataProjects);\r\n }\r\n\r\n getNewRequestNumber() {\r\n return (++this.requestNumber);\r\n }\r\n\r\n getCurrentRequestId() {\r\n return this.requestNumber;\r\n }\r\n\r\n handleError(operation = 'operation', result?: T) {\r\n return (error: any): Observable => {\r\n var currentRequestNo = this.getCurrentRequestId();\r\n var model = new RequestModel(currentRequestNo, error.status, '');\r\n\r\n var errorMessage = '';\r\n if (error.status == 401) {\r\n errorMessage = 'You are unauthorized to perform this action. In case if your are a valid registered user, please logout and login again';\r\n } else {\r\n if (error && error.statusText) {\r\n if (error.statusText.toLowerCase() == 'bad request') {\r\n if(error.error && error.error.errors) {\r\n var errorObject = error.error.errors;\r\n var key = (Object.keys(error.error.errors)[0]);\r\n errorMessage = errorObject[key];\r\n } else {\r\n errorMessage = error.error;\r\n }\r\n } else if (error.statusText == 'Unknown Error') {\r\n errorMessage = 'Unkown Error: Something went wrong. Make sure your Internet connection ' + \r\n 'is working. In any other case contact AIMS Administrator.';\r\n } else {\r\n errorMessage = error.statusText;\r\n }\r\n } else {\r\n if (error.message || error.statusText) {\r\n errorMessage = error.message || error.statusText;\r\n } else {\r\n errorMessage = 'Something went wrong';\r\n }\r\n }\r\n }\r\n \r\n model.errorMessage = errorMessage;\r\n model.errorStatus = error.status;\r\n this.newRequestTrack(model);\r\n return of(result as T);\r\n };\r\n }\r\n\r\n printReport(divId, title, currency) {\r\n var content = document.getElementById(divId).innerHTML;\r\n let canvas = document.getElementById('chart') as HTMLCanvasElement;\r\n var mywindow = window.open('', 'Print', 'height=600,width=800');\r\n mywindow.document.write('');\r\n mywindow.document.write(\"\");\r\n mywindow.document.write('');\r\n mywindow.document.write('
' + title + '' + currency + '
');\r\n mywindow.document.write(\"\");\r\n mywindow.document.write(content);\r\n mywindow.document.write('');\r\n mywindow.document.close();\r\n mywindow.focus()\r\n return true;\r\n }\r\n\r\n printSimpleReport(divId, title) {\r\n var content = document.getElementById(divId).innerHTML;\r\n var mywindow = window.open('', 'Print', 'height=600,width=800');\r\n mywindow.document.write('' + title + '');\r\n mywindow.document.write(\"\");\r\n mywindow.document.write('');\r\n mywindow.document.write(content);\r\n mywindow.document.write('');\r\n\r\n mywindow.document.close();\r\n mywindow.focus()\r\n return true;\r\n }\r\n\r\n sumValues(prev, next){\r\n return (parseFloat(prev) + parseFloat(next)).toFixed(2);\r\n }\r\n\r\n sortArrayByProperty(prop) {\r\n return function (a, b) {\r\n if (a[prop] > b[prop]) {\r\n return 1;\r\n } else if (a[prop] < b[prop]) {\r\n return -1;\r\n }\r\n return 0;\r\n }\r\n } \r\n\r\n getCalendarUpperLimit() {\r\n var dated = new Date();\r\n var proposedYear = dated.getFullYear() + this.yearGap;\r\n var calendarMaxLimit = { year: proposedYear, month: 12, day: 31};\r\n return calendarMaxLimit;\r\n }\r\n\r\n getCalendarLowerLimit() {\r\n }\r\n\r\n storeExchangeRates(rates) {\r\n localStorage.setItem('ratesList', rates);\r\n }\r\n\r\n getCachedRatesList() {\r\n return localStorage.getItem('ratesList');\r\n }\r\n\r\n clearExchangeRates() {\r\n localStorage.removeItem('ratesList');\r\n }\r\n\r\n parseJson(jsonStr: any) {\r\n if (jsonStr && jsonStr.length > 0) {\r\n var parsedJson = null\r\n try {\r\n parsedJson = (JSON.parse(jsonStr));\r\n } catch (e) {\r\n parsedJson = jsonStr;\r\n }\r\n }\r\n return parsedJson;\r\n }\r\n\r\n parseAndDisplayJsonAsString(json: any) {\r\n if (json && json.length > 0) {\r\n var valuesString = '';\r\n var parsedJson = null;\r\n try {\r\n parsedJson = eval(json);\r\n } catch (e) {\r\n return json;\r\n }\r\n\r\n if(parsedJson[0].id) {\r\n parsedJson.forEach(function (f) {\r\n if (valuesString) {\r\n valuesString += ', ' + f.value;\r\n } else {\r\n valuesString += f.value;\r\n }\r\n });\r\n return valuesString;\r\n }\r\n return json;\r\n }\r\n return json;\r\n }\r\n\r\n getLongDateString(dated: any) {\r\n var validDate = Date.parse(dated);\r\n if (!isNaN(validDate)) {\r\n return new Date(dated).toLocaleDateString('en-GB', { \r\n day : '2-digit',\r\n month : 'short',\r\n year : 'numeric'\r\n });\r\n }\r\n return 'N/a';\r\n }\r\n\r\n formatDateInUkStyle(year: number, month: number, day: number) {\r\n month = (month - 1);\r\n var date = new Date(year, month, day);\r\n return date.toLocaleDateString(\"en-GB\", { \r\n year: \"numeric\",\r\n month: \"2-digit\",\r\n day: \"2-digit\",\r\n });\r\n }\r\n\r\n getLongDateAndTime() {\r\n return new Date().toLocaleString();\r\n }\r\n\r\n dateOrdinal(d) {\r\n return d+(31==d||21==d||1==d?\"st\":22==d||2==d?\"nd\":23==d||3==d?\"rd\":\"th\")\r\n };\r\n\r\n getCurrentDateSQLFormat() {\r\n var dated = new Date();\r\n var monthVal = dated.getMonth() + 1;\r\n var dateVal = dated.getDate();\r\n var month = (monthVal < 10) ? ('0' + monthVal) : monthVal;\r\n var day = (dateVal < 10) ? ('0' + dateVal) : dateVal; \r\n return (dated.getFullYear() + '-' + month + '-' + day);\r\n }\r\n\r\n getCurrentYear() {\r\n return new Date().getFullYear();\r\n }\r\n\r\n getTodaysDateForDtPicker() {\r\n var dated = new Date();\r\n return { year: dated.getFullYear(), month: (dated.getMonth() + 1), day: dated.getDate() };\r\n }\r\n\r\n getExcelFilesUrl() {\r\n return (urlsList.urls.excelFilesUrl);\r\n }\r\n\r\n getBackupFileUrl() {\r\n return (urlsList.urls.dataBackupFilesUrl);\r\n }\r\n\r\n isDateValid(dated: any) {\r\n var formattedDate = null;\r\n if (dated.year && dated.month && dated.day) {\r\n formattedDate = dated.year + '-' + dated.month + '-' + dated.day;\r\n } else {\r\n formattedDate = dated;\r\n }\r\n var timestamp = Date.parse(formattedDate);\r\n return (isNaN(timestamp) == false); \r\n }\r\n\r\n getNumberWithCommas(value: number) {\r\n if (!value) {\r\n return value;\r\n }\r\n if (!isNaN(value) && value > 0) {\r\n value = Math.round(value);\r\n } else {\r\n return value;\r\n }\r\n return value.toLocaleString();\r\n }\r\n\r\n convertDateToYMDBySlash(date: string) {\r\n if (date) {\r\n //return new Date(date).toISOString().split('T')[0];\r\n var timestamp = Date.parse(date);\r\n if (isNaN(timestamp) == false) {\r\n var dateParts = date.split('/');\r\n if (parseInt(dateParts[0]) < 10) {\r\n dateParts[0] = '0' + dateParts[0];\r\n }\r\n\r\n if (parseInt(dateParts[1]) < 10) {\r\n dateParts[1] = '0' + dateParts[1];\r\n }\r\n return (dateParts[2] + '-' + dateParts[0] + '-' + dateParts[1]);\r\n }\r\n }\r\n return date;\r\n }\r\n\r\n convertToDateInputFormat(date: string) {\r\n if (date) {\r\n //return new Date(date).toISOString().split('T')[0];\r\n var timestamp = Date.parse(date);\r\n if (isNaN(timestamp) == false) {\r\n var dateParts = date.split('/');\r\n\r\n if (parseInt(dateParts[0]) < 10) {\r\n dateParts[0] = '0' + dateParts[0];\r\n }\r\n\r\n if (parseInt(dateParts[1]) < 10) {\r\n dateParts[1] = '0' + dateParts[1];\r\n }\r\n return (dateParts[2] + '-' + dateParts[0] + '-' + dateParts[1]);\r\n }\r\n }\r\n return date;\r\n }\r\n\r\n convertDateToMDYWithSlash(date: string) {\r\n if (date) {\r\n //return new Date(date).toISOString().split('T')[0];\r\n var timestamp = Date.parse(date);\r\n if (isNaN(timestamp) == false) {\r\n var dateParts = date.split('/');\r\n return (dateParts[1] + '/' + dateParts[0] + '/' + dateParts[2]);\r\n }\r\n }\r\n return date;\r\n }\r\n\r\n isLeapYear(year: number) {\r\n return !((year % 4) && (year % 100) || !(year % 400));\r\n }\r\n\r\n isCurrentlyLeapYear() {\r\n var dated = new Date();\r\n var year = dated.getFullYear();\r\n return !((year % 4) && (year % 100) || !(year % 400));\r\n }\r\n\r\n \r\n}","import { Component, OnInit, Input } from '@angular/core';\r\nimport { LocationService } from '../services/location.service';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { ModalService } from '../services/modal.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\n\r\n@Component({\r\n selector: 'app-locations',\r\n templateUrl: './locations.component.html',\r\n styleUrls: ['./locations.component.css']\r\n})\r\nexport class LocationsComponent implements OnInit {\r\n\r\n permissions: any = {};\r\n locationsList: any = [];\r\n filteredLocationsList: any = [];\r\n criteria: string = null;\r\n isLoading: boolean = true;\r\n infoMessage: string = null;\r\n showMessage: boolean = false;\r\n errorMessage: string = '';\r\n isError: boolean = false;\r\n pagingSize: number = Settings.rowsPerPage;\r\n selectedLocationId: number = 0;\r\n @BlockUI() blockUI: NgBlockUI;\r\n \r\n constructor(private locationService: LocationService, private router: Router,\r\n private storeService: StoreService, private securityService: SecurityHelperService,\r\n private modalService: ModalService) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditLocation) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.getLocationsList();\r\n }\r\n\r\n getLocationsList() {\r\n this.locationService.getLocationsList().subscribe(\r\n data => {\r\n this.isLoading = false;\r\n if (data && data.length) {\r\n this.locationsList = data;\r\n this.filteredLocationsList = data;\r\n }\r\n },\r\n error => {\r\n this.isLoading = false;\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n\r\n searchLocations() {\r\n if (!this.criteria) {\r\n this.filteredLocationsList = this.locationsList;\r\n }\r\n else {\r\n if (this.locationsList.length > 0) {\r\n var criteria = this.criteria.toLowerCase();\r\n this.filteredLocationsList = this.locationsList.filter(s => (s.location.toLowerCase().indexOf(criteria) != -1));\r\n }\r\n }\r\n }\r\n\r\n edit(id: string) {\r\n this.router.navigateByUrl('/manage-location/' + id);\r\n }\r\n\r\n closeModal() {\r\n this.modalService.close('confirmation-modal');\r\n }\r\n\r\n delete(id) {\r\n this.router.navigateByUrl('delete-location/' + id);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n\r\n
\r\n
0\" class=\"col margin-top-10\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Location nameActions
{{loc.location}}\r\n \r\n  \r\n \r\n
\r\n \r\n
\r\n
\r\n No locations to show\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { EnvelopeTypeService } from '../services/envelope-type.service';\r\nimport { Settings } from '../config/settings';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\n\r\n@Component({\r\n selector: 'app-envelope-types',\r\n templateUrl: './envelope-types.component.html',\r\n styleUrls: ['./envelope-types.component.css']\r\n})\r\nexport class EnvelopeTypesComponent implements OnInit {\r\n\r\n envelopeTypes: any = [];\r\n permissions: any = {};\r\n filteredEnvelopeTypes: any = [];\r\n criteria: string = null;\r\n inputTextHolder: string = 'Enter envelpe type name to search';\r\n isLoading: boolean = true;\r\n pagingSize: number = Settings.rowsPerPage;\r\n @BlockUI() blockUI: NgBlockUI;\r\n\r\n constructor(private envelopeTypeService: EnvelopeTypeService, private securityService: SecurityHelperService,\r\n private router: Router, private storeService: StoreService) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditEnvelopeType) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.getEnvelopeTypes();\r\n }\r\n\r\n searchEnvelopeTypes() {\r\n if (!this.criteria) {\r\n this.filteredEnvelopeTypes = this.envelopeTypes;\r\n } else {\r\n if (this.envelopeTypes.length > 0) {\r\n var criteria = this.criteria.toLowerCase();\r\n this.filteredEnvelopeTypes = this.envelopeTypes.filter(e => \r\n (e.typeName.toLowerCase().indexOf(criteria) != -1 ));\r\n }\r\n }\r\n }\r\n\r\n getEnvelopeTypes() {\r\n this.envelopeTypeService.getAllEnvelopeTypes().subscribe(\r\n data => {\r\n if (data) {\r\n this.envelopeTypes = data;\r\n this.filteredEnvelopeTypes = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n edit(id: number) {\r\n if (id) {\r\n this.router.navigateByUrl('manage-envelope-type/' + id);\r\n }\r\n }\r\n\r\n delete(id: number) {\r\n if (id) {\r\n this.router.navigateByUrl('delete-envelope-type/' + id);\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n \r\n
\r\n
0\" class=\"col margin-top-10\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Type nameActions
{{type.typeName}}\r\n \r\n  \r\n \r\n
\r\n \r\n
\r\n
\r\n No envelope types to show\r\n
\r\n
\r\n
\r\n ","import { Component, OnInit, Input, Injectable } from '@angular/core';\r\nimport { ModalService } from '../services/modal.service';\r\n\r\n@Component({\r\n selector: 'info-modal',\r\n templateUrl: './info-modal.component.html',\r\n styleUrls: ['./info-modal.component.css']\r\n})\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoModalComponent implements OnInit {\r\n @Input()\r\n message: string = '';\r\n @Input()\r\n title: string = 'Information message';\r\n\r\n constructor(private modalService: ModalService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n openModal() {\r\n this.modalService.open('info-modal');\r\n }\r\n\r\n closeModal() {\r\n this.modalService.close('info-modal');\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
{{title}}
\r\n
\r\n {{message}}\r\n
\r\n

\r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FundingTypeService } from '../services/funding-type.service';\r\nimport { Router } from '@angular/router';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Settings } from '../config/settings';\r\nimport { StoreService } from '../services/store-service';\r\n\r\n@Component({\r\n selector: 'app-funding-types',\r\n templateUrl: './funding-types.component.html',\r\n styleUrls: ['./funding-types.component.css']\r\n})\r\nexport class FundingTypesComponent implements OnInit {\r\n fundingTypesList: any = [];\r\n filteredFundingTypesList: any = [];\r\n criteria: string = null;\r\n permissions: any = {};\r\n isLoading: boolean = false;\r\n pagingSize: number = Settings.rowsPerPage;\r\n \r\n constructor(private fundingTypeService: FundingTypeService, private router: Router,\r\n private securityService: SecurityHelperService, private storeService: StoreService) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditFundingType) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.getFundingTypes();\r\n }\r\n\r\n getFundingTypes() {\r\n this.fundingTypeService.getFundingTypesList().subscribe(\r\n data => {\r\n if (data) {\r\n this.fundingTypesList = data;\r\n this.filteredFundingTypesList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n searchFundingTypes() {\r\n if (!this.criteria) {\r\n this.filteredFundingTypesList = this.fundingTypesList;\r\n }\r\n else {\r\n if (this.fundingTypesList.length > 0) {\r\n var criteria = this.criteria.toLowerCase();\r\n this.filteredFundingTypesList = this.fundingTypesList.filter(g => (g.fundingType.toLowerCase().indexOf(criteria) != -1));\r\n }\r\n }\r\n }\r\n\r\n edit(id: string) {\r\n this.router.navigateByUrl('manage-funding-type/' + id);\r\n }\r\n\r\n delete(id: string) {\r\n\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n \r\n
\r\n
0\" class=\"col margin-top-10\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Funding typeActions
{{g.fundingType}}\r\n \r\n  \r\n \r\n
\r\n \r\n
\r\n
\r\n No funding types to show\r\n
\r\n
\r\n
\r\n ","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-implementer-iati',\r\n templateUrl: './implementer-iati.component.html',\r\n styleUrls: ['./implementer-iati.component.css']\r\n})\r\nexport class ImplementerIatiComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

\r\n implementer-iati works!\r\n

\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { OrganizationService } from '../services/organization-service';\r\nimport { Messages } from '../config/messages';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\nimport { OrganizationTypeService } from '../services/organization-type.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\n\r\n@Component({\r\n selector: 'app-merge-organization',\r\n templateUrl: './merge-organization.component.html',\r\n styleUrls: ['./merge-organization.component.css']\r\n})\r\nexport class MergeOrganizationComponent implements OnInit {\r\n\r\n requestNo: number = 0;\r\n envelopeOrganizationId: number = 0;\r\n permissions: any = {};\r\n organizationTypes: any = [];\r\n organizationsList: any = [];\r\n envelopeIds: any = [];\r\n organizationsAppliedForMerge: any = [];\r\n isLoading: boolean = true;\r\n filteredOrganizationsList: any = [];\r\n selectedOrganizations: any = [];\r\n model = {title: null, name: null, organizationTypeId: 0 };\r\n errorMessage: string = null;\r\n successMessage: string = null;\r\n isTextReadOnly: boolean = false;\r\n inputTextHolder: string = 'Enter organization name to search';\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private organizationService: OrganizationService, \r\n private errorModal: ErrorModalComponent, private router: Router, \r\n private storeService: StoreService,\r\n private organizationTypeService: OrganizationTypeService,\r\n private infoModal: InfoModalComponent,\r\n private securityService: SecurityHelperService) { \r\n }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditOrganization) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.getEnvelopeIds();\r\n this.loadOrganizationsAppliedForMerge();\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n }\r\n\r\n loadOrganizationsAppliedForMerge() {\r\n this.organizationService.getOrganizationsAppliedForMerge().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationsAppliedForMerge = data.map(d => d.id);\r\n }\r\n this.loadOrganizationTypes();\r\n }\r\n )\r\n }\r\n\r\n loadOrganizationTypes() {\r\n this.organizationTypeService.getOrganizationTypes().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationTypes = data;\r\n }\r\n this.loadOrganizations();\r\n }\r\n );\r\n }\r\n\r\n loadOrganizations() {\r\n this.organizationService.getOrganizationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationsList = data;\r\n this.filteredOrganizationsList = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n )\r\n }\r\n\r\n filterOrganizations() {\r\n this.filteredOrganizationsList = this.organizationsList.filter(o => o.organizationName.toLowerCase().indexOf(this.model.title.toLowerCase()) != -1);\r\n }\r\n\r\n selectOrganization(e) {\r\n var id = e.target.id.split('-')[1];\r\n var selectedOrganization = this.filteredOrganizationsList.filter(o => o.id == id);\r\n if (selectedOrganization.length > 0) {\r\n this.selectedOrganizations.push(selectedOrganization[0]);\r\n }\r\n this.filteredOrganizationsList = this.filteredOrganizationsList.filter(o => o.id != id);\r\n }\r\n\r\n deSelectOrganization(e) {\r\n var id = e.target.id.split('-')[1];\r\n var deSelectOrganization = this.selectedOrganizations.filter(o => o.id == id);\r\n if (deSelectOrganization.length > 0) {\r\n this.filteredOrganizationsList.push(deSelectOrganization[0]);\r\n }\r\n this.selectedOrganizations = this.selectedOrganizations.filter(o => o.id != id);\r\n if (id == this.envelopeOrganizationId) {\r\n this.envelopeOrganizationId = 0;\r\n }\r\n }\r\n\r\n getEnvelopeIds() {\r\n this.organizationService.getOrganizationIdsHavingEnvelope().subscribe(\r\n data => {\r\n if (data) {\r\n this.envelopeIds = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n checkIfOrganizationHasEnvelope(id: number) {\r\n return (this.envelopeIds.filter(e => e.id == id).length > 0 ? true : false);\r\n }\r\n\r\n checkIfOrganizationsHaveUsers() {\r\n if (this.model.organizationTypeId == 0) {\r\n this.errorMessage = 'Organization type is required';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (!this.model.name || this.model.name.length < 2 ) {\r\n this.errorMessage = Messages.INVALID_ORG_NAME;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.selectedOrganizations.length < 2) {\r\n this.errorMessage = Messages.ATLEAST_ORGANIZATION_MERGE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n var ids = this.selectedOrganizations.map(org => parseInt(org.id));\r\n var model = {\r\n ids: ids\r\n };\r\n\r\n var hasEnvelope = false;\r\n ids.forEach((id) => {\r\n var envelopeMatched = this.envelopeIds.filter(e => e.id == id);\r\n if (envelopeMatched.length > 0) {\r\n hasEnvelope = true;\r\n }\r\n });\r\n\r\n if (hasEnvelope && this.envelopeOrganizationId == 0) {\r\n this.errorMessage = 'Selection for organization is required whose data must be used for Envelope after merge.';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.blockUI.start('Wait working on merge...');\r\n this.organizationService.checkIfOrganizationsHaveUsers(model).subscribe(\r\n data => {\r\n if (data) {\r\n if (data.returnedId && data.returnedId > 0) {\r\n this.mergeOrganizationsRequest();\r\n } else if (data.returnedId == 0) {\r\n this.mergeOrganizations();\r\n } else {\r\n this.blockUI.stop();\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n mergeOrganizationsRequest() {\r\n var ids = this.selectedOrganizations.map(org => parseInt(org.id));\r\n var model = {\r\n newName: this.model.name,\r\n Ids: ids,\r\n organizationTypeId: parseInt(this.model.organizationTypeId.toString()),\r\n envelopeOrganizationId: this.envelopeOrganizationId\r\n };\r\n this.organizationService.addMergeOrganizationsRequest(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.successMessage = Messages.MERGE_ORG_REQUESTED;\r\n this.infoModal.openModal();\r\n this.selectedOrganizations = [];\r\n this.model.name = null;\r\n this.model.organizationTypeId = 0;\r\n this.envelopeOrganizationId = 0;\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n mergeOrganizations() {\r\n var ids = this.selectedOrganizations.map(org => org.id);\r\n var model = {\r\n newName: this.model.name,\r\n Ids: ids,\r\n organizationTypeId: parseInt(this.model.organizationTypeId.toString()),\r\n envelopeOrganizationId: this.envelopeOrganizationId\r\n };\r\n\r\n this.organizationService.mergeOrganizations(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('organizations');\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n renameOrganization() {\r\n if (this.selectedOrganizations.length == 0) {\r\n this.errorMessage = 'Select an organization to rename';\r\n this.errorModal.openModal();\r\n return false;\r\n } else if (this.selectedOrganizations.length > 1) {\r\n this.errorMessage = Messages.ONLY_ONE_ORGANIZATION_RENAME;\r\n this.errorModal.openModal;\r\n return false;\r\n }\r\n\r\n var id = this.selectedOrganizations.map(org => org.id)[0];\r\n var model = {\r\n name: this.model.name\r\n };\r\n this.blockUI.start('Renaming organization...');\r\n this.organizationService.renameOrganization(id, model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('organizations');\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n setEnvelopeOrganization(id: number) {\r\n this.envelopeOrganizationId = id;\r\n }\r\n\r\n isOrganizationAppliedForMerge(id: number) {\r\n return (this.organizationsAppliedForMerge.includes(id));\r\n }\r\n\r\n}\r\n","
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Organizations listing
\r\n
\r\n Loading organizations...\r\n
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n \r\n {{organization.organizationName}}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n No organizations to show\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n New name for merge is required\r\n
\r\n
\r\n\r\n
\r\n\r\n
Selected organizations
\r\n
\r\n
1\" class=\"text-info\">\r\n For organizations merge please indicate an organization from the list \r\n for envelope data adjustments. Envelope data for the selected organization will \r\n be assigned to the newly created organization after merge is completed \r\n successfully.\r\n
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n
\r\n \r\n {{organization.organizationName}}
\r\n
\r\n \r\n \r\n 1 && envelopeOrganizationId == organization.id\" class=\"margin-right-2\">\r\n \r\n \r\n 1 && envelopeOrganizationId != organization.id\" class=\"margin-right-2\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n No organizations to show\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'reports-panel',\r\n templateUrl: './reports-panel.component.html',\r\n styleUrls: ['./reports-panel.component.css']\r\n})\r\nexport class ReportsPanelComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { Settings } from '../config/settings';\r\nimport { HelpService } from '../services/help-service';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { StoreService } from '../services/store-service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\n\r\n@Component({\r\n selector: 'app-manage-help',\r\n templateUrl: './manage-help.component.html',\r\n styleUrls: ['./manage-help.component.css']\r\n})\r\nexport class ManageHelpComponent implements OnInit {\r\n helpTextLimit: number = Settings.helpTextLength;\r\n projectModel: any = { title: null, startDate: null, endDate: null, startingFinancialYear: null,\r\n endingFinancialYear: null, projectValue: null, description: null, fundingType: null };\r\n funderModel: any = { funder: null };\r\n implementerModel: any = { implementer: null };\r\n sectorModel: any = { sectorType: null, sector: null, mappingSector: null, percentage: null };\r\n locationModel: any = { location: null, percentage: null };\r\n documentModel: any = { document: null, documentUrl: null };\r\n disbursementModel: any = { disbursementActual: null, disbursementPlanned: null, year: null };\r\n\r\n currentTab: string = 'project';\r\n isProjectLoading: boolean = true;\r\n isFunderLoading: boolean = true;\r\n isSectorLoading: boolean = true;\r\n isLocationLoading: boolean = true;\r\n isImplementerLoading: boolean = true;\r\n isDisbursementLoading: boolean = true;\r\n isDocumentLoading: boolean = true;\r\n errorMessage: string = null;\r\n successMessage: string = null;\r\n requestNo: number = 0;\r\n\r\n displayTabs: any = [\r\n { visible: true, identity: 'project' },\r\n { visible: false, identity: 'funder' },\r\n { visible: false, identity: 'implementer' },\r\n { visible: false, identity: 'disbursement' },\r\n { visible: false, identity: 'document' },\r\n { visible: false, identity: 'sector' },\r\n { visible: false, identity: 'location' }\r\n ];\r\n\r\n tabConstants: any = {\r\n PROJECT: 'project',\r\n FUNDER: 'funder',\r\n IMPLEMENTER: 'implementer',\r\n DISBURSEMENT: 'disbursement',\r\n DOCUMENT: 'document',\r\n SECTOR: 'sector',\r\n LOCATION: 'location'\r\n };\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n \r\n constructor(private helpService: HelpService, private infoModal: InfoModalComponent,\r\n private errorModal: ErrorModalComponent, private storeService: StoreService) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n this.storeService.newReportItem(Settings.dropDownMenus.help);\r\n this.getHelpForProject();\r\n this.getHelpForFunder();\r\n this.getHelpForImplementer();\r\n this.getHelpForSector();\r\n this.getHelpForLocation();\r\n this.getHelpForDocuments();\r\n this.getHelpForDisbursements();\r\n }\r\n\r\n getHelpForProject() {\r\n this.helpService.getProjectHelpFields().subscribe(\r\n data => {\r\n if (data) {\r\n this.projectModel = data;\r\n }\r\n this.isProjectLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getHelpForFunder() {\r\n this.helpService.getProjectFunderHelpFields().subscribe(\r\n data => {\r\n if (data) {\r\n this.funderModel = data;\r\n }\r\n this.isFunderLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getHelpForImplementer() {\r\n this.helpService.getProjectImplementerHelpFields().subscribe(\r\n data => {\r\n if (data) {\r\n this.implementerModel = data;\r\n }\r\n this.isImplementerLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getHelpForSector() {\r\n this.helpService.getProjectSectorHelpFields().subscribe(\r\n data => {\r\n if (data) {\r\n this.sectorModel = data;\r\n }\r\n this.isSectorLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getHelpForLocation() {\r\n this.helpService.getProjectLocationHelpFields().subscribe(\r\n data => {\r\n if (data) {\r\n this.locationModel = data;\r\n }\r\n this.isLocationLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getHelpForDisbursements() {\r\n this.helpService.getProjectDisbursementsHelpFields().subscribe(\r\n data => {\r\n if (data) {\r\n this.disbursementModel = data;\r\n }\r\n this.isDisbursementLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getHelpForDocuments() {\r\n this.helpService.getProjectDocumentsHelpFields().subscribe(\r\n data => {\r\n if (data) {\r\n this.documentModel = data;\r\n }\r\n this.isDocumentLoading = false;\r\n }\r\n );\r\n }\r\n\r\n saveProjectHelp(frm: any) {\r\n this.blockUI.start('Saving help...');\r\n this.helpService.saveProjectHelp(this.projectModel).subscribe(\r\n data => {\r\n if (data) {\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n saveProjectFunderHelp(frm: any) {\r\n this.blockUI.start('Saving help...');\r\n this.helpService.saveProjectFunderHelp(this.funderModel).subscribe(\r\n data => {\r\n if (data) {\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n saveProjectImplementerHelp(frm: any) {\r\n this.blockUI.start('Saving help for Implementer...');\r\n this.helpService.saveProjectImplementerHelp(this.implementerModel).subscribe(\r\n data => {\r\n if (data) {\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n saveProjectDisbursementHelp(frm: any) {\r\n this.blockUI.start('Saving help for disbursement...');\r\n this.helpService.saveProjectDisbursementHelp(this.disbursementModel).subscribe(\r\n data => {\r\n if (data) {\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n saveProjectSectorHelp(frm: any) {\r\n this.blockUI.start('Saving help for sector...');\r\n this.helpService.saveProjectSectorHelp(this.sectorModel).subscribe(\r\n data => {\r\n if (data) {\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n saveProjectLocationHelp(frm: any) {\r\n this.blockUI.start('Saving help for location...');\r\n this.helpService.saveProjectLocationHelp(this.locationModel).subscribe(\r\n data => {\r\n if (data) {\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n saveProjectDocumentHelp(frm: any) {\r\n this.blockUI.start('Saving help for document...');\r\n this.helpService.saveProjectDocumentHelp(this.documentModel).subscribe(\r\n data => {\r\n if (data) {\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n showProjectTab() {\r\n this.manageTabsDisplay(this.tabConstants.PROJECT);\r\n }\r\n\r\n showFunderTab() {\r\n this.manageTabsDisplay(this.tabConstants.FUNDER);\r\n }\r\n\r\n showImplementerTab() {\r\n this.manageTabsDisplay(this.tabConstants.IMPLEMENTER);\r\n }\r\n\r\n showDisbursementTab() {\r\n this.manageTabsDisplay(this.tabConstants.DISBURSEMENT);\r\n }\r\n\r\n showDocumentTab() {\r\n this.manageTabsDisplay(this.tabConstants.DOCUMENT);\r\n }\r\n\r\n showSectorTab() {\r\n this.manageTabsDisplay(this.tabConstants.SECTOR);\r\n }\r\n\r\n showLocationTab() {\r\n this.manageTabsDisplay(this.tabConstants.LOCATION);\r\n }\r\n\r\n manageTabsDisplay(tabIdentity) {\r\n for (var i = 0; i < this.displayTabs.length; i++) {\r\n var tab = this.displayTabs[i];\r\n if (tab.identity == tabIdentity) {\r\n tab.visible = true;\r\n this.currentTab = tabIdentity;\r\n } else {\r\n tab.visible = false;\r\n }\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Help for project fields
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n Help for title is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for start date is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for end date is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for starting financial year is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for ending financial year is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for funding type is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for project value is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for project currency is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for description is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading project help fields...\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Help for funder fields
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for project funder is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading project funder help fields...\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Help for implementer fields
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for project implementer is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading project implementer help fields...\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Help for sector fields
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for sector type is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for sector is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for sector mapping is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for sector percentage is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading project sector help fields...\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Help for location fields
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for location is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for location percentage is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading project location help fields...\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Help for project disbursements fields
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for project Actual disbursement is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for project Planned disbursement is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for disbursement year is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading project document/resource help fields...\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Help for document/project resource fields
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for document/resource is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Help for document/resource URL is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading project document/resource help fields...\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit, Input, Injectable } from '@angular/core';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { Messages } from '../config/messages';\r\nimport { ModalService } from '../services/modal.service';\r\nimport { StoreService } from '../services/store-service';\r\n\r\n@Component({\r\n selector: 'join-project-modal',\r\n templateUrl: './join-project-modal.component.html',\r\n styleUrls: ['./join-project-modal.component.css']\r\n})\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JoinProjectModalComponent implements OnInit {\r\n\r\n @Input()\r\n projectId: number = 0;\r\n\r\n isError: boolean = false;\r\n errorMessage: string = null;\r\n isSuccess: boolean = false;\r\n successMessage: string = null;\r\n isBtnDisabled: boolean = false;\r\n requestNo: number = 0;\r\n btnText: string = 'Apply for membership';\r\n\r\n membershipTypes: any = [\r\n { id: 1, typeName: 'Funder' },\r\n { id: 2, typeName: 'Implementer' }\r\n ];\r\n\r\n model : any = { membershipTypeId: 1 };\r\n constructor(private projectService: ProjectService, private modalService: ModalService,\r\n private storeService: StoreService) { }\r\n\r\n ngOnInit() {\r\n this.resetMessageStatus();\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n applyForProjectMembership() {\r\n this.resetMessageStatus();\r\n if (this.projectId) {\r\n this.isBtnDisabled = true;\r\n this.btnText = 'Wait processing...';\r\n var model = {\r\n membershipType: parseInt(this.model.membershipTypeId),\r\n projectId: parseInt(this.projectId.toString())\r\n };\r\n this.projectService.applyForProjectMembership(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.isSuccess = true;\r\n this.successMessage = Messages.MEMBERSHIP_REQUEST_MESSAGE;\r\n this.btnText = 'Membership requested';\r\n setTimeout(() => {\r\n this.resetMessageStatus();\r\n this.closeModal();\r\n }, 3000);\r\n }\r\n this.btnText = 'Apply for membership';\r\n this.isBtnDisabled = false;\r\n }\r\n );\r\n }\r\n }\r\n\r\n resetMessageStatus() {\r\n this.isError = false;\r\n this.errorMessage = null;\r\n this.isSuccess = false;\r\n this.errorMessage = null;\r\n }\r\n\r\n openModal() {\r\n this.modalService.open('join-project-modal');\r\n }\r\n\r\n closeModal() {\r\n this.modalService.close('join-project-modal');\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
Create new membership
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n\r\n
\r\n \r\n Information! {{successMessage}}\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Membership type is required\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ExRateUsageService } from '../services/exrate-usage.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { Settings } from '../config/settings';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\n\r\n@Component({\r\n selector: 'app-exrate-usage',\r\n templateUrl: './exrate-usage.component.html',\r\n styleUrls: ['./exrate-usage.component.css']\r\n})\r\nexport class ExrateUsageComponent implements OnInit {\r\n exRatesUsageList: any = [];\r\n isLoading: boolean = false;\r\n permissions: any = {};\r\n requestNo: number = 0;\r\n errorMessage: string = null;\r\n pagingSize: number = Settings.rowsPerPage;\r\n @BlockUI() blockUI: NgBlockUI;\r\n \r\n constructor(private exRateUsageService: ExRateUsageService, private securityService: SecurityHelperService,\r\n private router: Router, private storeService: StoreService,\r\n private errorModal: ErrorModalComponent) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditCurrency) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n this.getExRateUsageSettings();\r\n }\r\n\r\n getExRateUsageSettings() {\r\n this.exRateUsageService.getExRateUsageList().subscribe(\r\n data => {\r\n if (data) {\r\n this.exRatesUsageList = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n edit(id: string) {\r\n if (id) {\r\n this.router.navigateByUrl('/manage-exchange-rate-usage/' + id);\r\n }\r\n }\r\n\r\n delete(id: string) {\r\n if (id) {\r\n this.blockUI.start('Wait deleting...');\r\n this.exRateUsageService.deleteExchangeRateUsage(id).subscribe(\r\n data => {\r\n if (data) {\r\n this.exRatesUsageList = this.exRatesUsageList.filter(e => e.id != id);\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n\r\n
\r\n
0\" class=\"col margin-top-10\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SourceUsage sectionOrderActions
{{e.source}}{{e.usageSection}}{{e.order}}\r\n \r\n  \r\n \r\n
\r\n \r\n
\r\n
\r\n No exchange rate usage settings to show\r\n
\r\n
\r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-not-found',\r\n templateUrl: './not-found.component.html',\r\n styleUrls: ['./not-found.component.css']\r\n})\r\nexport class NotFoundComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n

\r\n Oops! something went wrong. The page you are looking for not found. Click\r\n below to go to home page.\r\n

\r\n
\r\n\r\n
\r\n Go to home\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\nimport * as jsPDF from 'jspdf';\r\nimport html2canvas from 'html2canvas';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ReportService {\r\n pageHeight: number = Settings.pdfPrintPageHeight;\r\n pageHeightLandscape: number = Settings.pdfPrintPageHeightLandscape;\r\n pageHeightLarge: number = Settings.pdfPrintPageHeightLarge;\r\n screenConstants: any = {\r\n TWENTY_FIVE_SIXTY: 2560,\r\n TWENTY_FOURTY_EIGHT: 2048,\r\n NINETEEN_TWENTY: 1920,\r\n SIXTEEN_EIGHTY: 1680,\r\n SIXTEEN_HUNDRED: 1600,\r\n FOURTEEN_FOURTY: 1440,\r\n THIRTEEN_SIXTY_SIX: 1366,\r\n TWELVE_EIGHTY: 1280,\r\n TEN_TWENTY_FOUR: 1024,\r\n EIGHT_HUNDRED: 800\r\n };\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService, \r\n private storeService: StoreService) { }\r\n\r\n\r\n getSectorProjectsReport(sectorsIds: any = [], year: any = 0) {\r\n var model = {\r\n year: year,\r\n sectorIds: sectorsIds\r\n };\r\n var url = this.urlHelper.getSectorProjectsReportUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Projects By Ids')));\r\n }\r\n\r\n getBudgetReport() {\r\n var url = this.urlHelper.getBudgetReportUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Budget Report')));\r\n }\r\n\r\n getBudgetSummaryReport() {\r\n var url = this.urlHelper.getBudgetSummaryReportUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Budget Report')));\r\n }\r\n\r\n getAllProjectsReport(model: any) {\r\n var url = this.urlHelper.getAllProjectsReportUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('All Projects Report')));\r\n }\r\n\r\n getReportNames() {\r\n var url = this.urlHelper.getReportNamesUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Report Names')));\r\n }\r\n\r\n getSectorWiseProjectsReport(model: any) {\r\n var url = this.urlHelper.getSectorProjectsReportUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Projects Report by Sectors')));\r\n }\r\n\r\n getNoSectorProjectsReport(model: any) {\r\n var url = this.urlHelper.getNoSectorProjectsReportUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Projects Report for No Sectors')));\r\n }\r\n\r\n getNoLocationProjectsReport(model: any) {\r\n var url = this.urlHelper.getNoLocationProjectsReportUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Projects Report for No Sectors')));\r\n }\r\n\r\n getEnvelopeReport(model: any) {\r\n var url = this.urlHelper.getEnvelopeReportUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Envelope Report')));\r\n }\r\n\r\n getLocationWiseProjectsReport(model: any) {\r\n var url = this.urlHelper.getLocationProjectsReportUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Projects Report by Sectors')));\r\n }\r\n\r\n getYearlyProjectsReport(model: any) {\r\n var url = this.urlHelper.getYearlyProjectsReportUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Projects Report by Years')));\r\n }\r\n\r\n /*generatePDF(reportElement) {\r\n var quotes = document.getElementById(reportElement);\r\n var result = html2canvas(quotes)\r\n .then((canvas) => {\r\n var container = document.querySelector(\".row\");\r\n //var docWidth = container.getBoundingClientRect().width;\r\n var docWidth = container.clientWidth;\r\n var pageHeight = this.pageHeight;\r\n //! MAKE YOUR PDF\r\n var pdf = null;\r\n if (docWidth > 1920) {\r\n pdf = new jsPDF('l', 'pt', 'letter');\r\n } else {\r\n pdf = new jsPDF('p', 'pt', 'letter');\r\n }\r\n for (var i = 0; i <= quotes.clientHeight / pageHeight; i++) {\r\n //! This is all just html2canvas stuff\r\n var srcImg = canvas;\r\n var sX = 0;\r\n var sY = pageHeight * i; // start this.pageHeight pixels down for every new page\r\n var sWidth = docWidth;\r\n var sHeight = pageHeight;\r\n var dX = 0;\r\n var dY = 0;\r\n var dWidth = docWidth;\r\n var dHeight = pageHeight;\r\n \r\n var onePageCanvas = document.createElement(\"canvas\");\r\n onePageCanvas.setAttribute('width', docWidth.toString());\r\n onePageCanvas.setAttribute('height', this.pageHeight.toString());\r\n var ctx = onePageCanvas.getContext('2d');\r\n // details on this usage of this function: \r\n // https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Using_images#Slicing\r\n //ctx.drawImage(srcImg, sX, sY, sWidth, sHeight, dX, dY, dWidth, dHeight);\r\n ctx.drawImage(srcImg, sX, sY, sWidth, sHeight, dX, dY, dWidth, dHeight);\r\n \r\n // document.body.appendChild(canvas);\r\n var canvasDataURL = onePageCanvas.toDataURL(\"image/png\", 1.0);\r\n var width = onePageCanvas.width;\r\n var height = onePageCanvas.height;\r\n //var height = onePageCanvas.clientHeight;\r\n //! If we're on anything other than the first page,\r\n // add another page\r\n if (i > 0) {\r\n //var widthInPoints = parseInt((dWidth * .72).toString());\r\n //var heightInPoints = parseInt((dHeight * .72).toString());\r\n //pdf.addPage([widthInPoints, heightInPoints]);\r\n if (width > this.screenConstants.NINETEEN_TWENTY) {\r\n pdf.addPage([792, 612]);\r\n } else {\r\n pdf.addPage([612, 792]); //8.5\" x 11\" in pts (in*72)\r\n }\r\n }\r\n //! now we declare that we're working on that page\r\n pdf.setPage(i + 1);\r\n\r\n if (width > this.screenConstants.NINETEEN_TWENTY) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .30), (height * .35));\r\n } else if (width <= this.screenConstants.SIXTEEN_EIGHTY && width > this.screenConstants.SIXTEEN_HUNDRED) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .36), (height * .45));\r\n } else if (width <= this.screenConstants.SIXTEEN_HUNDRED && width > this.screenConstants.FOURTEEN_FOURTY) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .38), (height * .45));\r\n } else if (width <= this.screenConstants.FOURTEEN_FOURTY && width > this.screenConstants.THIRTEEN_SIXTY_SIX) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .42), (height * .45));\r\n } else if(width <= this.screenConstants.THIRTEEN_SIXTY_SIX && width > this.screenConstants.TWELVE_EIGHTY) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .44), (height * .45));\r\n } else if (width <= this.screenConstants.TWELVE_EIGHTY && width > this.screenConstants.TEN_TWENTY_FOUR) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .52), (height * .45));\r\n } else if (width <= this.screenConstants.TEN_TWENTY_FOUR && width > this.screenConstants.EIGHT_HUNDRED) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .60), (height * .45));\r\n } else {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .70), (height * .45));\r\n }\r\n }\r\n pdf.save('Report.pdf');\r\n });\r\n return result;\r\n }*/\r\n\r\n generatePDF(reportElement, yAxis: number = 0) {\r\n var quotes = document.getElementById(reportElement);\r\n var result = html2canvas(quotes)\r\n .then((canvas) => {\r\n var container = document.querySelector(\".row\");\r\n var aspectRatio = window.devicePixelRatio;\r\n //var docWidth = container.getBoundingClientRect().width;\r\n var docWidth = (container.clientWidth * aspectRatio);\r\n var pageHeight = this.pageHeight;\r\n if (docWidth > this.screenConstants.NINETEEN_TWENTY) {\r\n pageHeight = this.pageHeightLandscape;\r\n }\r\n //! MAKE YOUR PDF\r\n var pdf = null;\r\n if (docWidth > this.screenConstants.NINETEEN_TWENTY) {\r\n pdf = new jsPDF('l', 'pt', 'a4');\r\n } else {\r\n pdf = new jsPDF('p', 'pt', 'a4');\r\n }\r\n\r\n var reportHeight = ((quotes.clientHeight * aspectRatio) / pageHeight);\r\n for (var i = 0; i <= reportHeight; i++) {\r\n //! This is all just html2canvas stuff\r\n var srcImg = canvas;\r\n var sX = 0;\r\n var sY = pageHeight * i; // start this.pageHeight pixels down for every new page\r\n var sWidth = docWidth;\r\n var sHeight = pageHeight;\r\n var dX = 0;\r\n var dY = 0;\r\n var dWidth = docWidth;\r\n var dHeight = pageHeight;\r\n\r\n if (yAxis > 0) {\r\n dY += yAxis;\r\n }\r\n \r\n var onePageCanvas = document.createElement(\"canvas\");\r\n onePageCanvas.setAttribute('width', docWidth.toString());\r\n onePageCanvas.setAttribute('height', this.pageHeight.toString());\r\n var ctx = onePageCanvas.getContext('2d');\r\n ctx.drawImage(srcImg, sX, sY, sWidth, sHeight, dX, dY, dWidth, dHeight);\r\n \r\n var canvasDataURL = onePageCanvas.toDataURL(\"image/png\", 1.0);\r\n var width = onePageCanvas.width;\r\n var height = onePageCanvas.height;\r\n if (i > 0) {\r\n if (width > this.screenConstants.NINETEEN_TWENTY) {\r\n pdf.addPage([ 841.89, 595.28]);\r\n } else {\r\n pdf.addPage([ 595.28, 841.89]); \r\n }\r\n }\r\n pdf.setPage(i + 1);\r\n if (width > this.screenConstants.TWENTY_FOURTY_EIGHT) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .33), (height * .36), undefined, 'FAST');\r\n } else if (width <= this.screenConstants.TWENTY_FOURTY_EIGHT && width > this.screenConstants.NINETEEN_TWENTY) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .40), (height * .35), undefined, 'FAST');\r\n } else if (width <= this.screenConstants.NINETEEN_TWENTY && width > this.screenConstants.SIXTEEN_EIGHTY) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .30), (height * .45), undefined, 'FAST');\r\n } else if (width <= this.screenConstants.SIXTEEN_EIGHTY && width > this.screenConstants.SIXTEEN_HUNDRED) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .35), (height * .45), undefined, 'FAST');\r\n } else if (width <= this.screenConstants.SIXTEEN_HUNDRED && width > this.screenConstants.FOURTEEN_FOURTY) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .36), (height * .45), undefined, 'FAST');\r\n } else if (width <= this.screenConstants.FOURTEEN_FOURTY && width > this.screenConstants.THIRTEEN_SIXTY_SIX) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .41), (height * .45), undefined, 'FAST');\r\n } else if(width <= this.screenConstants.THIRTEEN_SIXTY_SIX && width > this.screenConstants.TWELVE_EIGHTY) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .43), (height * .45), undefined, 'FAST');\r\n } else if (width <= this.screenConstants.TWELVE_EIGHTY && width > this.screenConstants.TEN_TWENTY_FOUR) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .47), (height * .45), undefined, 'FAST');\r\n } else if (width <= this.screenConstants.TEN_TWENTY_FOUR && width > this.screenConstants.EIGHT_HUNDRED) {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .59), (height * .45), undefined, 'FAST');\r\n } else {\r\n pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width * .70), (height * .45), undefined, 'FAST');\r\n }\r\n }\r\n pdf.save('Report.pdf');\r\n });\r\n return result;\r\n }\r\n\r\n}","import { Component, OnInit, Output, EventEmitter, Injectable } from '@angular/core';\r\nimport { OrganizationService } from '../services/organization-service';\r\nimport { ModalService } from '../services/modal.service';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Messages } from '../config/messages';\r\n\r\n@Component({\r\n selector: 'create-org-modal',\r\n templateUrl: './create-org-modal.component.html',\r\n styleUrls: ['./create-org-modal.component.css']\r\n})\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CreateOrgModalComponent implements OnInit {\r\n newOrganizations: any = [];\r\n organizationForm: any = null;\r\n organization: string = null;\r\n isError: boolean = false;\r\n errorMessage: string = null;\r\n isSuccess: boolean = false;\r\n successMessage: string = Messages.ORG_CREATED_ADD_ANOTHER;\r\n organizationTypes: any = [];\r\n model: any = { organizationTypeId: null, name: null };\r\n isBtnDisabled: boolean = false;\r\n btnText: string = 'Save organization';\r\n isDataLoading: boolean = true;\r\n requestNo: number = 0;\r\n\r\n @Output() \r\n organizationCreated = new EventEmitter();\r\n \r\n constructor(private organizationService: OrganizationService, private modalService: ModalService,\r\n private storeService: StoreService) { }\r\n\r\n ngOnInit() {\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n this.isBtnDisabled = false;\r\n this.btnText = 'Save organization';\r\n }\r\n });\r\n this.getOrganizationTypes();\r\n }\r\n\r\n saveOrganization(frm: any) {\r\n this.isSuccess = false;\r\n this.isBtnDisabled = true;\r\n this.organizationForm = frm;\r\n this.btnText = 'Saving...';\r\n if (this.model.organizationTypeId) {\r\n this.model.organizationTypeId = parseInt(this.model.organizationTypeId);\r\n this.organizationService.addOrganization(this.model).subscribe(\r\n data => {\r\n if (data) {\r\n this.model.id = data;\r\n var model = {\r\n id: this.model.id,\r\n organizationName: this.model.name,\r\n sourceType: 'User',\r\n organizationTypeId: this.model.organizationTypeId\r\n }\r\n this.newOrganizations.push(model);\r\n this.isSuccess = true;\r\n this.model.organizationTypeId = null;\r\n this.model.name = null;\r\n this.model.id = 0;\r\n this.isBtnDisabled = false;\r\n this.btnText = 'Save organization';\r\n this.organizationForm.resetForm();\r\n /*this.updateFundersImplementers();\r\n setTimeout(() => {\r\n this.modalService.close('create-org-modal');\r\n }, 1000);*/\r\n }\r\n }\r\n );\r\n }\r\n \r\n }\r\n\r\n openModal() {\r\n this.modalService.open('create-org-modal');\r\n }\r\n\r\n closeModal() {\r\n if (this.newOrganizations.length > 0) {\r\n this.model.sourceType = 'User';\r\n this.organizationCreated.emit(this.newOrganizations);\r\n }\r\n this.modalService.close('create-org-modal');\r\n }\r\n\r\n getOrganizationTypes() {\r\n this.organizationService.getOrganizationTypes().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationTypes = data;\r\n }\r\n this.isDataLoading = false;\r\n }\r\n );\r\n }\r\n\r\n updateFundersImplementers() {\r\n /*var model = {\r\n id: this.model.id,\r\n organizationName: this.model.name,\r\n sourceType: 'User',\r\n organizationTypeId: this.model.organizationTypeId\r\n }*/\r\n\r\n this.model.sourceType = 'User';\r\n //this.organizationCreated.emit(model);\r\n this.organizationCreated.emit(this.newOrganizations);\r\n this.modalService.close('create-org-modal');\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
Create new organization
\r\n
\r\n
\r\n Wait setting up...\r\n
\r\n\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n\r\n
\r\n \r\n Information! {{successMessage}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Organization Name is required\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Organization Name is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n
\r\n
\r\n
","import { Directive, Input, ElementRef, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[elFocus]'\r\n})\r\nexport class FocusDirective {\r\n @Input('elFocus') isFocused: boolean;\r\n\r\n constructor(private hostElement: ElementRef, private renderer: Renderer2) { }\r\n\r\n ngOnInit() {\r\n if (this.isFocused) {\r\n this.hostElement.nativeElement.focus();\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileUploadService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) { }\r\n\r\n uploadOldExcelFile(formData: any) {\r\n var url = this.urlHelper.getOldExcelImportUrl();\r\n return this.httpClient.post(url, \r\n formData, {reportProgress: true, observe: 'events'}\r\n );\r\n }\r\n\r\n uploadNewExcelFile(formData: any) {\r\n var url = this.urlHelper.getNewExcelImportUrl();\r\n return this.httpClient.post(url, \r\n formData, {reportProgress: true, observe: 'events'}\r\n );\r\n }\r\n\r\n uploadLatestExcelFile(formData: any) {\r\n var url = this.urlHelper.getLatestExcelImportUrl();\r\n return this.httpClient.post(url, \r\n formData, {reportProgress: true, observe: 'events'}\r\n );\r\n }\r\n\r\n uploadEnvelopeDataFile(formData: any) {\r\n var url = this.urlHelper.getEnvelopeDataImportUrl();\r\n return this.httpClient.post(url, \r\n formData, {reportProgress: true, observe: 'events'}\r\n );\r\n }\r\n\r\n uploadOrganizationTypesFile(formData: any) {\r\n var url = this.urlHelper.getOrganizationTypesImportUrl();\r\n return this.httpClient.post(url, \r\n formData, {reportProgress: true, observe: 'events'}\r\n );\r\n }\r\n\r\n uploadGhostOrgsFixFile(formData: any) {\r\n var url = this.urlHelper.getFixGhostOrgsImportUrl();\r\n return this.httpClient.post(url, \r\n formData, {reportProgress: true, observe: 'events'}\r\n );\r\n }\r\n\r\n}\r\n","import { ModuleWithProviders, Component, NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { UserRegistrationComponent } from './user-registration/user-registration.component';\r\nimport { UserOrgRegistrationComponent } from './user-org-registration/user-org-registration.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { ProjectsComponent } from './projects/projects.component';\r\nimport { ReportsPanelComponent } from './reports-panel/reports-panel.component';\r\nimport { ManagementComponent } from './management/management.component';\r\nimport { NotificationComponent } from './notification/notification.component';\r\nimport { OrganizationsComponent } from './organizations/organizations.component';\r\nimport { ManageOrganizationComponent } from './manage-organization/manage-organization.component';\r\nimport { LocationsComponent } from './locations/locations.component';\r\nimport { ManageLocationComponent } from './manage-location/manage-location.component';\r\nimport { SectorTypesComponent } from './sector-types/sector-types.component';\r\nimport { ManageSectortypeComponent } from './manage-sectortype/manage-sectortype.component';\r\nimport { SectorsComponent } from './sectors/sectors.component';\r\nimport { ManageSectorComponent } from './manage-sector/manage-sector.component';\r\nimport { PasswordChangeComponent } from './password-change/password-change.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { ManageProjectComponent } from './manage-project/manage-project.component';\r\nimport { ViewProjectComponent } from './view-project/view-project.component';\r\nimport { ProjectLocationComponent } from './project-location/project-location.component';\r\nimport { ProjectSectorComponent } from './project-sector/project-sector.component';\r\nimport { ProjectFunderComponent } from './project-funder/project-funder.component';\r\nimport { ProjectImplementerComponent } from './project-implementer/project-implementer.component';\r\nimport { ProjectDisbursementComponent } from './project-disbursement/project-disbursement.component';\r\nimport { ProjectDocumentComponent } from './project-document/project-document.component';\r\nimport { NewProjectComponent } from './new-project/new-project.component';\r\nimport { ProjectEntryComponent } from './project-entry/project-entry.component';\r\nimport { SectorReportComponent } from './report-components/sector-report/sector-report.component';\r\nimport { IatiSettingsComponent } from './iati-settings/iati-settings.component';\r\nimport { SmtpSettingsComponent } from './smtp-settings/smtp-settings.component';\r\nimport { ManageAccountComponent } from './manage-account/manage-account.component';\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\nimport { CurrenciesComponent } from './currencies/currencies.component';\r\nimport { ManageCurrencyComponent } from './manage-currency/manage-currency.component';\r\nimport { FinancialYearsComponent } from './financial-years/financial-years.component';\r\nimport { ManageYearComponent } from './manage-year/manage-year.component';\r\nimport { UserSubscriptionComponent } from './user-subscription/user-subscription.component';\r\nimport { MergeProjectsComponent } from './merge-projects/merge-projects.component';\r\nimport { MergeOrganizationComponent } from './merge-organization/merge-organization.component';\r\nimport { DeleteOrganizationComponent } from './delete-organization/delete-organization.component';\r\nimport { DeleteLocationComponent } from './delete-location/delete-location.component';\r\nimport { DeleteSectorComponent } from './delete-sector/delete-sector.component';\r\nimport { SectorMappingsComponent } from './sector-mappings/sector-mappings.component';\r\nimport { ExrateSettingsComponent } from './exrate-settings/exrate-settings.component';\r\nimport { EnvelopeComponent } from './envelope/envelope.component';\r\nimport { MarkersComponent } from './markers/markers.component';\r\nimport { ManageMarkersComponent } from './manage-markers/manage-markers.component';\r\nimport { DeleteMarkerComponent } from './delete-marker/delete-marker.component';\r\nimport { FundingTypesComponent } from './funding-types/funding-types.component';\r\nimport { ManageFundingTypeComponent } from './manage-funding-type/manage-funding-type.component';\r\nimport { EmailMessagesComponent } from './email-messages/email-messages.component';\r\nimport { ManageEmailMessageComponent } from './manage-email-message/manage-email-message.component';\r\nimport { DeleteSectortypeComponent } from './delete-sectortype/delete-sectortype.component';\r\nimport { LocationReportComponent } from './report-components/location-report/location-report.component';\r\nimport { ProjectReportComponent } from './report-components/project-report/project-report.component';\r\nimport { BudgetReportComponent } from './report-components/budget-report/budget-report.component';\r\nimport { ProjectMembershipComponent } from './project-membership/project-membership.component';\r\nimport { MembershipRequestsComponent } from './membership-requests/membership-requests.component';\r\nimport { ContactFormComponent } from './contact-form/contact-form.component';\r\nimport { TimeTrendReportComponent } from './report-components/time-trend-report/time-trend-report.component';\r\nimport { NotFoundComponent } from './not-found/not-found.component';\r\nimport { BudgetReportSummaryComponent } from './report-components/budget-report-summary/budget-report-summary.component';\r\nimport { DataImportComponent } from './data-import/data-import.component';\r\nimport { ContactProjectComponent } from './contact-project/contact-project.component';\r\nimport { ExrateUsageComponent } from './exrate-usage/exrate-usage.component';\r\nimport { ManageExrateUsageComponent } from './manage-exrate-usage/manage-exrate-usage.component';\r\nimport { HomePageSettingsComponent } from './home-page-settings/home-page-settings.component';\r\nimport { ManageHelpComponent } from './manage-help/manage-help.component';\r\nimport { DataEntryComponent } from './data-entry/data-entry/data-entry.component';\r\nimport { ManageEnvelopeTypeComponent } from './manage-envelope-type/manage-envelope-type.component';\r\nimport { EnvelopeTypesComponent } from './envelope-types/envelope-types.component';\r\nimport { DeleteEnvelopeTypeComponent } from './delete-envelope-type/delete-envelope-type.component';\r\nimport { EnvelopeReportComponent } from './report-components/envelope-report/envelope-report.component';\r\nimport { DataBackupComponent } from './data-backup/data-backup.component';\r\nimport { AllProjectsReportComponent } from './report-components/all-projects-report/all-projects-report.component';\r\nimport { OrganizationTypesComponent } from './organization-types/organization-types.component';\r\nimport { ManageOrganizationTypeComponent } from './manage-organization-type/manage-organization-type.component';\r\nimport { DeleteOrganizationTypeComponent } from './delete-organization-type/delete-organization-type.component';\r\nimport { FinancialYearSettingsComponent } from './financial-year-settings/financial-year-settings.component';\r\nimport { EmailUsersComponent } from './email-users/email-users.component';\r\nimport { UserManagerComponent } from './user-manager/user-manager.component';\r\nimport { DocumentLinkComponent } from './document-link/document-link.component';\r\nimport { ManageDocumentLinkComponent } from './manage-document-link/manage-document-link.component';\r\nimport { ContactMessagesComponent } from './contact-messages/contact-messages.component';\r\nimport { SublocationsComponent } from './sublocations/sublocations.component';\r\nimport { ManageSubLocationsComponent } from './manage-sublocations/manage-sublocations.component';\r\nimport { SponsorLogosComponent } from './sponsor-logos/sponsor-logos.component';\r\nimport { ManageSponsorLogosComponent } from './manage-sponsor-logos/manage-sponsor-logos.component';\r\n\r\n// Route Configuration\r\nconst routes: Routes = [\r\n { path: '', component: HomeComponent},\r\n { path: 'home', component: HomeComponent},\r\n { path: 'login', component: LoginComponent },\r\n { path: 'user-registration', component: UserRegistrationComponent},\r\n { path: 'user-org-registration', component: UserOrgRegistrationComponent },\r\n { path: 'password-change', component: PasswordChangeComponent },\r\n { path: 'forgot-password', component: ForgotPasswordComponent },\r\n { path: 'reset-password', component: ResetPasswordComponent},\r\n { path: 'projects', component: ProjectsComponent },\r\n { path: 'reports-panel', component: ReportsPanelComponent},\r\n { path: 'management', component: ManagementComponent },\r\n { path: 'notification', component: NotificationComponent },\r\n { path: 'contact-messages', component: ContactMessagesComponent},\r\n { path: 'organizations', component: OrganizationsComponent},\r\n { path: 'organization-types', component: OrganizationTypesComponent},\r\n { path: 'delete-organization/:{id}', component: DeleteOrganizationComponent },\r\n { path: 'delete-organization-type/:{id}', component: DeleteOrganizationTypeComponent },\r\n { path: 'manage-organization/:{id}', component: ManageOrganizationComponent, data: { isForEdit: true } },\r\n { path: 'manage-organization', component: ManageOrganizationComponent },\r\n { path: 'manage-organization-type/:{id}', component: ManageOrganizationTypeComponent, data: { isForEdit: true } },\r\n { path: 'manage-organization-type', component: ManageOrganizationTypeComponent },\r\n { path: 'locations', component: LocationsComponent },\r\n { path: 'sublocations', component: SublocationsComponent },\r\n { path: 'manage-location/:{id}', component: ManageLocationComponent, data: { isForEdit: true } },\r\n { path: 'manage-sublocation/:{id}', component: ManageSubLocationsComponent, data: { isForEdit: true } },\r\n { path: 'delete-location/:{id}', component: DeleteLocationComponent },\r\n { path: 'manage-location', component: ManageLocationComponent },\r\n { path: 'manage-sublocation', component: ManageSubLocationsComponent },\r\n { path: 'sector-types', component: SectorTypesComponent },\r\n { path: 'manage-sectortype/:{id}', component: ManageSectortypeComponent, data: { isForEdit: true } },\r\n { path: 'manage-sectortype', component: ManageSectortypeComponent },\r\n { path: 'delete-sectortype/:{id}', component: DeleteSectortypeComponent },\r\n { path: 'sectors', component: SectorsComponent },\r\n { path: 'manage-sector', component: ManageSectorComponent },\r\n { path: 'manage-sector/:{id}', component: ManageSectorComponent, data: { isForEdit: true } },\r\n { path: 'delete-sector/:{id}', component: DeleteSectorComponent },\r\n { path: 'sector-mappings', component: SectorMappingsComponent},\r\n { path: 'projects', component: ProjectsComponent },\r\n { path: 'manage-project/:{id}', component: ManageProjectComponent, data: { isForEdit: true } },\r\n { path: 'manage-project', component: ManageProjectComponent },\r\n { path: 'new-project', component: NewProjectComponent},\r\n { path: 'view-project/:{id}', component: ViewProjectComponent },\r\n { path: 'project-location/:{id}', component: ProjectLocationComponent },\r\n { path: 'project-sector/:{id}', component: ProjectSectorComponent },\r\n { path: 'project-funder/:{id}', component: ProjectFunderComponent },\r\n { path: 'project-implementer/:{id}', component: ProjectImplementerComponent },\r\n { path: 'project-disbursement/:{id}', component: ProjectDisbursementComponent },\r\n { path: 'project-document/:{id}', component: ProjectDocumentComponent },\r\n { path: 'project-entry', component: ProjectEntryComponent },\r\n { path: 'data-entry', component: DataEntryComponent },\r\n { path: 'sectors-report', component: SectorReportComponent },\r\n { path: 'data-export', component: AllProjectsReportComponent },\r\n { path: 'locations-report', component: LocationReportComponent },\r\n { path: 'time-trend-report', component: TimeTrendReportComponent },\r\n { path: 'budget-report', component: BudgetReportComponent },\r\n { path: 'envelope-report', component: EnvelopeReportComponent },\r\n { path: 'iati-settings', component: IatiSettingsComponent },\r\n { path: 'smtp-settings', component: SmtpSettingsComponent },\r\n { path: 'home-page-settings', component: HomePageSettingsComponent},\r\n { path: 'manage-account', component: ManageAccountComponent },\r\n { path: 'currencies', component: CurrenciesComponent },\r\n { path: 'manage-currency', component: ManageCurrencyComponent },\r\n { path: 'manage-users', component: UserManagerComponent },\r\n { path: 'manage-currency/:{id}', component: ManageCurrencyComponent, data: { isForEdit: true } },\r\n { path: 'financial-years', component: ManageYearComponent },\r\n { path: 'financial-year-settings', component: FinancialYearSettingsComponent },\r\n { path: 'manage-year', component: ManageYearComponent},\r\n { path: 'user-subscriptions', component: UserSubscriptionComponent },\r\n { path: 'merge-projects', component: MergeProjectsComponent },\r\n { path: 'merge-organizations', component: MergeOrganizationComponent},\r\n { path: 'exchange-rate-settings', component: ExrateSettingsComponent },\r\n { path: 'exchange-rate-usage', component: ExrateUsageComponent },\r\n { path: 'manage-exchange-rate-usage', component: ManageExrateUsageComponent },\r\n { path: 'manage-exchange-rate-usage/:{id}', component: ManageExrateUsageComponent, data: { isForEdit: true } },\r\n { path: 'envelope-types', component: EnvelopeTypesComponent },\r\n { path: 'envelope', component: EnvelopeComponent},\r\n { path: 'manage-envelope-type', component: ManageEnvelopeTypeComponent},\r\n { path: 'manage-envelope-type/:{id}', component: ManageEnvelopeTypeComponent, data: { isForEdit: true }},\r\n { path: 'delete-envelope-type/:{id}', component: DeleteEnvelopeTypeComponent },\r\n { path: 'markers', component: MarkersComponent },\r\n { path: 'manage-markers', component: ManageMarkersComponent },\r\n { path: 'manage-markers/:{id}', component: ManageMarkersComponent, data: { isForEdit: true } },\r\n { path: 'delete-marker/:{id}', component: DeleteMarkerComponent },\r\n { path: 'funding-types', component: FundingTypesComponent },\r\n { path: 'manage-funding-type', component: ManageFundingTypeComponent },\r\n { path: 'manage-funding-type/:{id}', component: ManageFundingTypeComponent, data: { isForEdit: true } },\r\n { path: 'email-messages', component: EmailMessagesComponent },\r\n { path: 'email-users', component: EmailUsersComponent },\r\n { path: 'manage-email-message', component: ManageEmailMessageComponent },\r\n { path: 'manage-email-message/:{id}', component: ManageEmailMessageComponent, data: { isForEdit: true } },\r\n { path: 'sponsors', component: SponsorLogosComponent},\r\n { path: 'manage-sponsors', component: ManageSponsorLogosComponent },\r\n { path: 'manage-sponsors/:{id}', component: ManageSponsorLogosComponent, data: { isForEdit: true } },\r\n { path: 'project-membership/:{id}', component: ProjectMembershipComponent },\r\n { path: 'contact-project/:{id}', component: ContactProjectComponent },\r\n { path: 'membership-requests', component: MembershipRequestsComponent },\r\n { path: 'data-import', component: DataImportComponent },\r\n { path: 'contact', component: ContactFormComponent },\r\n { path: 'help-text', component: ManageHelpComponent },\r\n { path: 'data-backup', component: DataBackupComponent },\r\n { path: 'document-links', component: DocumentLinkComponent },\r\n { path: 'manage-document-link', component: ManageDocumentLinkComponent },\r\n { path: '**', component: NotFoundComponent },\r\n];\r\n\r\n//export const Routing: ModuleWithProviders = RouterModule.forRoot(routes, { relativeLinkResolution: \"legacy\" });\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule {\r\n}\r\n/*\r\nAdding children to main routes\r\nchildren: [\r\n {path: '', redirectTo: 'tracks'},\r\n {path: 'tracks', component: ArtistTrackListComponent},\r\n {path: 'albums', component: ArtistAlbumListComponent},\r\n ] },*/","import { Component, OnInit } from '@angular/core';\r\nimport { IATIService } from '../services/iati.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { Messages } from '../config/messages';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-iati-settings',\r\n templateUrl: './iati-settings.component.html',\r\n styleUrls: ['./iati-settings.component.css']\r\n})\r\nexport class IatiSettingsComponent implements OnInit {\r\n\r\n btnText: string = 'Save IATI Settings';\r\n errorMessage: string = null;\r\n iatiMessage: string = null;\r\n isIATILoading: boolean = false;\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n infoMessage: string = null;\r\n countriesList: any = [];\r\n iatiSettingsOld: any = { baseUrl: null, helpText: null, isActive: false, sourceType: 1 };\r\n iatiSettingsNew: any = { baseUrl: null, helpText: null, isActive: false, sourceType: 2 };\r\n permissions: any = {};\r\n isLoading: boolean = true;\r\n iatiSettingsType: any = {\r\n OLD: 1,\r\n NEW: 2\r\n };\r\n iatiSettingsTypesList: any = [\r\n {\r\n id: 1,\r\n text: 'Old'\r\n },\r\n {\r\n id: 2,\r\n text: 'New'\r\n }\r\n ];\r\n\r\n //Overlay UI blocker\r\n @BlockUI() blockUI: NgBlockUI;\r\n\r\n constructor(private iatiService: IATIService, private infoModal: InfoModalComponent,\r\n private errorModal: ErrorModalComponent,\r\n private securityService: SecurityHelperService,\r\n private router: Router, private storeService: StoreService) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canDoSMTPSettings) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.getIATISettings();\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n }\r\n\r\n getIATISettings() {\r\n this.iatiService.getIATISettingsList().subscribe(\r\n data => {\r\n if (data) {\r\n var settings = data.filter(s => s.sourceType == this.iatiSettingsType.OLD);\r\n if (settings.length > 0) {\r\n this.iatiSettingsOld = settings[0];\r\n }\r\n\r\n var settingsNew = data.filter(s => s.sourceType == this.iatiSettingsType.NEW);\r\n if (settingsNew.length > 0) {\r\n this.iatiSettingsNew = settingsNew[0];\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n saveIATISettings(sourceType) {\r\n var model = {};\r\n if (sourceType == this.iatiSettingsType.OLD) {\r\n model = this.iatiSettingsOld;\r\n } else if (sourceType == this.iatiSettingsType.NEW) {\r\n model = this.iatiSettingsNew;\r\n }\r\n\r\n this.blockUI.start('Saving IATI Settings. If you have changed the active souce, please be patient, it will take time.');\r\n this.iatiService.setIATISettings(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.infoMessage = 'IATI Settings' + Messages.SAVED_SUCCESSFULLY;\r\n //this.infoModal.openModal();\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n loadLatestIATI() {\r\n this.iatiService.loadLatestIATI().subscribe(\r\n data => {\r\n if (data) {\r\n this.iatiMessage = 'IATI loaded successfully';\r\n setTimeout(() => {\r\n this.isIATILoading = false;\r\n }, 5000);\r\n }\r\n }\r\n );\r\n }\r\n\r\n toggleActive(sourceType) {\r\n if (sourceType == this.iatiSettingsType.OLD) {\r\n this.iatiSettingsOld.isActive = !this.iatiSettingsOld.isActive;\r\n this.iatiSettingsNew.isActive = !this.iatiSettingsOld.isActive;\r\n } else if (sourceType == this.iatiSettingsType.NEW) {\r\n this.iatiSettingsNew.isActive = !this.iatiSettingsNew.isActive;\r\n this.iatiSettingsOld.isActive = !this.iatiSettingsNew.isActive;\r\n }\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Information! {{iatiMessage}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
IATI URL Settings (Old data store)
\r\n
\r\n
\r\n \r\n   \r\n\r\n
\r\n Base Url is required\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n  Use this source for IATI?\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Help text is required\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
IATI URL Settings (New data store)
\r\n
\r\n\r\n
\r\n \r\n   \r\n
\r\n Base Url is required\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n  Use this source for IATI?\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Help text is required\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n","import { Directive, ElementRef, Renderer2 } from \"@angular/core\";\r\n\r\n\r\n@Directive({ selector: '[preventCutCopyPaste]' })\r\n\r\nexport class CopyPasteDirective {\r\n constructor(el: ElementRef, renderer: Renderer2) {\r\n var events = 'cut copy paste';\r\n events.split(' ').forEach(e => \r\n renderer.listen(el.nativeElement, e, (event) => {\r\n event.preventDefault();\r\n})\r\n );\r\n \r\n }\r\n}","export const Settings = {\r\n secretKey: \"XYT!M#U7QER&$$U098!\",\r\n userPermissions: {\r\n manager: {\r\n canDo: true,\r\n }\r\n ,\r\n standard: {\r\n canDo: true\r\n }\r\n },\r\n dropDownMenus: {\r\n home: 1,\r\n entry: 2,\r\n projects: 3,\r\n management: 4,\r\n reports: 5,\r\n contact: 6,\r\n help: 7,\r\n notifications: 8,\r\n backup: 9\r\n },\r\n dropDownMenusConstants: {\r\n HOME: 1,\r\n DATA_ENTRY: 2,\r\n PROJECTS: 3,\r\n MANAGEMENT: 4,\r\n REPORTS: 5,\r\n CONTACT: 6,\r\n HELP: 7,\r\n NOTIFICATIONS: 8,\r\n BACKUP: 9\r\n },\r\n pdfPrintPageHeight: 1550,\r\n pdfPrintPageHeightLandscape: 1250,\r\n pdfPrintPageHeightLarge: 2200,\r\n rowsPerPage: 10,\r\n yearLimit: 100,\r\n descriptionLowLimit: 500,\r\n descriptionMediumLimit: 800,\r\n descriptionLongLimit: 3000,\r\n introductionLimit: 1000,\r\n emailMessageLimit: 1500,\r\n mediumRowsPerPage: 20,\r\n displayMessageTime: 10000,\r\n helpTextLength: 500,\r\n entryTabConstants: {\r\n BASIC: 1,\r\n FINANCIALS: 2,\r\n SECTORS: 3,\r\n FINISH: 4\r\n },\r\n months: [\r\n { id: 1, month: 'January' },\r\n { id: 2, month: 'February' },\r\n { id: 3, month: 'March' },\r\n { id: 4, month: 'April' },\r\n { id: 5, month: 'May' },\r\n { id: 6, month: 'June' },\r\n { id: 7, month: 'July' },\r\n { id: 8, month: 'August' },\r\n { id: 9, month: 'September' },\r\n { id: 10, month: 'October' },\r\n { id: 11, month: 'November' },\r\n { id: 12, month: 'December' },\r\n ],\r\n financialRangeConstants: [\r\n { id: 1, label: 'Less than 1 Million' },\r\n { id: 2, label: 'Less than 10 Million' },\r\n { id: 3, label: 'Less than 20 Million' },\r\n { id: 4, label: 'Less than 30 Million' },\r\n { id: 5, label: 'Less than 40 Million' },\r\n { id: 6, label: 'Less than 50 Million' },\r\n { id: 7, label: '1 to 10 Million' },\r\n { id: 8, label: '10 to 20 Million' },\r\n { id: 9, label: '20 to 30 Million' },\r\n { id: 10, label: '30 to 40 Million' },\r\n { id: 11, label: '40 to 50 Million' },\r\n { id: 12, label: '50 Million or more' },\r\n ],\r\n permissions: {\r\n standard: {\r\n canManageUsers: false,\r\n canManage: false,\r\n canEditCurrency: false,\r\n canEditOrganization: false,\r\n canEditLocation: false,\r\n canEditSectorType: false,\r\n canEditSectorCategory: false,\r\n canEditSectorSubCategory: false,\r\n canEditSector: false,\r\n canEditProject: true,\r\n canEditYear: false,\r\n canDoSMTPSettings: false,\r\n canDoIATISettings: false,\r\n canDoHomePageSettings: false,\r\n canEditEnvelopeType: false,\r\n canEditEnvelope: true,\r\n canEditCustomFields: false,\r\n canEditFundingType: false,\r\n canEditEmailMessage: false,\r\n canEditNotifications: true,\r\n canEditHelp: false,\r\n canTakeBackup: false,\r\n canEditDocument: false,\r\n canEditContactMessages: false,\r\n canEditSponsors: false\r\n },\r\n manager: {\r\n canManageUsers: true,\r\n canManage: true,\r\n canEditCurrency: true,\r\n canEditOrganization: true,\r\n canEditLocation: true,\r\n canEditSectorType: true,\r\n canEditSectorCategory: true,\r\n canEditSectorSubCategory: true,\r\n canEditSector: true,\r\n canEditProject: true,\r\n canEditYear: true,\r\n canDoSMTPSettings: true,\r\n canDoIATISettings: true,\r\n canDoHomePageSettings: true,\r\n canEditEnvelopeType: true,\r\n canEditEnvelope: true,\r\n canEditCustomFields: true,\r\n canEditFundingType: true,\r\n canEditEmailMessage: true,\r\n canEditNotifications: true,\r\n canEditHelp: true,\r\n canTakeBackup: true,\r\n canEditDocument: true,\r\n canEditContactMessages: true,\r\n canEditSponsors: true\r\n },\r\n superAdmin: {\r\n canManageUsers: true,\r\n canManage: true,\r\n canEditCurrency: true,\r\n canEditOrganization: true,\r\n canEditLocation: true,\r\n canEditSectorType: true,\r\n canEditSectorCategory: true,\r\n canEditSectorSubCategory: true,\r\n canEditSector: true,\r\n canEditProject: true,\r\n canEditYear: true,\r\n canDoSMTPSettings: true,\r\n canDoIATISettings: true,\r\n canDoHomePageSettings: true,\r\n canEditEnvelopeType: true,\r\n canEditEnvelope: true,\r\n canEditCustomFields: true,\r\n canEditFundingType: true,\r\n canEditEmailMessage: true,\r\n canEditNotifications: true,\r\n canEditHelp: true,\r\n canTakeBackup: true,\r\n canEditDocument: true,\r\n canEditContactMessages: false,\r\n canEditSponsors: true\r\n },\r\n guest: {\r\n canManageUsers: false,\r\n canManage: false,\r\n canEditCurrency: false,\r\n canEditOrganization: false,\r\n canEditLocation: false,\r\n canEditSectorType: false,\r\n canEditSectorCategory: false,\r\n canEditSectorSubCategory: false,\r\n canEditSector: false,\r\n canEditProject: false,\r\n canEditYear: false,\r\n canDoSMTPSettings: false,\r\n canDoIATISettings: false,\r\n canDoHomePageSettings: false,\r\n canEditEnvelopeType: false,\r\n canEditEnvelope: false,\r\n canEditCustomFields: false,\r\n canEditFundingType: false,\r\n canEditEmailMessage: false,\r\n canEditNotifications: false,\r\n canEditHelp: false,\r\n canTakeBackup: false,\r\n canEditDocument: false,\r\n canEditContactMessages: false,\r\n canEditSponsors: false\r\n }\r\n },\r\n markerTypes: [\r\n {\r\n 'typeId': null,\r\n 'field': '--Select One--'\r\n },\r\n {\r\n 'typeId': 1,\r\n 'field': 'Dropdown'\r\n },\r\n {\r\n 'typeId': 2,\r\n 'field': 'Checkbox'\r\n },\r\n {\r\n 'typeId': 3,\r\n 'field': 'Text'\r\n },\r\n {\r\n 'typeId': 4,\r\n 'field': 'Radio'\r\n },\r\n\r\n ],\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { ReportService } from 'src/app/services/report.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { StoreService } from 'src/app/services/store-service';\r\nimport { SectorService } from 'src/app/services/sector.service';\r\nimport { FinancialYearService } from 'src/app/services/financial-year.service';\r\nimport { OrganizationService } from 'src/app/services/organization-service';\r\nimport { LocationService } from 'src/app/services/location.service';\r\nimport { CurrencyService } from 'src/app/services/currency.service';\r\nimport { ErrorModalComponent } from 'src/app/error-modal/error-modal.component';\r\nimport { Messages } from 'src/app/config/messages';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Settings } from 'src/app/config/settings';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { MarkerService } from 'src/app/services/marker.service';\r\nimport { UrlHelperService } from 'src/app/services/url-helper-service';\r\n\r\n@Component({\r\n selector: 'sector-report',\r\n templateUrl: './sector-report.component.html',\r\n styleUrls: ['./sector-report.component.css']\r\n})\r\nexport class SectorReportComponent implements OnInit {\r\n parentSectorsSummary: any = [];\r\n parentSectorsWithProjects: any = [];\r\n sectorProjectsList: any = [];\r\n parentSectorLabels: any = [];\r\n sectorsSettings: any = [];\r\n selectedSectors: any = [];\r\n selectedOrganizations: any = [];\r\n selectedLocations: any = [];\r\n selectedDataOptions: any = [];\r\n exchangeRates: any = [];\r\n selectedChartType: number = 1;\r\n organizationsSettings: any = {};\r\n projectsSettings: any = {};\r\n dataOptionSettings: any = {};\r\n locationsSettings: any = {};\r\n subLocationsSettings: any = {};\r\n markerValuesSettings: any = {};\r\n oldCurrencyRate: number = 0;\r\n oldCurrency: string = null;\r\n currencyRate: number = 0;\r\n manualExRate: any = 0;\r\n defaultCurrency: string = null;\r\n defaultCurrencyRate: number = 0;\r\n nationalCurrency: string = null;\r\n nationalCurrencyName: string = null;\r\n selectedCurrencyName: string = null;\r\n errorMessage: string = null;\r\n showChart: boolean = true;\r\n excelFile: string = null;\r\n chartCategory: number = 1;\r\n multiDataDisplay: boolean = true;\r\n datedToday: string = null;\r\n paramSectorIds: any = [];\r\n paramOrgIds: any = [];\r\n paramProjectIds: any = [];\r\n paramChartType: string = null;\r\n loadReport: boolean = false;\r\n isLoading: boolean = true;\r\n isDataLoading: boolean = true;\r\n isDefaultCurrencySet: boolean = true;\r\n requestNo: number = 0;\r\n pageHeight: number = Settings.pdfPrintPageHeight;\r\n btnReportText: string = 'Update report';\r\n isAnyFilterSet: boolean = false;\r\n isShowStackedChart: boolean = false;\r\n isNoSectorReport: boolean = false;\r\n yearsList: any = [];\r\n allSectorsList: any = [];\r\n sectorsList: any = [];\r\n markersList: any = [];\r\n markerValues: any = [];\r\n sectorIds: any = [];\r\n subSectorIds: any = [];\r\n subSubSectorIds: any = [];\r\n organizationsList: any = [];\r\n currenciesList: any = [];\r\n locationsList: any = [];\r\n subLocationsList: any = [];\r\n filteredSubLocationsList: any = [];\r\n exchangeRatesList: any = [];\r\n projects: any = [];\r\n selectedProjects: any = [];\r\n paramMarkerValues: any = [];\r\n paramMarkerValues2: any = [];\r\n paramSubLocationIds: any = [];\r\n\r\n chartOptions: any = [\r\n { id: 1, type: 'bar', title: 'Bar chart' },\r\n { id: 2, type: 'pie', title: 'Pie chart' },\r\n { id: 3, type: 'doughnut', title: 'Doughnut chart' },\r\n { id: 4, type: 'stacked-bar', title: 'Stacked bar chart' },\r\n ];\r\n\r\n chartTypes: any = {\r\n BAR: 'bar',\r\n PIE: 'pie',\r\n DOUGHNUT: 'doughnut',\r\n STACKEDBAR: 'stacked-bar'\r\n };\r\n\r\n chartTypeCodes: any = {\r\n BAR: 1,\r\n PIE: 2,\r\n DOUGHNUT: 3,\r\n STACKEDBAR: 4,\r\n };\r\n\r\n dataOptions: any = [\r\n { id: 1, type: 'actual-disbursements', value: 'Actual disbursements' },\r\n { id: 2, type: 'planned-disbursements', value: 'Planned disbursements' },\r\n { id: 3, type: 'total-disbursements', value: 'Total disbursements' }\r\n ];\r\n\r\n dataOptionsIndexForDoughnut: any = {\r\n 1: 0,\r\n 2: 1,\r\n 3: 2\r\n };\r\n\r\n sectorLevels: any = [\r\n { \"id\": 1, \"level\": \"Parent sectors\" },\r\n { \"id\": 2, \"level\": \"Sub sectors\" },\r\n ];\r\n\r\n sectorLevelCodes: any = {\r\n NO_SECTORS: 4,\r\n SECTORS: 1,\r\n SUB_SECTORS: 2,\r\n SUB_SUB_SECTORS: 3\r\n }\r\n\r\n\r\n dataOptionsCodes: any = {\r\n 'ACTUAL_DISBURSEMENTS': 1,\r\n 'PLANNED_DISBURSEMENTS': 2,\r\n 'DISBURSEMENTS': 3\r\n };\r\n\r\n dataOptionLabels: any = {\r\n ACTUAL_DISBURSEMENTS: 'Actual disbursements',\r\n PLANNED_DISBURSEMENTS: 'Planned disbursements',\r\n DISBURSEMENTS: 'Total disbursements'\r\n };\r\n\r\n exRateSourceCodes: any = {\r\n 'OPEN_EXCHANGE': 1,\r\n 'AFRICAN_BANK': 2\r\n };\r\n\r\n exRateSources: any = [\r\n { id: 1, value: 'Open exchange api' },\r\n { id: 2, value: 'African bank' }\r\n ];\r\n\r\n noSectorOptions: any = {\r\n PROJECTS_WITH_SECTORS: 1,\r\n PROJECTS_WITHOUT_SECTORS: 2\r\n };\r\n\r\n reportDataList: any = [];\r\n dropdownSettings: any = {};\r\n barChartOptions: any = {\r\n scaleShowVerticalLines: false,\r\n responsive: true,\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var tooltipValue = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n return parseInt(tooltipValue).toLocaleString();\r\n }\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n callback: function (value, index, values) {\r\n return value.toLocaleString(\"en-US\");\r\n }\r\n }\r\n }],\r\n xAxes: [{\r\n beginAtZero: true,\r\n ticks: {\r\n autoSkip: false\r\n }\r\n }],\r\n },\r\n plugins: {\r\n datalabels: {\r\n anchor: 'end',\r\n align: 'end',\r\n }\r\n }\r\n };\r\n\r\n stackedChartOptions: any = {\r\n responsive: true,\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var tooltipValue = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n return parseInt(tooltipValue).toLocaleString();\r\n }\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true,\r\n callback: function (value, index, values) {\r\n return value.toLocaleString(\"en-US\");\r\n }\r\n }\r\n }],\r\n xAxes: [{\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }]\r\n }\r\n };\r\n\r\n pieChartOptions: any = {\r\n responsive: true,\r\n legend: {\r\n position: 'top',\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var dataLabel = data.labels[tooltipItem.index];\r\n var value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index].toLocaleString();\r\n dataLabel += value;\r\n return dataLabel;\r\n }\r\n }\r\n }\r\n }\r\n\r\n radarChartOptions: any = {\r\n responsive: true,\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var dataLabel = data.labels[tooltipItem.index];\r\n var value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index].toLocaleString();\r\n dataLabel += value;\r\n return dataLabel;\r\n }\r\n }\r\n }\r\n }\r\n\r\n chartColors: any = [\r\n {\r\n backgroundColor: [\r\n \"#FF7360\", \"#6FC8CE\", \"#4cc6bb\", \"#fdd100\", \"#123ea9\"\r\n ]\r\n }\r\n ];\r\n chartLables: any = [];\r\n doughnutChartLabels: any = [];\r\n stackedChartLabels: any = [];\r\n barChartType: string = 'bar';\r\n stackedChartType: string = 'bar';\r\n chartLegend: boolean = true;\r\n chartData: any = [];\r\n stackedChartData: any = [];\r\n doughnutChartData: any = [];\r\n model: any = {\r\n title: '', organizationIds: [], startingYear: 0, endingYear: 0, parentSectorId: 0, chartType: 1,\r\n sectorIds: [], locationId: 0, selectedSectors: [], selectedOrganizations: [],\r\n selectedLocations: [], selectedSubLocations: [], selectedProjects: [], sectorsList: [], \r\n locationsList: [], subLocationsList: [], organizationsList: [],\r\n selectedCurrency: null, exRateSource: null, dataOption: 1, selectedDataOptions: [],\r\n selectedDataOption: 1, chartTypeName: 'bar', sectorLevel: this.sectorLevelCodes.SECTORS,\r\n noSectorOption: this.noSectorOptions.PROJECTS_WITH_SECTORS,\r\n markerId: 0, markerValue: null, markerValues: [], markerId2: 0, markerValues2: []\r\n };\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private reportService: ReportService, private storeService: StoreService,\r\n private sectorService: SectorService, private fyService: FinancialYearService,\r\n private organizationService: OrganizationService, private locationService: LocationService,\r\n private currencyService: CurrencyService, private errorModal: ErrorModalComponent,\r\n private route: ActivatedRoute, private projectService: ProjectService,\r\n private markerService: MarkerService,\r\n private urlService: UrlHelperService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.reports);\r\n this.model.chartType = this.chartTypeCodes.BAR;\r\n this.getDefaultCurrency();\r\n this.getNationalCurrency();\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.blockUI.stop();\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n if (this.route.snapshot.queryParams.load) {\r\n this.route.queryParams.subscribe(params => {\r\n if (params) {\r\n this.model.title = (params.title) ? params.title : null;\r\n this.isNoSectorReport = (params.noSectors) ? true : false;\r\n this.model.sectorLevel = (params.noSectors) ? this.sectorLevelCodes.NO_SECTORS : this.model.sectorLevel;\r\n this.model.startingYear = (params.syear) ? parseInt(params.syear) : 0;\r\n this.model.endingYear = (params.eyear) ? parseInt(params.eyear) : 0;\r\n this.model.locationId = (params.locationId) ? parseInt(params.locationId) : 0;\r\n this.paramSubLocationIds = (params.slocations) ? params.slocations.split(',').map(l => parseInt(l)) : [];\r\n this.paramProjectIds = (params.projects) ? params.projects.split(',').map(p => parseInt(p)) : [];\r\n this.paramSectorIds = (params.sectors) ? params.sectors.split(',').map(s => parseInt(s)) : [];\r\n this.paramOrgIds = (params.orgs) ? params.orgs.split(',').map(o => parseInt(o)) : [];\r\n this.model.markerId = (params.mid) ? parseInt(params.mid) : 0;\r\n this.model.markerId2 = (params.mid2) ? parseInt(params.mid2) : 0;\r\n this.paramChartType = (params.ctype) ? params.ctype : this.chartTypeCodes.BAR;\r\n this.model.sectorLevel = (params.level) ? parseInt(params.level) : this.sectorLevelCodes.SECTORS;\r\n if (this.model.sectorLevel) {\r\n this.manageSectorLevel();\r\n }\r\n if (params.mvalue) {\r\n this.paramMarkerValues = params.mvalue.split(',');\r\n }\r\n if (params.mvalue2) {\r\n this.paramMarkerValues2 = params.mvalue2.split(',');\r\n }\r\n this.loadReport = true;\r\n }\r\n });\r\n } else {\r\n this.searchProjectsByCriteriaReport();\r\n }\r\n this.getProjectTitles();\r\n this.getSectorsList();\r\n this.getLocationsList();\r\n this.getOrganizationsList();\r\n this.loadFinancialYears();\r\n this.getMarkers();\r\n\r\n this.sectorsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'sectorName',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.subLocationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'subLocation',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.projectsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'title',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.organizationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'organizationName',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.locationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'location',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.markerValuesSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'value',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.dataOptionSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'value',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n var dataOption = this.dataOptions.filter(o => o.id == 1);\r\n if (dataOption.length > 0) {\r\n this.model.selectedDataOptions.push(dataOption[0]);\r\n this.selectedDataOptions.push(this.dataOptionsCodes.ACTUAL_DISBURSEMENTS);\r\n }\r\n }\r\n\r\n displayTitle(project?: any): string | undefined {\r\n return (project) ? project.title : undefined;\r\n }\r\n\r\n getProjectTitles() {\r\n this.projectService.getProjectTitles().subscribe(\r\n data => {\r\n if (data) {\r\n this.projects = data;\r\n if (this.loadReport) {\r\n if (this.paramProjectIds.length > 0) {\r\n this.paramProjectIds.forEach(function (id) {\r\n var project = this.projects.filter(p => p.id == id);\r\n if (project.length > 0) {\r\n this.model.selectedProjects.push(project[0]);\r\n }\r\n }.bind(this));\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n manageSectorLevel() {\r\n this.model.selectedSectors = [];\r\n if (this.model.sectorLevel) {\r\n var level = parseInt(this.model.sectorLevel);\r\n switch (level) {\r\n case this.sectorLevelCodes.SECTORS:\r\n this.sectorsList = this.allSectorsList.filter(s => s.parentSectorId == 0);\r\n break;\r\n\r\n case this.sectorLevelCodes.SUB_SECTORS:\r\n this.sectorsList = this.allSectorsList.filter(s => this.subSectorIds.indexOf(s.id) != -1);\r\n break;\r\n\r\n case this.sectorLevelCodes.SUB_SUB_SECTORS:\r\n this.sectorsList = this.allSectorsList.filter(s => this.subSubSectorIds.indexOf(s.id) != -1);\r\n break;\r\n\r\n case this.sectorLevelCodes.NO_SECTORS:\r\n this.sectorsList = [];\r\n break;\r\n\r\n default:\r\n this.sectorsList = this.allSectorsList.filter(s => s.parentSectorId == 0);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n getManualExchangeRateForToday() {\r\n var dated = this.storeService.getCurrentDateSQLFormat();\r\n var model = {\r\n dated: dated\r\n };\r\n this.currencyService.getAverageCurrencyForDate(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.exchangeRates = data;\r\n var nationalCurrencyRate = this.exchangeRates.filter(c => c.currency == this.nationalCurrencyName);\r\n if (nationalCurrencyRate.length > 0) {\r\n this.manualExRate = nationalCurrencyRate[0].rate;\r\n this.oldCurrencyRate = 1;\r\n }\r\n }\r\n });\r\n }\r\n\r\n getDefaultCurrency() {\r\n this.currencyService.getDefaultCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultCurrency = data.currency;\r\n this.model.selectedCurrency = data.currency;\r\n this.oldCurrency = this.model.selectedCurrency;\r\n this.selectedCurrencyName = data.currencyName;\r\n this.currenciesList.push(data);\r\n } else {\r\n this.isDefaultCurrencySet = false;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getNationalCurrency() {\r\n this.currencyService.getNationalCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.nationalCurrency = data;\r\n this.nationalCurrencyName = data.currency;\r\n this.currenciesList.push(data);\r\n }\r\n this.getManualExchangeRateForToday();\r\n setTimeout(() => {\r\n this.isDataLoading = false;\r\n if (this.loadReport) {\r\n this.searchProjectsByCriteriaReport();\r\n }\r\n }, 3000);\r\n }\r\n );\r\n }\r\n\r\n getMarkers() {\r\n this.markerService.getMarkers().subscribe(\r\n data => {\r\n if (data) {\r\n this.markersList = data;\r\n if (this.model.markerId) {\r\n var values = (this.paramMarkerValues.length > 0) ? this.paramMarkerValues : [];\r\n this.getSelectedMarkerValues(values);\r\n }\r\n if (this.model.markerId2) {\r\n var values = (this.paramMarkerValues2.length > 0) ? this.paramMarkerValues2 : [];\r\n this.getSelectedMarkerValuesTwo(values);\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getSelectedMarkerValues(selectedValues: any = []) {\r\n this.markerValues = [];\r\n this.model.markerValues = [];\r\n if (this.model.markerId) {\r\n var values = this.markersList.filter(m => m.id == this.model.markerId).map(m => m.values);\r\n if (values && values.length > 0) {\r\n this.markerValues = JSON.parse(values);\r\n if (selectedValues.length > 0) {\r\n this.model.markerValues = this.markerValues.filter(m => selectedValues.indexOf(m.value) != -1);\r\n }\r\n };\r\n }\r\n }\r\n\r\n getSelectedMarkerValuesTwo(selectedValues: any = []) {\r\n this.markerValues = [];\r\n this.model.markerValues2 = [];\r\n if (this.model.markerId2) {\r\n var values = this.markersList.filter(m => m.id == this.model.markerId2).map(m => m.values);\r\n if (values && values.length > 0) {\r\n this.markerValues = JSON.parse(values);\r\n if (selectedValues.length > 0) {\r\n this.model.markerValues2 = this.markerValues.filter(m => selectedValues.indexOf(m.value) != -1);\r\n }\r\n };\r\n }\r\n }\r\n\r\n searchProjectsByCriteriaReport() {\r\n var currentDate = new Date();\r\n this.blockUI.start('Generating report...');\r\n this.chartLables = [];\r\n this.chartData = [];\r\n this.stackedChartData = [];\r\n this.parentSectorsSummary = [];\r\n this.parentSectorsWithProjects = [];\r\n var projectIds = [];\r\n\r\n if (this.model.selectedProjects.length > 0) {\r\n projectIds = this.model.selectedProjects.map(p => p.id);\r\n }\r\n\r\n var chartType = (this.loadReport) ? this.paramChartType : this.model.chartType;\r\n var searchModel = {\r\n projectIds: (this.loadReport) ? this.paramProjectIds : projectIds,\r\n locationId: (this.model.locationId) ? parseInt(this.model.locationId) : 0,\r\n subLocationIds: (this.loadReport) ? this.paramSubLocationIds : this.model.selectedSubLocations.map(o => o.id),\r\n startingYear: (this.model.startingYear) ? parseInt(this.model.startingYear) : 0,\r\n endingYear: (this.model.endingYear) ? parseInt(this.model.endingYear) : 0,\r\n organizationIds: (this.loadReport) ? this.paramOrgIds : this.model.selectedOrganizations.map(o => o.id),\r\n parentSectorId: (this.model.parentSectorId) ? parseInt(this.model.parentSectorId) : 0,\r\n sectorLevel: (this.model.sectorLevel) ? parseInt(this.model.sectorLevel) : 0,\r\n markerId: (this.model.markerId) ? parseInt(this.model.markerId) : 0,\r\n markerValues: (this.model.markerValues.length > 0) ? this.model.markerValues.map(v => v.value) : [],\r\n markerId2: (this.model.markerId2) ? parseInt(this.model.markerId2) : 0,\r\n markerValues2: (this.model.markerValues2.length > 0) ? this.model.markerValues2.map(v => v.value) : [],\r\n chartType: (chartType) ? parseInt(chartType) : 1,\r\n level: (this.model.sectorLevel) ? parseInt(this.model.sectorLevel) : 0,\r\n sectorIds: (this.loadReport) ? this.paramSectorIds : this.model.selectedSectors.map(s => s.id),\r\n };\r\n\r\n this.resetSearchResults();\r\n this.reportService.getSectorWiseProjectsReport(searchModel).subscribe(\r\n data => {\r\n this.reportDataList = data;\r\n this.btnReportText = 'Update report';\r\n if (this.reportDataList && this.reportDataList.sectorProjectsList) {\r\n this.reportDataList.sectorProjectsList.forEach((s) => {\r\n s.isDisplay = false;\r\n });\r\n\r\n var sectorProjectsList = this.reportDataList.sectorProjectsList;\r\n var sectorLevel = this.model.sectorLevel;\r\n if (sectorLevel == this.sectorLevelCodes.SECTORS && searchModel.sectorIds.length == 1) {\r\n sectorLevel = this.sectorLevelCodes.SUB_SECTORS;\r\n }\r\n\r\n if (sectorLevel == this.sectorLevelCodes.SECTORS) {\r\n var parentSectorIds = sectorProjectsList.map(item => item.parentSectorId)\r\n .filter((value, index, self) => self.indexOf(value) === index);\r\n\r\n parentSectorIds.forEach((pid) => {\r\n var sectors = sectorProjectsList.filter(s => (s.parentSectorId == pid));\r\n var actualDisbursements = 0;\r\n var plannedDisbursements = 0;\r\n var totalDisbursements = 0;\r\n var totalFunding = 0;\r\n var sectorName = '';\r\n var sectorId = 0;\r\n var projectsList: any = [];\r\n\r\n sectors.forEach((s) => {\r\n actualDisbursements += s.actualDisbursements;\r\n plannedDisbursements += s.plannedDisbursements;\r\n totalDisbursements += s.totalDisbursements;\r\n totalFunding += s.totalFunding;\r\n sectorName = (s.parentSector == null && s.parentSectorId == 0) ? s.sectorName : s.parentSector;\r\n sectorId = s.parentSectorId;\r\n\r\n var sectorProjects = s.projects;\r\n sectorProjects.forEach((p) => {\r\n if (projectsList.length > 0) {\r\n var projectAdded = projectsList.filter(project => project.projectId == p.projectId);\r\n if (projectAdded.length == 0) {\r\n projectsList.push(p);\r\n }\r\n } else {\r\n projectsList.push(p);\r\n }\r\n });\r\n });\r\n\r\n this.parentSectorsSummary.push({\r\n sectorName: sectorName,\r\n actualDisbursements: actualDisbursements,\r\n plannedDisbursements: plannedDisbursements,\r\n totalDisbursements: totalDisbursements,\r\n });\r\n this.parentSectorsSummary.sort(this.storeService.sortArrayByProperty(\"sectorName\"));\r\n\r\n this.parentSectorsWithProjects.push({\r\n sectorId: sectorId,\r\n sectorName: sectorName,\r\n actualDisbursements: actualDisbursements,\r\n plannedDisbursements: plannedDisbursements,\r\n totalDisbursements: totalDisbursements,\r\n totalFunding: totalFunding,\r\n projects: projectsList,\r\n isDisplay: false\r\n });\r\n this.chartLables.push(sectorName);\r\n });\r\n this.chartLables = this.chartLables.sort();\r\n this.sectorProjectsList = this.parentSectorsWithProjects;\r\n } else {\r\n this.chartLables = sectorProjectsList.map(p => p.sectorName).sort();\r\n this.sectorProjectsList = sectorProjectsList;\r\n }\r\n }\r\n\r\n if (this.sectorProjectsList.length > 1) {\r\n this.sectorProjectsList.sort((a, b) => (a.sectorName > b.sectorName) ? 1 : -1);\r\n this.sectorProjectsList.forEach((pl) => {\r\n pl.projects.sort((c, d) => (c.title > d.title) ? 1 : -1);\r\n });\r\n }\r\n\r\n if (this.reportDataList.reportSettings) {\r\n this.excelFile = this.reportDataList.reportSettings.excelReportName;\r\n this.setExcelFile();\r\n }\r\n\r\n if (!this.loadReport) {\r\n this.manageDataToDisplay();\r\n }\r\n\r\n this.model.selectedCurrency = this.defaultCurrency;\r\n this.blockUI.stop();\r\n setTimeout(() => {\r\n this.selectCurrency();\r\n this.datedToday = this.storeService.getLongDateString(currentDate);\r\n if (this.loadReport) {\r\n this.loadReport = false;\r\n if (chartType) {\r\n this.model.chartType = parseInt(chartType);\r\n this.manageDataToDisplay();\r\n }\r\n }\r\n }, 2000);\r\n }\r\n );\r\n\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n }, 1000);\r\n this.manageResetDisplay();\r\n }\r\n\r\n setupStackedChartData() {\r\n this.stackedChartData = [];\r\n this.stackedChartLabels = this.chartLables;\r\n var actualDisbursements = [];\r\n var plannedDisbursements = [];\r\n\r\n if (this.model.sectorLevel == this.sectorLevelCodes.SECTORS) {\r\n actualDisbursements = this.parentSectorsSummary.map(s => s.actualDisbursements);\r\n plannedDisbursements = this.parentSectorsSummary.map(s => s.plannedDisbursements);\r\n } else {\r\n actualDisbursements = this.sectorProjectsList.map(s => s.actualDisbursements);\r\n plannedDisbursements = this.sectorProjectsList.map(s => s.plannedDisbursements);\r\n }\r\n\r\n this.stackedChartData.push({\r\n data: actualDisbursements,\r\n label: 'Actual disbursements',\r\n stack: 'Stack 0'\r\n });\r\n\r\n this.stackedChartData.push({\r\n data: plannedDisbursements,\r\n label: 'Planned disbursements',\r\n stack: 'Stack 0'\r\n });\r\n\r\n setTimeout(() => {\r\n this.isShowStackedChart = true;\r\n }, 1000);\r\n }\r\n\r\n resetSearchResults() {\r\n this.chartData = [];\r\n this.chartLables = [];\r\n this.reportDataList = [];\r\n }\r\n\r\n formatFunders(funders: any = null) {\r\n var fundersStr = '';\r\n if (funders && funders.length > 0) {\r\n var funderNames = funders.map(f => f.funder);\r\n fundersStr = funderNames.join(', ');\r\n }\r\n return fundersStr;\r\n }\r\n\r\n formatImplementers(implementers: any = null) {\r\n var implementersStr = '';\r\n if (implementers && implementers.length > 0) {\r\n var implementerNames = implementers.map(i => i.implementer);\r\n implementersStr = implementerNames.join(', ');\r\n }\r\n return implementersStr;\r\n }\r\n\r\n loadFinancialYears() {\r\n this.fyService.getYearsList().subscribe(\r\n data => {\r\n this.yearsList = data;\r\n }\r\n );\r\n }\r\n\r\n generatePDF() {\r\n this.blockUI.start('Generating PDF...');\r\n setTimeout(() => {\r\n var result = Promise.resolve(this.reportService.generatePDF('rpt-sector-pdf-view'));\r\n result.then(() => {\r\n this.blockUI.stop();\r\n });\r\n }, 500);\r\n }\r\n\r\n printReport() {\r\n this.storeService.printReport('rpt-sector-project', 'Sectors report', this.selectedCurrencyName);\r\n }\r\n\r\n public chartClicked(e: any): void {\r\n }\r\n\r\n public chartHovered(e: any): void {\r\n }\r\n\r\n getSectorsList() {\r\n this.sectorService.getDefaultSectors().subscribe(\r\n data => {\r\n if (data) {\r\n var allSectorsList = data;\r\n this.allSectorsList = allSectorsList;\r\n var sectorsList = allSectorsList.filter(s => s.parentSector == null);\r\n this.sectorsList = sectorsList;\r\n var sectorIds = sectorsList.map(s => s.id);\r\n var subSectorsList = allSectorsList.filter(s => sectorIds.indexOf(s.parentSectorId) != -1);\r\n var subSectorIds = subSectorsList.map(s => s.id);\r\n this.subSectorIds = subSectorIds;\r\n var subSubSectors = allSectorsList.filter(s => subSectorIds.indexOf(s.parentSectorId) != -1);\r\n var subSubSectorIds = subSubSectors.map(s => s.id);\r\n this.subSubSectorIds = subSubSectorIds;\r\n\r\n if (this.subSubSectorIds.length > 0) {\r\n this.sectorLevels.push({\r\n id: 3,\r\n level: 'Sub-sub sectors'\r\n });\r\n this.sectorLevels.sort(s => s.id);\r\n }\r\n\r\n if (this.loadReport) {\r\n if (this.paramSectorIds.length > 0) {\r\n var sectorId = parseInt(this.paramSectorIds[0]);\r\n if (sectorIds.indexOf(sectorId) != -1) {\r\n this.model.sectorLevel = this.sectorLevelCodes.SECTORS;\r\n } else if (subSectorIds.indexOf(sectorId) != -1) {\r\n this.model.sectorLevel = this.sectorLevelCodes.SUB_SECTORS;\r\n } else if (subSubSectorIds.indexOf(sectorId) != -1) {\r\n this.model.sectorLevel = this.sectorLevelCodes.SUB_SUB_SECTORS;\r\n }\r\n\r\n this.manageSectorLevel();\r\n this.paramSectorIds.forEach(function (id) {\r\n var sector = allSectorsList.filter(s => s.id == id);\r\n if (sector.length > 0) {\r\n this.model.selectedSectors.push(sector[0]);\r\n }\r\n }.bind(this));\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getLocationsList() {\r\n this.locationService.getLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.locationsList = data;\r\n this.getSubLocationsList();\r\n }\r\n }\r\n );\r\n }\r\n\r\n getSubLocationsList() {\r\n this.locationService.getSubLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.subLocationsList = data;\r\n this.filteredSubLocationsList = data;\r\n if (this.loadReport) {\r\n if (this.paramSubLocationIds.length > 0) {\r\n this.paramSubLocationIds.forEach(function (id) {\r\n var subLocation = this.subLocationsList.filter(s => s.id == id);\r\n if (subLocation.length > 0) {\r\n this.model.selectedSubLocations.push(subLocation[0]);\r\n }\r\n }.bind(this));\r\n }\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n filterSubLocations() {\r\n this.model.filteredSubLocationsList = [];\r\n this.model.selectedSubLocations = [];\r\n if (this.model.locationId == 0) {\r\n this.filterSubLocations = this.subLocationsList;\r\n } else {\r\n this.filteredSubLocationsList = this.subLocationsList.filter(s => s.locationId == this.model.locationId);\r\n }\r\n }\r\n\r\n getOrganizationsList() {\r\n this.organizationService.getOrganizationsList().subscribe(\r\n data => {\r\n this.organizationsList = data;\r\n if (this.loadReport) {\r\n if (this.paramOrgIds.length > 0) {\r\n this.paramOrgIds.forEach(function (id) {\r\n var org = this.organizationsList.filter(o => o.id == id);\r\n if (org.length > 0) {\r\n this.model.selectedOrganizations.push(org[0]);\r\n }\r\n }.bind(this));\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n onChangeStartingYear() {\r\n if (this.model.startingYear != 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n onChangeEndingYear() {\r\n if (this.model.endingYear != 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n onChangeParentSector() {\r\n if (this.model.parentSectorId != 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n onChangeCurrency() {\r\n if (this.model.selectedCurrency) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n onProjectSelect(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onProjectSelectAll(items: any) {\r\n this.setFilter();\r\n }\r\n\r\n onProjectDeselect(item: any) {\r\n if (this.model.selectedProjects.length == 0) {\r\n this.manageResetDisplay();\r\n } else {\r\n this.setFilter();\r\n }\r\n }\r\n\r\n onProjectDeSelectAll(items: any) {\r\n this.model.selectedProjects = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n onSectorSelect(item: any) {\r\n var id = item.id;\r\n if (this.selectedSectors.indexOf(id) == -1) {\r\n this.selectedSectors.push(id);\r\n }\r\n this.setFilter();\r\n }\r\n\r\n onSectorDeSelect(item: any) {\r\n var id = item.id;\r\n var index = this.selectedSectors.indexOf(id);\r\n this.selectedSectors.splice(index, 1);\r\n if (this.model.selectedSectors.length == 0) {\r\n this.manageResetDisplay();\r\n } else {\r\n this.setFilter();\r\n }\r\n if (this.selectedSectors.length == 0) {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n onSectorSelectAll(items: any) {\r\n this.setFilter();\r\n }\r\n\r\n onSectorDeSelectAll(items: any) {\r\n this.model.selectedSectors = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n onOrganizationSelect(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onOrganizationDeSelect(item: any) {\r\n var id = item.id;\r\n if (this.selectedOrganizations.length == 0) {\r\n this.manageResetDisplay();\r\n } else {\r\n this.setFilter();\r\n }\r\n }\r\n\r\n onOrganizationSelectAll(items: any) {\r\n this.setFilter();\r\n }\r\n\r\n onOrganizationDeSelectAll(items: any) {\r\n this.model.selectedOrganizations = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n onSubLocationSelect(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onSubLocationDeSelect(item: any) {\r\n if (this.model.selectedLocations.length == 0) {\r\n this.manageResetDisplay();\r\n } \r\n }\r\n\r\n onSubLocationSelectAll(items: any) {\r\n this.setFilter();\r\n }\r\n\r\n onSubLocationDeSelectAll(items: any) {\r\n this.model.selectedLocations = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n changeLocation() {\r\n if (this.model.locationId != 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n this.model.selectedSubLocations = [];\r\n this.filterSubLocations();\r\n }\r\n\r\n manageDataToDisplay() {\r\n this.chartData = [];\r\n var selectedDataOption = 1;\r\n var chartType = (this.loadReport) ? this.paramChartType : this.model.chartType;\r\n if (this.model.selectedDataOption) {\r\n this.selectedDataOptions = [];\r\n selectedDataOption = parseInt(this.model.selectedDataOption);\r\n this.selectedDataOptions.push(selectedDataOption);\r\n }\r\n selectedDataOption = parseInt(this.model.selectedDataOption);\r\n var tChartType = this.chartOptions.filter(c => c.id == chartType);\r\n if (tChartType.length > 0) {\r\n this.model.chartTypeName = tChartType[0].type;\r\n }\r\n\r\n if (chartType == this.chartTypeCodes.STACKEDBAR) {\r\n this.setupStackedChartData();\r\n } else if (chartType != this.chartTypeCodes.PIE && chartType != this.chartTypeCodes.POLAR) {\r\n this.manageDataOptions();\r\n } else {\r\n switch (selectedDataOption) {\r\n case this.dataOptionsCodes.ACTUAL_DISBURSEMENTS:\r\n this.chartData = this.sectorProjectsList.map(p => p.actualDisbursements);\r\n break;\r\n\r\n case this.dataOptionsCodes.PLANNED_DISBURSEMENTS:\r\n this.chartData = this.sectorProjectsList.map(p => p.plannedDisbursements);\r\n break;\r\n\r\n case this.dataOptionsCodes.DISBURSEMENTS:\r\n this.chartData = this.sectorProjectsList.map(p => p.totalDisbursements);\r\n break;\r\n\r\n default:\r\n this.chartData = this.sectorProjectsList.map(p => p.actualDisbursements);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n getGrandTotalFundingForSector() {\r\n var totalFunding = 0;\r\n if (this.reportDataList && this.reportDataList.sectorProjectsList) {\r\n this.reportDataList.sectorProjectsList.forEach(function (p) {\r\n totalFunding += p.totalDisbursements;\r\n });\r\n }\r\n return totalFunding;\r\n }\r\n\r\n getGrandTotalActualDisbursementForSector() {\r\n var totalDisbursement = 0;\r\n if (this.reportDataList && this.reportDataList.sectorProjectsList) {\r\n this.reportDataList.sectorProjectsList.forEach(function (p) {\r\n totalDisbursement += p.actualDisbursements;\r\n });\r\n }\r\n return totalDisbursement;\r\n }\r\n\r\n getGrandTotalPlannedDisbursementForSector() {\r\n var totalDisbursement = 0;\r\n if (this.reportDataList && this.reportDataList.sectorProjectsList) {\r\n this.reportDataList.sectorProjectsList.forEach(function (p) {\r\n totalDisbursement += p.plannedDisbursements;\r\n });\r\n }\r\n return totalDisbursement;\r\n }\r\n\r\n convertAmountsToCurrency() {\r\n if (this.reportDataList && this.reportDataList.sectorProjectsList) {\r\n this.reportDataList.sectorProjectsList.forEach(function (p) {\r\n p.totalDisbursements = 0;\r\n });\r\n }\r\n }\r\n\r\n manageDataOptions() {\r\n if (this.selectedDataOptions.length > 0 && this.sectorProjectsList) {\r\n this.chartData = [];\r\n this.doughnutChartData = [];\r\n this.showChart = false;\r\n\r\n if (this.selectedDataOptions.indexOf(this.dataOptionsCodes.ACTUAL_DISBURSEMENTS) != -1) {\r\n var isDataExists = this.chartData.filter(d => d.label == this.dataOptionLabels.ACTUAL_DISBURSEMENTS);\r\n if (isDataExists.length == 0) {\r\n var actualDisbursements = this.sectorProjectsList.map(p => p.actualDisbursements);\r\n var chartData = { data: actualDisbursements, label: this.dataOptionLabels.ACTUAL_DISBURSEMENTS };\r\n this.chartData.push(chartData);\r\n this.doughnutChartData.push(actualDisbursements);\r\n this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.ACTUAL_DISBURSEMENTS] = (this.doughnutChartData.length - 1);\r\n }\r\n } else {\r\n this.chartData = this.chartData.filter(d => d.label != this.dataOptionLabels.ACTUAL_DISBURSEMENTS);\r\n this.doughnutChartData.splice(this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.ACTUAL_DISBURSEMENTS], 1);\r\n }\r\n\r\n if (this.selectedDataOptions.indexOf(this.dataOptionsCodes.PLANNED_DISBURSEMENTS) != -1) {\r\n var isDataExists = this.chartData.filter(d => d.label == this.dataOptionLabels.PLANNED_DISBURSEMENTS);\r\n if (isDataExists.length == 0) {\r\n var plannedDisbursements = this.sectorProjectsList.map(p => p.plannedDisbursements);\r\n var chartData = { data: plannedDisbursements, label: this.dataOptionLabels.PLANNED_DISBURSEMENTS };\r\n this.chartData.push(chartData);\r\n this.doughnutChartData.push(plannedDisbursements);\r\n this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.PLANNED_DISBURSEMENTS] = (this.doughnutChartData.length - 1);\r\n }\r\n } else {\r\n this.chartData = this.chartData.filter(d => d.label != this.dataOptionLabels.PLANNED_DISBURSEMENTS);\r\n this.doughnutChartData.splice(this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.PLANNED_DISBURSEMENTS], 1);\r\n }\r\n\r\n if (this.selectedDataOptions.indexOf(this.dataOptionsCodes.DISBURSEMENTS) != -1) {\r\n var isDataExists = this.chartData.filter(d => d.label == this.dataOptionLabels.DISBURSEMENTS);\r\n if (isDataExists.length == 0) {\r\n var totalDisbursements = this.sectorProjectsList.map(p => p.totalDisbursements);\r\n var chartData = { data: totalDisbursements, label: this.dataOptionLabels.DISBURSEMENTS };\r\n this.chartData.push(chartData);\r\n this.doughnutChartData.push(totalDisbursements);\r\n this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.DISBURSEMENTS] = (this.doughnutChartData.length - 1);\r\n }\r\n } else {\r\n this.chartData = this.chartData.filter(d => d.label != this.dataOptionLabels.DISBURSEMENTS);\r\n this.doughnutChartData.splice(this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.DISBURSEMENTS], 1);\r\n }\r\n\r\n if (this.selectedDataOptions.length > 0) {\r\n setTimeout(() => {\r\n this.showChart = true;\r\n }, 1000);\r\n }\r\n }\r\n\r\n if (this.selectedDataOptions.length == 0 && this.chartData.length > 0) {\r\n this.chartData = [];\r\n this.doughnutChartData = [];\r\n setTimeout(() => {\r\n this.showChart = true;\r\n }, 1000);\r\n }\r\n }\r\n\r\n selectCurrency() {\r\n if (this.model.selectedCurrency == null || this.model.selectedCurrency == 'null') {\r\n return false;\r\n } else {\r\n var selectedCurrency = this.currenciesList.filter(c => c.currency == this.model.selectedCurrency);\r\n if (selectedCurrency.length > 0) {\r\n this.selectedCurrencyName = selectedCurrency[0].currencyName;\r\n }\r\n }\r\n if (this.model.selectedCurrency) {\r\n this.getCurrencyRates();\r\n }\r\n }\r\n\r\n getCurrencyRates() {\r\n var exRate: number = 0;\r\n var calculatedRate = 0;\r\n if (this.manualExRate == 0) {\r\n this.errorMessage = Messages.EX_RATE_NOT_FOUND;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.model.selectedCurrency == this.defaultCurrency) {\r\n exRate = 1;\r\n } else {\r\n exRate = this.manualExRate;\r\n }\r\n\r\n if (this.oldCurrencyRate == 0) {\r\n this.oldCurrencyRate = 1;\r\n }\r\n calculatedRate = (exRate / this.oldCurrencyRate);\r\n this.oldCurrencyRate = exRate;\r\n this.oldCurrency = this.model.selectedCurrency;\r\n\r\n if (calculatedRate > 0 && calculatedRate != 1) {\r\n this.applyRateOnFinancials(calculatedRate);\r\n }\r\n }\r\n\r\n applyRateOnFinancials(calculatedRate: number) {\r\n if (this.reportDataList && this.reportDataList.sectorProjectsList) {\r\n this.reportDataList.sectorProjectsList.forEach(function (sector) {\r\n sector.totalFunding = Math.round(parseFloat(((sector.totalFunding * calculatedRate).toFixed(2))));\r\n sector.totalDisbursements = Math.round(parseFloat(((sector.totalDisbursements * calculatedRate).toFixed(2))));\r\n sector.actualDisbursements = Math.round(parseFloat(((sector.actualDisbursements * calculatedRate).toFixed(2))));\r\n sector.plannedDisbursements = Math.round(parseFloat(((sector.plannedDisbursements * calculatedRate).toFixed(2))));\r\n\r\n if (sector.projects && sector.projects.length > 0) {\r\n sector.projects.forEach(function (project) {\r\n project.projectCost = Math.round(parseFloat(((project.projectCost * calculatedRate).toFixed(2))));\r\n project.actualDisbursements = Math.round(parseFloat(((project.actualDisbursements * calculatedRate).toFixed(2))));\r\n project.plannedDisbursements = Math.round(parseFloat(((project.plannedDisbursements * calculatedRate).toFixed(2))));\r\n });\r\n }\r\n });\r\n\r\n this.parentSectorsSummary.forEach((p) => {\r\n p.actualDisbursements = Math.round(parseFloat(((p.actualDisbursements * calculatedRate).toFixed(2))));\r\n p.plannedDisbursements = Math.round(parseFloat(((p.plannedDisbursements * calculatedRate).toFixed(2))));\r\n p.totalDisbursements = Math.round(parseFloat(((p.totalDisbursements * calculatedRate).toFixed(2))));\r\n });\r\n\r\n this.sectorProjectsList.forEach((s) => {\r\n s.actualDisbursements = Math.round(parseFloat(((s.actualDisbursements * calculatedRate).toFixed(2))));\r\n s.plannedDisbursements = Math.round(parseFloat(((s.plannedDisbursements * calculatedRate).toFixed(2))));\r\n s.totalDisbursements = Math.round(parseFloat(((s.totalDisbursements * calculatedRate).toFixed(2))));\r\n });\r\n\r\n this.getGrandTotalFundingForSector();\r\n this.getGrandTotalActualDisbursementForSector();\r\n this.getGrandTotalPlannedDisbursementForSector();\r\n\r\n this.showChart = false;\r\n if (this.selectedDataOptions.indexOf(this.dataOptionsCodes.FUNDING) != -1) {\r\n this.chartData = [];\r\n var sectorFunding = this.reportDataList.sectorProjectsList.map(p => p.totalFunding);\r\n var chartData = { data: sectorFunding, label: this.dataOptionLabels.FUNDING };\r\n this.chartData.push(chartData);\r\n this.doughnutChartData.push(sectorFunding);\r\n this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.FUNDING] = (this.doughnutChartData.length - 1);\r\n }\r\n\r\n if (this.selectedDataOptions.indexOf(this.dataOptionsCodes.DISBURSEMENTS) != -1) {\r\n this.chartData = [];\r\n var sectorDisbursements = this.reportDataList.sectorProjectsList.map(p => p.totalDisbursements);\r\n var chartData = { data: sectorDisbursements, label: this.dataOptionLabels.DISBURSEMENTS };\r\n this.chartData.push(chartData);\r\n this.doughnutChartData.push(sectorDisbursements);\r\n this.dataOptionsIndexForDoughnut[this.dataOptionsCodes.DISBURSEMENTS] = (this.doughnutChartData.length - 1);\r\n }\r\n\r\n setTimeout(() => {\r\n this.showChart = true;\r\n }, 1000);\r\n\r\n }\r\n }\r\n\r\n setExcelFile() {\r\n if (this.excelFile) {\r\n this.excelFile = this.urlService.getExcelFilesUrl() + this.excelFile;\r\n }\r\n }\r\n\r\n displayHideRow(sector) {\r\n if (this.model.sectorLevel == this.sectorLevelCodes.SECTORS) {\r\n if (this.parentSectorsWithProjects.length > 0) {\r\n var selectSector = this.parentSectorsWithProjects.filter(s => s.sectorName == sector);\r\n if (selectSector.length > 0) {\r\n selectSector[0].isDisplay = !selectSector[0].isDisplay;\r\n }\r\n } else {\r\n if (this.reportDataList.sectorProjectsList) {\r\n var selectSector = this.reportDataList.sectorProjectsList.filter(s => s.sectorName == sector);\r\n if (selectSector.length > 0) {\r\n selectSector[0].isDisplay = !selectSector[0].isDisplay;\r\n }\r\n }\r\n }\r\n } else {\r\n if (this.reportDataList.sectorProjectsList) {\r\n var selectSector = this.reportDataList.sectorProjectsList.filter(s => s.sectorName == sector);\r\n if (selectSector.length > 0) {\r\n selectSector[0].isDisplay = !selectSector[0].isDisplay;\r\n }\r\n }\r\n }\r\n }\r\n\r\n manageResetDisplay() {\r\n if (this.model.selectedProjects.length == 0 && this.model.startingYear == 0 &&\r\n this.model.endingYear == 0 && this.model.parentSectorId == 0 &&\r\n this.model.selectedSectors.length == 0 && this.model.selectedOrganizations.length == 0 &&\r\n this.model.selectedCurrency == this.defaultCurrency &&\r\n this.model.locationId == 0) {\r\n this.isAnyFilterSet = false;\r\n } else {\r\n this.isAnyFilterSet = true;\r\n }\r\n }\r\n\r\n setFilter() {\r\n this.isAnyFilterSet = true;\r\n }\r\n\r\n resetFilters() {\r\n this.model.selectedProjects = [];\r\n this.model.startingYear = 0;\r\n this.model.endingYear = 0;\r\n this.model.parentSectorId = 0;\r\n this.model.selectedSectors = [];\r\n this.model.selectedOrganizations = [];\r\n this.model.selectedSubLocations = [];\r\n this.model.sectorLevel = this.sectorLevelCodes.SECTORS;\r\n this.model.locationId = 0;\r\n this.filteredSubLocationsList = this.subLocationsList;\r\n this.isAnyFilterSet = false;\r\n }\r\n\r\n formatNumber(value: number) {\r\n return this.storeService.getNumberWithCommas(value);\r\n }\r\n\r\n getTodaysDate() {\r\n return this.storeService.getLongDateAndTime();\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Period from: \r\n \r\n \r\n   \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n  \r\n 0 && model.selectedCurrency == nationalCurrencyName\" class=\"text-warning\">\r\n Exchange rate: 1 {{defaultCurrency}} = {{manualExRate}} {{nationalCurrencyName}} on\r\n {{datedToday}}\r\n \r\n \r\n No exchange rate available, contact Administrator.\r\n \r\n
\r\n \r\n Default currency is not set and it may produce errors on reports.\r\n Please contact administrator.\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n Download\r\n spreadsheet\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n  Setting up report...\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
0 && isShowStackedChart\"\r\n class=\"col-lg-12 col-md-12 margin-top-20\">\r\n
\r\n \r\n
\r\n
\r\n
0 && showChart\"\r\n class=\"col-lg-12 col-md-12 margin-top-20\">\r\n\r\n
\r\n
Sectors report (Currency: {{this.selectedCurrencyName}})
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ProjectFundersImplementersActual disbursementsPlanned disbursements
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n  \r\n \r\n \r\n {{sectorProject.sectorName}} \r\n \r\n \r\n \r\n {{formatNumber(sectorProject.actualDisbursements)}}\r\n \r\n {{formatNumber(sectorProject.plannedDisbursements)}}\r\n
{{project.title}}{{project.funders}}{{project.implementers}}\r\n {{formatNumber(project.actualDisbursements)}}
\r\n
\r\n {{formatNumber(project.plannedDisbursements)}}\r\n
\r\n No projects found\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
 \r\n \r\n \r\n Total: {{formatNumber(getGrandTotalActualDisbursementForSector())}}\r\n \r\n \r\n \r\n \r\n \r\n Total: {{formatNumber(getGrandTotalPlannedDisbursementForSector())}}\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n Generated on: {{getTodaysDate()}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { SectorTypeService } from '../services/sector-types.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Messages } from '../config/messages';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { SectorService } from '../services/sector.service';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-manage-sectortype',\r\n templateUrl: './manage-sectortype.component.html',\r\n styleUrls: ['./manage-sectortype.component.css']\r\n})\r\nexport class ManageSectortypeComponent implements OnInit {\r\n\r\n @Input()\r\n sectorsList: any = [];\r\n isForEdit: boolean = false;\r\n isBtnDisabled: boolean = false;\r\n typeId: number = 0;\r\n btnText: string = 'Add sector type';\r\n errorMessage: string = '';\r\n sectorTypeTypes: any = null;\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n permissions: any = {};\r\n model = { id: 0, typeName: '', sourceUrl: null, isPrimary: false, isSourceType: false };\r\n\r\n constructor(private sectorTypeService: SectorTypeService, private route: ActivatedRoute,\r\n private router: Router, private securityService: SecurityHelperService,\r\n private sectorService: SectorService,\r\n private storeService: StoreService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditSector) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n if (this.route.snapshot.data && this.route.snapshot.data.isForEdit) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Edit sector type';\r\n this.isForEdit = true;\r\n this.typeId = id;\r\n this.sectorTypeService.getSectorType(id).subscribe(\r\n data => {\r\n this.model.id = data.id;\r\n this.model.typeName = data.typeName;\r\n this.model.isPrimary = (data.isPrimary == null) ? false : data.isPrimary ;\r\n this.model.isSourceType = (data.isSourceType == null) ? false : data.isSourceType;\r\n },\r\n error => {\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n getSectorsForType(id: string) {\r\n this.sectorService.getSectorsForType(id).subscribe(\r\n data => {\r\n this.sectorsList = data;\r\n }\r\n )\r\n }\r\n\r\n toggleDefault() {\r\n this.model.isPrimary = (this.model.isPrimary) ? false : true;\r\n }\r\n\r\n toggleSourceType() {\r\n this.model.isSourceType = (this.model.isSourceType) ? false : true;\r\n }\r\n\r\n saveSectorType() {\r\n var model = {\r\n TypeName: this.model.typeName,\r\n Id: parseInt(this.model.id.toString()),\r\n isPrimary: this.model.isPrimary,\r\n isSourceType: this.model.isSourceType,\r\n sourceUrl: this.model.sourceUrl\r\n };\r\n\r\n this.isBtnDisabled = true;\r\n if (!model.isPrimary) {\r\n model.isPrimary = false;\r\n }\r\n\r\n if (this.isForEdit) {\r\n this.btnText = 'Updating...';\r\n this.sectorTypeService.updateSectorType(this.model.id, model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('sector-types');\r\n } else {\r\n this.resetFormState();\r\n } \r\n },\r\n error => {\r\n this.isError = true;\r\n this.errorMessage = error;\r\n this.resetFormState();\r\n }\r\n );\r\n } else {\r\n this.btnText = 'Saving...';\r\n model.isSourceType = false;\r\n this.sectorTypeService.addSectorType(model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n var message = 'New sectorType' + Messages.NEW_RECORD;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('sector-types');\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.resetFormState();\r\n }\r\n );\r\n }\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n if (this.isForEdit) {\r\n this.btnText = 'Edit Sector Type';\r\n } else {\r\n this.btnText = 'Add Sector Type';\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Sector type
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Sector-Type name is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Enter valid url for IATI source\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n  Is primary sector type?\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { Messages } from '../config/messages';\r\nimport { Settings } from '../config/settings';\r\nimport { ReportService } from '../services/report.service';\r\nimport { JoinProjectModalComponent } from '../join-project-modal/join-project-modal.component';\r\n\r\n@Component({\r\n selector: 'app-view-project',\r\n templateUrl: './view-project.component.html',\r\n styleUrls: ['./view-project.component.css']\r\n})\r\nexport class ViewProjectComponent implements OnInit {\r\n requestNo: number = 0;\r\n errorMessage: string = null;\r\n successMessage: string = null;\r\n isError: boolean = false;\r\n isLoading: boolean = true;\r\n isLoggedIn: boolean = false;\r\n isLocationLoading: boolean = true;\r\n isSectorLoading: boolean = true;\r\n isFunderLoading: boolean = true;\r\n isImplementerLoading: boolean = true;\r\n isDisbursementLoading: boolean = true;\r\n isDocumentLoading: boolean = true;\r\n isExcelGenerating: boolean = true;\r\n excelFile: string = null;\r\n projectProfileLink: string = null;\r\n dated: string = null;\r\n projectId: number = 0;\r\n delayTime: number = 2000;\r\n userProjectIds: any = [];\r\n deleteProjectIds: any = [];\r\n permissions: any = {};\r\n monthStrings: any = { \r\n \"1\": \"January\", \"2\": \"February\", \"3\": \"March\", \"4\": \"April\", \"5\": \"May\", \"6\": \"June\",\r\n \"7\": \"July\", \"8\": \"August\", \"9\": \"September\", \"10\": \"October\", \"11\": \"November\", \"12\": \"December\" \r\n }\r\n\r\n disbursementTypeConstants: any = {\r\n 1: 'Actual',\r\n 2: 'Planned'\r\n }\r\n\r\n //project data variables\r\n projectData: any = [];\r\n projectLocations: any = [];\r\n projectSectors: any = [];\r\n projectFunders: any = [];\r\n projectImplementers: any = [];\r\n projectDisbursements: any = [];\r\n projectDocuments: any = [];\r\n projectMarkers: any = [];\r\n\r\n //Overlay UI blocker\r\n @BlockUI() blockUI: NgBlockUI;\r\n\r\n constructor(private projectService: ProjectService, private route: ActivatedRoute,\r\n private router: Router,\r\n private storeService: StoreService, private securityService: SecurityHelperService,\r\n private infoModal: InfoModalComponent,\r\n private reportService: ReportService,\r\n private joinProjectModal: JoinProjectModalComponent) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.projects);\r\n this.isLoggedIn = this.securityService.checkIsLoggedIn();\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (this.route.snapshot.data) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n this.projectId = id;\r\n if (id) {\r\n if (this.isLoggedIn) {\r\n this.getDeleteProjectIds();\r\n this.loadUserProjects();\r\n } else {\r\n this.loadProjectData(id); \r\n }\r\n this.getProjectExcelReport();\r\n\r\n setTimeout(() => {\r\n this.loadProjectLocations(id);\r\n }, this.delayTime); \r\n\r\n setTimeout(() => {\r\n this.loadProjectSectors(id);\r\n }, (this.delayTime + 1));\r\n \r\n setTimeout(() => {\r\n this.loadProjectFunders(id);\r\n }, (this.delayTime + 2));\r\n\r\n setTimeout(() => {\r\n this.loadProjectImplementers(id);\r\n }, (this.delayTime + 3));\r\n\r\n setTimeout(() => {\r\n this.loadProjectDisbursements(id);\r\n }, (this.delayTime + 4));\r\n\r\n setTimeout(() => {\r\n this.loadProjectDocuments(id);\r\n }, (this.delayTime + 5));\r\n\r\n } else {\r\n\r\n }\r\n }\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n addProjectLocation() {\r\n this.router.navigateByUrl('project-location/' + this.projectId);\r\n }\r\n\r\n addProjectSector() {\r\n this.router.navigateByUrl('project-sector/' + this.projectId);\r\n }\r\n\r\n addProjectFunder() {\r\n this.router.navigateByUrl('project-funder/' + this.projectId);\r\n }\r\n\r\n addProjectImplementer() {\r\n this.router.navigateByUrl('project-implementer/' + this.projectId);\r\n }\r\n\r\n addProjectDisbursement() {\r\n this.router.navigateByUrl('project-disbursement/' + this.projectId);\r\n }\r\n\r\n addProjectDocument() {\r\n this.router.navigateByUrl('project-document/' + this.projectId);\r\n }\r\n\r\n loadProjectData(id) {\r\n this.projectService.getProject(id).subscribe(\r\n data => {\r\n this.hideLoader();\r\n this.projectData = data;\r\n },\r\n error => {\r\n this.hideLoader();\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n loadProjectLocations(id) {\r\n this.projectService.getProjectLocations(id).subscribe(\r\n data => {\r\n this.hideLocationLoader();\r\n this.projectLocations = data;\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n loadProjectSectors(id) {\r\n this.projectService.getProjectSectors(id).subscribe(\r\n data => {\r\n this.hideSectorLoader();\r\n this.projectSectors = data;\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n loadProjectFunders(id) {\r\n this.projectService.getProjectFunders(id).subscribe(\r\n data => {\r\n this.hideFunderLoader();\r\n this.projectFunders = data;\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n loadProjectImplementers(id) {\r\n this.projectService.getProjectImplementers(id).subscribe(\r\n data => {\r\n this.hideImplementerLoader();\r\n this.projectImplementers = data;\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n loadProjectDisbursements(id) {\r\n this.projectService.getProjectDisbursements(id).subscribe(\r\n data => {\r\n this.hideDisbursementLoader();\r\n this.projectDisbursements = data;\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n loadProjectDocuments(id) {\r\n this.projectService.getProjectDocuments(id).subscribe(\r\n data => {\r\n this.hideDocumentLoader();\r\n this.projectDocuments = data;\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n loadUserProjects() {\r\n this.projectService.getUserProjects().subscribe(\r\n data => {\r\n if (data) {\r\n this.userProjectIds = data;\r\n }\r\n this.loadProjectData(this.projectId);\r\n }\r\n );\r\n }\r\n\r\n getProjectExcelReport() {\r\n this.projectService.getProjectReport(this.projectId.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n if (data.reportSettings) {\r\n this.excelFile = data.reportSettings.excelReportName;\r\n this.projectProfileLink = data.reportSettings.reportUrl;\r\n var currentDate = this.storeService.getLongDateString(new Date());\r\n this.dated = currentDate;\r\n this.setExcelFile();\r\n var projects = data.projectProfile.projects;\r\n if (projects.length > 0) {\r\n var project = projects[0];\r\n this.projectMarkers = project.markers.filter(m => m.values != '');\r\n }\r\n }\r\n this.isExcelGenerating = false;\r\n }\r\n }\r\n );\r\n }\r\n\r\n formatDateUKStyle(dated: any) {\r\n var validDate = Date.parse(dated);\r\n if (isNaN(validDate)) {\r\n return 'Invalid date';\r\n }\r\n var datesArr = dated.split('/');\r\n return this.storeService.formatDateInUkStyle(parseInt(datesArr[2]), parseInt(datesArr[0]), parseInt(datesArr[1]));\r\n }\r\n \r\n displayFieldValues(json: any) {\r\n return this.storeService.parseAndDisplayJsonAsString(json);\r\n }\r\n\r\n setExcelFile() {\r\n if (this.excelFile) {\r\n this.excelFile = this.storeService.getExcelFilesUrl() + this.excelFile;\r\n }\r\n }\r\n\r\n printProfile() {\r\n this.storeService.printSimpleReport('rpt-project', 'Project profile report');\r\n }\r\n\r\n generatePDF() {\r\n this.blockUI.start('Generating PDF...');\r\n setTimeout(() => {\r\n var result = Promise.resolve(this.reportService.generatePDF('rpt-project'));\r\n result.then(() => {\r\n this.blockUI.stop();\r\n });\r\n },500);\r\n }\r\n\r\n deleteProjectLocation(projectId, locationId) {\r\n this.blockUI.start('Working...');\r\n this.projectService.deleteProjectLocation(projectId, locationId).subscribe(\r\n data => {\r\n this.projectLocations = this.projectLocations.filter(l => l.id != locationId);\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n deleteProjectSector(projectId, sectorId) {\r\n this.blockUI.start('Working...');\r\n this.projectService.deleteProjectSector(projectId, sectorId).subscribe(\r\n data => {\r\n this.projectSectors = this.projectSectors.filter(s => s.sectorId != sectorId);\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n deleteProjectFunder(projectId, funderId) {\r\n this.blockUI.start('Working...');\r\n this.projectService.deleteProjectFunder(projectId, funderId).subscribe(\r\n data => {\r\n this.projectFunders = this.projectFunders.filter(f => f.funderId != funderId);\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n console.log(error);\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n deleteProjectImplementer(projectId, implementerId) {\r\n this.blockUI.start('Working...');\r\n this.projectService.deleteProjectImplementer(projectId, implementerId).subscribe(\r\n data => {\r\n this.projectImplementers = this.projectImplementers.filter(i => i.implementerId != implementerId);\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n console.log(error);\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n deleteProjectDisbursement(id) {\r\n this.blockUI.start('Working...');\r\n this.projectService.deleteProjectDisbursement(id).subscribe(\r\n data => {\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n console.log(error);\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n deleteProjectDocument(id) {\r\n this.blockUI.start('Working...');\r\n this.projectService.deleteProjectDocument(id).subscribe(\r\n data => {\r\n this.projectDocuments = this.projectDocuments.filter(d => d.id != id);\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n console.log(error);\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n convertDateToLongString(dated: string) {\r\n return (this.storeService.getLongDateString(dated));\r\n }\r\n\r\n isShowContactToUser(id: number) {\r\n return (this.userProjectIds.filter(ids => ids.id == id).length > 0) ? false : true;\r\n }\r\n\r\n contactProject(id) {\r\n this.router.navigateByUrl('contact-project/' + id);\r\n }\r\n\r\n isShowDeleteProject(id: number) {\r\n if (this.deleteProjectIds.includes(id)) {\r\n return false;\r\n }\r\n return (this.userProjectIds.filter(ids => ids.id == id).length > 0) ? true : false;\r\n }\r\n\r\n makeDeleteRequest(id: number) {\r\n if (id) {\r\n var model = { projectId: id, userId: 0 };\r\n this.blockUI.start('Making project delete request...');\r\n this.projectService.makeProjectDeletionRequest(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.deleteProjectIds.push(id);\r\n this.successMessage = Messages.DELETION_REQUEST_INFO;\r\n this.infoModal.openModal();\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n getDeleteProjectIds() {\r\n this.projectService.getDeleteProjectIds().subscribe(\r\n data => {\r\n if (data) {\r\n this.deleteProjectIds = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n canJoinProject() {\r\n var projectIds = this.userProjectIds.map(p => p.id);\r\n return (projectIds.includes(this.projectId)) ? false : true;\r\n }\r\n\r\n applyForProjectMembership() {\r\n if (this.projectId) {\r\n this.joinProjectModal.openModal();\r\n }\r\n }\r\n\r\n hideLoader() {\r\n this.isLoading = false;\r\n }\r\n\r\n hideLocationLoader() {\r\n this.isLocationLoading = false;\r\n }\r\n\r\n hideSectorLoader() {\r\n this.isSectorLoading = false;\r\n }\r\n\r\n hideFunderLoader() {\r\n this.isFunderLoading = false;\r\n }\r\n\r\n hideImplementerLoader() {\r\n this.isImplementerLoading = false;\r\n }\r\n\r\n hideDisbursementLoader() {\r\n this.isDisbursementLoading = false;\r\n }\r\n\r\n hideDocumentLoader() {\r\n this.isDocumentLoading = false;\r\n }\r\n\r\n formatNumber(value: number) {\r\n if (!value) {\r\n return value;\r\n }\r\n if (!isNaN(value) && value > 0) {\r\n return this.storeService.getNumberWithCommas(value);\r\n }\r\n return value;\r\n }\r\n\r\n\r\n}\r\n","
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Project detail
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Download spreadsheet\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Project profile report
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Project title: {{projectData.title}}Project last updates: \r\n {{formatDateUKStyle(projectData.dateUpdated)}}\r\n \r\n  by {{projectData.lastUpdatedByOrganization}}\r\n \r\n
Start date: {{formatDateUKStyle(projectData.startDate)}}End date: {{formatDateUKStyle(projectData.endDate)}}
Starting year: {{projectData.startingFinancialYear}}Ending year: {{projectData.endingFinancialYear}}
Project value: {{formatNumber(projectData.projectValue)}}Currency: {{projectData.projectCurrency}}
Description: \r\n {{projectData.description}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Project locations
\r\n
\r\n  Loading locations...\r\n
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
LocationFunds percentage
{{location.location}}{{location.fundsPercentage}}%
\r\n

No project locations found.

\r\n
\r\n \r\n
\r\n
Project sectors
\r\n
\r\n  Loading sectors...\r\n
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorFunds percentage
{{sector.sector}}{{sector.fundsPercentage}}%
\r\n

No project sectors found.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Project funders
\r\n
\r\n  Loading funders...\r\n
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Funder name
{{funder.funder}}
\r\n

No project funders found.

\r\n
\r\n
\r\n
Project implementers
\r\n
\r\n  Loading implementers...\r\n
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Implementer
{{implementer.implementer}}
\r\n

\r\n No project implementers found.\r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
Project disbursements
\r\n
\r\n
\r\n  Loading disbursements...\r\n
\r\n
\r\n \r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TypeFinancial yearAmountCurrencyExchange rate
{{disbursementTypeConstants[disbursement.disbursementType]}}{{disbursement.financialYear}}{{formatNumber(disbursement.amount)}}{{disbursement.currency}}{{disbursement.exchangeRate}}
\r\n

\r\n No project disbursements found.\r\n

\r\n
\r\n \r\n
\r\n
Project documents
\r\n
\r\n
\r\n  Loading documents...\r\n
\r\n
\r\n \r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Document TitleUrl
{{document.documentTitle}}{{document.documentUrl}}
\r\n

\r\n No project documents found.\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Project markers
\r\n 0\" class=\"table table-striped table-condensed\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
MarkerValues
{{marker.marker}}{{displayFieldValues(marker.values)}}
\r\n

\r\n No project markers found.\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n Report link: {{projectProfileLink}}\r\n
\r\n
\r\n Generated on: {{dated}}\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { CurrencyService } from '../services/currency.service';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\n\r\n@Component({\r\n selector: 'app-currencies',\r\n templateUrl: './currencies.component.html',\r\n styleUrls: ['./currencies.component.css']\r\n})\r\nexport class CurrenciesComponent implements OnInit {\r\n\r\n requestNo: number = 0;\r\n currenciesList: any = [];\r\n manualEnteredCurrencies: any = [];\r\n filteredCurrencies: any = [];\r\n manualFilteredCurrencies: any = [];\r\n criteria: string = null;\r\n mcriteria: string = null;\r\n isLoading: boolean = true;\r\n infoMessage: string = null;\r\n errorMessage: string = null;\r\n showMessage: boolean = false;\r\n inputTextHolder: string = 'Enter currency name';\r\n statusMessage: string = 'Wait deleting...';\r\n pagingSize: number = Settings.rowsPerPage;\r\n permissions: any = {};\r\n defaultCurrency: any = { currency: null, currencyName: null };\r\n nationalCurrency: any = { currency: null, currencyName: null };\r\n currencySource: any = {\r\n 1: 'Open exchange',\r\n 2: 'Manual'\r\n }\r\n @BlockUI() blockUI: NgBlockUI;\r\n\r\n constructor(private currencyService: CurrencyService, private router: Router,\r\n private storeService: StoreService, private infoModal: InfoModalComponent,\r\n private errorModal: ErrorModalComponent,\r\n private securityService: SecurityHelperService) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditCurrency) {\r\n this.router.navigateByUrl('home');\r\n }\r\n \r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n //Loads currencies first time from open exchange, if they are not in db\r\n this.getExchangeRates();\r\n this.getDefaultCurrency();\r\n this.getNationalCurrency();\r\n }\r\n\r\n getCurrenciesList() {\r\n this.currencyService.getCurrenciesList().subscribe(\r\n data => {\r\n if (data && data.length) {\r\n var currencies = data;\r\n this.currenciesList = currencies.filter(c => c.source == 1);\r\n this.filteredCurrencies = this.currenciesList;\r\n this.manualEnteredCurrencies = currencies.filter(c => c.source == 2);\r\n this.manualFilteredCurrencies = this.manualEnteredCurrencies;\r\n } else {\r\n }\r\n this.isLoading = false;\r\n },\r\n error => {\r\n this.isLoading = false;\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n\r\n getDefaultCurrency() {\r\n this.currencyService.getDefaultCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultCurrency.currency = data.currency;\r\n this.defaultCurrency.currencyName = data.currencyName;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getNationalCurrency() {\r\n this.currencyService.getNationalCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.nationalCurrency.currency = data.currency;\r\n this.nationalCurrency.currencyName = data.currencyName;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getExchangeRates() {\r\n this.isLoading = true;\r\n this.currencyService.getExchangeRatesList().subscribe(\r\n data => {\r\n if (data) {\r\n setTimeout(() => {\r\n this.getCurrenciesList();\r\n }, 1000);\r\n } else {\r\n this.isLoading = false;\r\n }\r\n }\r\n )\r\n }\r\n\r\n showCurrencySource(id: number) {\r\n return this.currencySource[id];\r\n }\r\n\r\n searchCurrencies() {\r\n if (!this.criteria) {\r\n this.filteredCurrencies = this.currenciesList;\r\n } else {\r\n if (this.currenciesList.length > 0) {\r\n var criteria = this.criteria.toLowerCase();\r\n this.filteredCurrencies = this.currenciesList.filter(c => \r\n (c.currency.toLowerCase().indexOf(criteria) != -1 || (((c.currencyName) ? c.currencyName.toLowerCase().indexOf(criteria) != -1 : false))));\r\n }\r\n }\r\n }\r\n\r\n searchCurrenciesManual() {\r\n if (!this.mcriteria) {\r\n this.manualFilteredCurrencies = this.manualEnteredCurrencies;\r\n } else {\r\n if (this.manualEnteredCurrencies.length > 0) {\r\n var criteria = this.mcriteria.toLowerCase();\r\n this.manualFilteredCurrencies = this.manualFilteredCurrencies.filter(c => \r\n (c.currency.toLowerCase().indexOf(criteria) != -1 || (((c.currencyName) ? c.currencyName.toLowerCase().indexOf(criteria) != -1 : false))));\r\n }\r\n }\r\n }\r\n\r\n delete(id: string) {\r\n if (id) {\r\n this.blockUI.start(this.statusMessage);\r\n this.currencyService.deleteCurrency(id).subscribe(\r\n data => {\r\n if (data) {\r\n this.currenciesList = this.currenciesList.filter(c => c.id != id);\r\n this.filteredCurrencies = this.currenciesList;\r\n this.criteria = null;\r\n this.blockUI.stop();\r\n } \r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.errorModal.openModal();\r\n }\r\n )\r\n }\r\n return false;\r\n }\r\n\r\n edit(id: string) {\r\n if (id) {\r\n this.router.navigateByUrl('/manage-currency/' + id);\r\n }\r\n }\r\n\r\n toggleDefault(e) {\r\n var id = e.currentTarget.id.split('-')[1];\r\n if (id) {\r\n this.blockUI.start('Setting default currency...');\r\n this.currencyService.setDefaultCurrency(id).subscribe(\r\n data => {\r\n if (data) {\r\n var selectedCurrency = null;\r\n this.currenciesList.map(c => c.isDefault = false);\r\n this.filteredCurrencies.map(c => c.isDefault = false);\r\n this.manualEnteredCurrencies.map(c => c.isDefault = false);\r\n this.manualFilteredCurrencies.map(c => c.isDefault = false);\r\n\r\n var currency = this.currenciesList.filter(c => c.id == id);\r\n if (currency.length > 0) {\r\n currency[0].isDefault = true;\r\n selectedCurrency = currency[0];\r\n\r\n var fCurrency = this.filteredCurrencies.filter(c => c.id == id);\r\n if (fCurrency.length > 0) {\r\n fCurrency[0].isDefault = true;\r\n }\r\n }\r\n\r\n var mCurrency = this.manualEnteredCurrencies.filter(c => c.id == id);\r\n if (mCurrency.length > 0) {\r\n mCurrency[0].isDefault = true;\r\n selectedCurrency = mCurrency[0];\r\n\r\n var mfCurrency = this.manualFilteredCurrencies.filter(c => c.id == id);\r\n if (mfCurrency.length > 0) {\r\n mfCurrency[0].isDefault = true;\r\n }\r\n }\r\n\r\n if (selectedCurrency && selectedCurrency.currency) {\r\n this.defaultCurrency.currency = selectedCurrency.currency;\r\n this.defaultCurrency.currencyName = selectedCurrency.currencyName;\r\n }\r\n \r\n }\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n }\r\n\r\n toggleNational(e) {\r\n var id = e.currentTarget.id.split('-')[1];\r\n if (id) {\r\n this.blockUI.start('Setting default currency...');\r\n this.currencyService.setNationalCurrency(id).subscribe(\r\n data => {\r\n if (data) {\r\n var selectedCurrency = null;\r\n this.currenciesList.map(c => c.isNational = false);\r\n this.filteredCurrencies.map(c => c.isNational = false);\r\n this.manualEnteredCurrencies.map(c => c.isNational = false);\r\n this.manualFilteredCurrencies.map(c => c.isNational = false);\r\n\r\n var currency = this.currenciesList.filter(c => c.id == id);\r\n if (currency.length > 0) {\r\n currency[0].isNational = true;\r\n selectedCurrency = currency[0];\r\n\r\n var fCurrency = this.filteredCurrencies.filter(c => c.id == id);\r\n if (fCurrency.length > 0) {\r\n fCurrency[0].isNational = true;\r\n }\r\n }\r\n\r\n var mCurrency = this.manualEnteredCurrencies.filter(c => c.id == id);\r\n if (mCurrency.length > 0) {\r\n mCurrency[0].isNational = true;\r\n selectedCurrency = mCurrency[0];\r\n\r\n var mfCurrency = this.manualFilteredCurrencies.filter(c => c.id == id);\r\n if (mfCurrency.length > 0) {\r\n mfCurrency[0].isNational = true;\r\n }\r\n }\r\n\r\n if (selectedCurrency && selectedCurrency.currency) {\r\n this.nationalCurrency.currency = selectedCurrency.currency;\r\n this.nationalCurrency.currencyName = selectedCurrency.currencyName;\r\n }\r\n }\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Default currency: {{defaultCurrency.currencyName}} \r\n National currency: {{nationalCurrency.currencyName}}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
Currencies imported from exchange rate sources
\r\n
\r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
CodeCurrencySet as DefaultSet as National
{{currency.currency}}{{currency.currencyName}}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n No currencies to show\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
Manual entered currencies
\r\n
\r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
CodeCurrencySet as DefaultSet as National
{{currency.currency}}{{currency.currencyName}}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n No currencies to show\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { ProjectInfoModalComponent } from 'src/app/project-info-modal/project-info-modal.component';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'project-finish',\r\n templateUrl: './project-finish.component.html',\r\n styleUrls: ['./project-finish.component.css']\r\n})\r\nexport class ProjectFinishComponent implements OnInit {\r\n\r\n @Input()\r\n projectId: number = 0;\r\n @Input()\r\n viewProject = {};\r\n @Input()\r\n viewProjectFunders: any = [];\r\n @Input()\r\n viewProjectLocations: any = [];\r\n @Input()\r\n viewProjectSectors: any = [];\r\n @Input()\r\n viewProjectImplementers: any = [];\r\n @Input()\r\n viewProjectDocuments: any = [];\r\n @Input()\r\n viewProjectDisbursements: any = [];\r\n @Input()\r\n viewProjectMarkers: any = [];\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private projectInfoModal: ProjectInfoModalComponent, private projectService: ProjectService,\r\n private router: Router) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getProjectView() {\r\n if (this.projectId != 0) {\r\n this.projectInfoModal.openModal();\r\n }\r\n }\r\n\r\n finishProject() {\r\n this.router.navigateByUrl('new-project');\r\n }\r\n\r\n makeDeleteRequest(id: number) {\r\n if (id) {\r\n var model = { projectId: id, userId: 0 };\r\n this.blockUI.start('Making project delete request...');\r\n this.projectService.makeProjectDeletionRequest(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.router.navigateByUrl('projects');\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n goToHome() {\r\n localStorage.setItem('selected-projects', null);\r\n localStorage.setItem('active-project', '0');\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
Finish Project
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, Input, Injectable, NgZone, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { ReportService } from '../services/report.service';\r\nimport { Settings } from '../config/settings';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ModalService } from '../services/modal.service';\r\nimport { Messages } from '../config/messages';\r\nimport { JoinProjectModalComponent } from '../join-project-modal/join-project-modal.component';\r\n\r\n@Component({\r\n selector: 'project-report-modal',\r\n templateUrl: './project-report-modal.component.html',\r\n styleUrls: ['./project-report-modal.component.css']\r\n})\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProjectReportModalComponent implements OnInit {\r\n\r\n @Input()\r\n projectId: number = 0;\r\n\r\n @Output()\r\n reportRendered = new EventEmitter();\r\n \r\n isLoggedIn: boolean = false;\r\n deletionSuccess: boolean = false;\r\n permissions: any = {};\r\n requestNo: number = 0;\r\n errorMessage: string = null;\r\n successMessage: string = null;\r\n isError: boolean = false;\r\n isExcelGenerating: boolean = true;\r\n isLoading: boolean = true;\r\n excelFile: string = null;\r\n projectProfileLink: string = null;\r\n dated: string = null;\r\n userProjectIds: any = [];\r\n deleteProjectIds: any = [];\r\n\r\n monthStrings: any = { \r\n \"1\": \"January\", \"2\": \"February\", \"3\": \"March\", \"4\": \"April\", \"5\": \"May\", \"6\": \"June\",\r\n \"7\": \"July\", \"8\": \"August\", \"9\": \"September\", \"10\": \"October\", \"11\": \"November\", \"12\": \"December\" \r\n }\r\n\r\n disbursementTypeConstants: any = {\r\n 1: 'Actual',\r\n 2: 'Planned'\r\n }\r\n\r\n //project data variables\r\n projectData: any = [];\r\n projectLocations: any = [];\r\n projectSectors: any = [];\r\n projectFunders: any = [];\r\n projectImplementers: any = [];\r\n projectDisbursements: any = [];\r\n projectDocuments: any = [];\r\n projectMarkers: any = [];\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private projectService: ProjectService, private route: ActivatedRoute,\r\n private router: Router,\r\n private storeService: StoreService, private securityService: SecurityHelperService,\r\n private infoModal: InfoModalComponent,\r\n private modalService: ModalService,\r\n private reportService: ReportService,\r\n private joinProjectModal: JoinProjectModalComponent,\r\n private ngZone: NgZone) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.projects);\r\n this.isLoggedIn = this.securityService.checkIsLoggedIn();\r\n if (this.isLoggedIn) {\r\n this.getDeleteProjectIds();\r\n this.loadUserProjects();\r\n }\r\n this.getProjectReport();\r\n this.getProjectExcelReport();\r\n this.permissions = this.securityService.getUserPermissions();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n this.openModal();\r\n }\r\n\r\n getProjectReport() {\r\n this.projectService.getProjectReport(this.projectId.toString()).subscribe(\r\n data => {\r\n if (data && data.projectProfile) {\r\n var project = data.projectProfile.projects.length > 0 ? data.projectProfile.projects[0] : null;\r\n if (project) {\r\n this.ngZone.run(() => {\r\n this.projectData.title = project.title;\r\n this.projectData.startDate = project.startDate;\r\n this.projectData.endDate = project.endDate;\r\n this.projectData.startingFinancialYear = project.startingFinancialYear;\r\n this.projectData.endingFinancialYear = project.endingFinancialYear;\r\n this.projectData.dateUpdated = project.dateUpdated;\r\n this.projectData.lastUpdatedByOrganization = project.lastUpdatedByOrganization;\r\n this.projectData.projectCurrency = project.projectCurrency;\r\n this.projectData.projectValue = project.projectValue;\r\n this.projectData.exchangeRate = project.exchangeRate;\r\n this.projectData.description = project.description;\r\n this.projectFunders = project.funders;\r\n this.projectImplementers = project.implementers;\r\n this.projectSectors = project.sectors;\r\n this.projectLocations = project.locations;\r\n this.projectDisbursements = project.disbursements;\r\n this.projectDocuments = project.documents;\r\n this.projectMarkers = project.markers;\r\n this.isLoading = false;\r\n });\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n loadUserProjects() {\r\n this.projectService.getUserProjects().subscribe(\r\n data => {\r\n if (data) {\r\n this.userProjectIds = data;\r\n }\r\n this.getProjectReport();\r\n }\r\n );\r\n }\r\n\r\n getDeleteProjectIds() {\r\n this.projectService.getDeleteProjectIds().subscribe(\r\n data => {\r\n if (data) {\r\n this.deleteProjectIds = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n canJoinProject() {\r\n var projectIds = this.userProjectIds.map(p => p.id);\r\n return (projectIds.includes(this.projectId)) ? false : true;\r\n }\r\n\r\n applyForProjectMembership() {\r\n if (this.projectId) {\r\n this.joinProjectModal.openModal();\r\n }\r\n }\r\n\r\n getProjectExcelReport() {\r\n this.projectService.getProjectReport(this.projectId.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n if (data.reportSettings) {\r\n this.excelFile = data.reportSettings.excelReportName;\r\n this.projectProfileLink = data.reportSettings.reportUrl;\r\n var currentDate = this.storeService.getLongDateString(new Date());\r\n this.dated = currentDate;\r\n this.setExcelFile();\r\n var projects = data.projectProfile.projects;\r\n if (projects.length > 0) {\r\n var project = projects[0];\r\n this.projectMarkers = project.markers.filter(m => m.values != '');\r\n }\r\n }\r\n this.isExcelGenerating = false;\r\n }\r\n }\r\n );\r\n }\r\n\r\n formatDateUKStyle(dated: any) {\r\n var validDate = Date.parse(dated);\r\n if (isNaN(validDate)) {\r\n return 'Invalid date';\r\n }\r\n var datesArr = dated.split('/');\r\n return this.storeService.formatDateInUkStyle(parseInt(datesArr[2]), parseInt(datesArr[0]), parseInt(datesArr[1]));\r\n }\r\n \r\n displayFieldValues(json: any) {\r\n return this.storeService.parseAndDisplayJsonAsString(json);\r\n }\r\n\r\n setExcelFile() {\r\n if (this.excelFile) {\r\n this.excelFile = this.storeService.getExcelFilesUrl() + this.excelFile;\r\n }\r\n }\r\n\r\n formatNumber(value: number) {\r\n if (!value) {\r\n return value;\r\n }\r\n if (!isNaN(value) && value > 0) {\r\n return this.storeService.getNumberWithCommas(value);\r\n }\r\n return value;\r\n }\r\n\r\n printProfile() {\r\n this.storeService.printSimpleReport('rpt-project', 'Project profile report');\r\n }\r\n\r\n generatePDF() {\r\n this.blockUI.start('Generating PDF...');\r\n setTimeout(() => {\r\n var result = Promise.resolve(this.reportService.generatePDF('rpt-project', 100));\r\n result.then(() => {\r\n this.blockUI.stop();\r\n });\r\n },500);\r\n }\r\n\r\n isShowContactToUser(id: number) {\r\n return (this.userProjectIds.filter(ids => ids.id == id).length > 0) ? false : true;\r\n }\r\n\r\n contactProject() {\r\n this.modalService.close('project-report-modal');\r\n setTimeout(() => {\r\n this.router.navigateByUrl('contact-project/' + this.projectId);\r\n }, 500);\r\n \r\n }\r\n\r\n isShowDeleteProject(id: number) {\r\n if (this.deleteProjectIds.includes(id)) {\r\n return false;\r\n }\r\n return (this.userProjectIds.filter(ids => ids.id == id).length > 0) ? true : false;\r\n }\r\n\r\n makeDeleteRequest(id: number) {\r\n if (id) {\r\n var model = { projectId: id, userId: 0 };\r\n this.blockUI.start('Making project delete request...');\r\n this.projectService.makeProjectDeletionRequest(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.deleteProjectIds.push(id);\r\n this.successMessage = Messages.DELETION_REQUEST_INFO;\r\n this.deletionSuccess = true;\r\n setTimeout(() => {\r\n this.deletionSuccess = false;\r\n }, 5000);\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n openModal() {\r\n setTimeout(() => {\r\n this.modalService.open('project-report-modal');\r\n }, 500);\r\n }\r\n\r\n closeModal() {\r\n this.reportRendered.emit(false);\r\n this.modalService.close('project-report-modal');\r\n }\r\n\r\n ngOnDestroy() {\r\n this.reportRendered.emit(false);\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Project detail
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Download spreadsheet\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n
\r\n
\r\n \r\n Information! {{successMessage}}\r\n
\r\n
\r\n
\r\n
\r\n
Project profile report
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Project title: {{projectData.title}}Project last updates: \r\n {{formatDateUKStyle(projectData.dateUpdated)}}\r\n \r\n  by {{projectData.lastUpdatedByOrganization}}\r\n \r\n
Start date: {{formatDateUKStyle(projectData.startDate)}}End date: {{formatDateUKStyle(projectData.endDate)}}
Starting year: {{projectData.startingFinancialYear}}Ending year: {{projectData.endingFinancialYear}}
Project value: {{formatNumber(projectData.projectValue)}}Currency: {{projectData.projectCurrency}}
Description: \r\n {{projectData.description}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Project locations
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
LocationFunds percentage
{{location.name}}{{location.fundsPercentage}}%
\r\n

No project locations found.

\r\n
\r\n \r\n
\r\n
Project sectors
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorFunds percentage
{{sector.name}}{{sector.fundsPercentage}}%
\r\n

No project sectors found.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Project funders
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Funder name
{{funder.name}}
\r\n

No project funders found.

\r\n
\r\n
\r\n
Project implementers
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Implementer
{{implementer.name}}
\r\n

\r\n No project implementers found.\r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
Project disbursements
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TypeFinancial yearAmountCurrencyExchange rate
{{disbursement.disbursementType}}{{disbursement.financialYear}}{{formatNumber(disbursement.amount)}}{{disbursement.currency}}{{disbursement.exchangeRate}}
\r\n

\r\n No project disbursements found.\r\n

\r\n
\r\n \r\n
\r\n
Project documents
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Document TitleUrl
{{document.documentTitle}}{{document.documentUrl}}
\r\n

\r\n No project documents found.\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Project markers
\r\n 0\" class=\"table table-striped table-condensed\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
MarkerValues
{{marker.marker}}{{displayFieldValues(marker.values)}}
\r\n

\r\n No project markers found.\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n Report link: {{projectProfileLink}}\r\n
\r\n
\r\n Generated on: {{dated}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { CurrencyService } from '../services/currency.service';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { Messages } from '../config/messages';\r\nimport { StoreService } from '../services/store-service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { Settings } from '../config/settings';\r\nimport { FinancialYearService } from '../services/financial-year.service';\r\n\r\n@Component({\r\n selector: 'app-exrate-settings',\r\n templateUrl: './exrate-settings.component.html',\r\n styleUrls: ['./exrate-settings.component.css']\r\n})\r\nexport class ExrateSettingsComponent implements OnInit {\r\n\r\n errorMessage: string = null;\r\n inputTextHolder: string = 'Enter currency to search';\r\n infoMessage: string = null;\r\n defaultCurrencyId: number = 0;\r\n nationalCurrencyId: number = 0;\r\n requestNo: number = 0;\r\n permissions: any = {};\r\n calendarMaxDate: any = {};\r\n isExRateSet: boolean = false;\r\n isLoading: boolean = true;\r\n isAPIKeySet: boolean = false;\r\n defaultCurrency: string = null;\r\n nationalCurrency: string = null;\r\n selectedCurrency: string = null;\r\n \r\n currenciesList: any = [];\r\n exchangeRates: any = [];\r\n currentForm: any = null;\r\n exchangeRateDate: any = null;\r\n manualCurrencyRates: any = [];\r\n manualExchangeRates: any = [];\r\n filteredManualExchangeRates: any = [];\r\n filteredCurrencyRates: any = [];\r\n financialYearsList: any = [];\r\n\r\n criteria: string = null;\r\n pagingSize: number = Settings.rowsPerPage;\r\n model: any = { exchangeRate: null, searchYear: null, currency: null, newYear: null, exRateLabel: null};\r\n currentTab: string = 'exrates';\r\n manualExRateLabel: string = 'Central Bank exchange rate';\r\n\r\n displayTabs: any = [\r\n { visible: true, identity: 'exrates' },\r\n { visible: false, identity: 'open-exrates' },\r\n { visible: false, identity: 'label-setting' }\r\n ];\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private currencyService: CurrencyService, private infoModal: InfoModalComponent,\r\n private errorModal: ErrorModalComponent, private storeService: StoreService,\r\n private securityService: SecurityHelperService, private router: Router,\r\n private yearService: FinancialYearService) { }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditCurrency) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n this.calendarMaxDate = this.storeService.getCalendarUpperLimit();\r\n this.getFinancialYears();\r\n this.getExRateSettings();\r\n this.getDefaultCurrency();\r\n this.getNationalCurrency();\r\n this.getCurrenciesList();\r\n this.getLatestExchangeRates();\r\n this.getManualExchangeRates();\r\n }\r\n\r\n getExRateSettings() {\r\n this.currencyService.getExRateSettings().subscribe(\r\n data => {\r\n if (data) {\r\n this.model.isAutoRateSet = data.isAutomatic;\r\n this.isAPIKeySet = data.isOpenExchangeKeySet;\r\n this.manualExRateLabel = data.manualExchangeRateSource;\r\n this.model.exRateLabel = this.manualExRateLabel;\r\n this.manualCurrencyRates = data.manualCurrencyRates ? data.manualCurrencyRates : [];\r\n if (this.manualCurrencyRates.length == 0) {\r\n this.isExRateSet = false;\r\n this.getCurrenciesList();\r\n } else {\r\n this.filteredCurrencyRates = this.manualCurrencyRates;\r\n this.isLoading = false;\r\n }\r\n }\r\n }\r\n )\r\n }\r\n\r\n getDefaultCurrency() {\r\n this.currencyService.getDefaultCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultCurrency = data.currency;\r\n this.defaultCurrencyId = data.id;\r\n }\r\n }\r\n )\r\n }\r\n\r\n getNationalCurrency() {\r\n this.currencyService.getNationalCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.nationalCurrency = data.currency;\r\n this.nationalCurrencyId = data.id;\r\n this.getManualExchangeRates();\r\n }\r\n }\r\n )\r\n }\r\n\r\n getManualExchangeRates() {\r\n this.currencyService.getManualExchangeRates().subscribe(\r\n data => {\r\n if (data) {\r\n this.manualExchangeRates = data;\r\n this.filteredManualExchangeRates = data;\r\n }\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getExRateForSelectedCurrency() {\r\n if (this.model.currency) {\r\n var findExRate = this.exchangeRates.filter(c => c.currency == this.model.currency);\r\n if (findExRate.length > 0) {\r\n this.model.exchangeRate = findExRate[0].rate;\r\n }\r\n }\r\n }\r\n\r\n getCurrenciesList() {\r\n this.currencyService.getCurrenciesList().subscribe(\r\n data => {\r\n if (data) {\r\n this.currenciesList = data;\r\n this.currenciesList.forEach(function(cur) {\r\n var currencyObj = {\r\n currency: cur.currency,\r\n rate: 0.0\r\n }\r\n this.manualCurrencyRates.push(currencyObj);\r\n this.filteredCurrencyRates.push(currencyObj);\r\n }.bind(this));\r\n }\r\n this.isLoading = false;\r\n }\r\n )\r\n }\r\n\r\n getFinancialYears() {\r\n this.yearService.getYearsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.financialYearsList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n onChangeYear() {\r\n if (this.model.newYear) {\r\n this.filteredManualExchangeRates = this.manualExchangeRates.filter(r => r.year == this.model.newYear);\r\n } else {\r\n this.filteredManualExchangeRates = this.manualExchangeRates;\r\n }\r\n }\r\n\r\n saveRate(frm: any) {\r\n this.currentForm = frm;\r\n if (!this.model.exchangeRate || this.model.currency == 'null') {\r\n this.errorMessage = \"Exchange rate is required\";\r\n this.errorModal.openModal();\r\n return false;\r\n } else if (!this.model.currency || this.model.currency == 'null') {\r\n this.errorMessage = \"Currency is required\";\r\n this.errorModal.openModal();\r\n return false;\r\n } else if (!this.model.newYear || this.model.newYear == 'null') {\r\n this.errorMessage = \"Year is required\";\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var model = {\r\n exchangeRate: parseFloat(this.model.exchangeRate),\r\n currency: this.model.currency,\r\n defaultCurrency: this.defaultCurrency,\r\n year: parseInt(this.model.newYear)\r\n }\r\n\r\n this.blockUI.start('Saving exchange rate...');\r\n this.currencyService.saveManualExchangeRates(model).subscribe(\r\n data => {\r\n if (data) {\r\n var isRateExist = this.manualExchangeRates.filter(m => m.year == model.year && m.currency == model.currency);\r\n if (isRateExist.length > 0) {\r\n isRateExist[0].exchangeRate = model.exchangeRate;\r\n } else {\r\n this.manualExchangeRates.push(model);\r\n this.filteredManualExchangeRates.push(model);\r\n this.model.searchYear = null;\r\n }\r\n //this.currentForm.resetForm();\r\n this.model.searchYear = null;\r\n this.model.exchangeRate = null;\r\n //this.model.newYear = null;\r\n this.model.currency = null;\r\n }\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n deleteRate(e) {\r\n var id = e.currentTarget.id.split('-')[1];\r\n\r\n if (id) {\r\n this.blockUI.start('Deleting exchange rate...');\r\n this.currencyService.deleteManualExchangeRate(id).subscribe(\r\n data => {\r\n if (data) {\r\n this.manualExchangeRates = this.manualExchangeRates.filter(r => r.id != id);\r\n this.filteredManualExchangeRates = this.manualExchangeRates;\r\n this.model.searchDate = null;\r\n }\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n }\r\n\r\n saveAPIKey() {\r\n if (!this.model.apiKey) {\r\n this.errorMessage = Messages.INVALID_API_KEY;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.blockUI.start('Saving api key...');\r\n this.currencyService.saveAPIKeyOpenExchange(this.model.apiKey).subscribe(\r\n data => {\r\n if (data) {\r\n this.isAPIKeySet = true;\r\n this.model.apiKey = null;\r\n }\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n filterExchangeRates() {\r\n if (!this.model.searchYear || this.model.searchYear == 'null') {\r\n this.filteredManualExchangeRates = this.manualExchangeRates;\r\n } else {\r\n if (this.manualExchangeRates.length > 0) {\r\n var searchYear = this.model.searchYear;\r\n this.filteredManualExchangeRates = this.manualExchangeRates.filter(m => m.year == searchYear);\r\n }\r\n }\r\n }\r\n\r\n filterCurrencies() {\r\n if (!this.criteria) {\r\n this.filteredCurrencyRates = this.manualCurrencyRates;\r\n } else {\r\n if (this.manualCurrencyRates.length > 0) {\r\n var criteria = this.criteria.toLowerCase();\r\n this.filteredCurrencyRates = this.manualCurrencyRates.filter(c => c.currency.toLowerCase().indexOf(criteria) != -1);\r\n }\r\n }\r\n }\r\n\r\n setCurrencyExRate(e) {\r\n var currencyName = e.target.id;\r\n var currency = this.manualCurrencyRates.filter(c => c.currency == currencyName);\r\n if (currency.length > 0) {\r\n currency[0].rate = parseFloat(e.target.value);\r\n }\r\n }\r\n\r\n saveExchangeRates() {\r\n if (this.filteredCurrencyRates.length == 0) {\r\n this.errorMessage = Messages.INVALID_EXRATE_SAVE;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.filteredCurrencyRates.forEach(function (cur) {\r\n var currency = this.manualCurrencyRates.filter(c => c.currency == cur.currency);\r\n currency.rate = cur.rate;\r\n }.bind(this));\r\n\r\n this.blockUI.start('Saving exchange rates...');\r\n var model = {\r\n rates: this.manualCurrencyRates\r\n }\r\n this.currencyService.saveManualCurrencyRates(model).subscribe(\r\n data => {\r\n if (data) {\r\n }\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n getLatestExchangeRates() {\r\n this.currencyService.getExchangeRatesList().subscribe(\r\n data => {\r\n if (data) {\r\n this.exchangeRateDate = this.storeService.getLongDateString(data.dated);\r\n if (data.rates) {\r\n this.exchangeRates = data.rates;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n formatDate(dated: string) {\r\n return (this.storeService.getLongDateString(dated));\r\n }\r\n\r\n showAllManualRates() {\r\n this.model.searchYear = null;\r\n this.filteredManualExchangeRates = this.manualExchangeRates;\r\n }\r\n\r\n searchManualRates() {\r\n if (!this.model.searchDate) {\r\n this.filteredManualExchangeRates = this.manualExchangeRates;\r\n }\r\n var dated = new Date(this.model.searchDate.year + '-' + this.model.searchDate.month + '-' +\r\n this.model.searchDate.day);\r\n var longDate = this.storeService.getLongDateString(dated);\r\n this.filteredManualExchangeRates = this.manualExchangeRates.filter(r => this.storeService.getLongDateString(r.dated) == longDate);\r\n }\r\n\r\n showExRates() {\r\n this.manageTabsDisplay('exrates');\r\n }\r\n\r\n showOpenExRates() {\r\n this.manageTabsDisplay('open-exrates');\r\n }\r\n\r\n showLabelSetting() {\r\n this.manageTabsDisplay('label-setting');\r\n }\r\n\r\n manageTabsDisplay(tabIdentity) {\r\n for (var i = 0; i < this.displayTabs.length; i++) {\r\n var tab = this.displayTabs[i];\r\n if (tab.identity == tabIdentity) {\r\n tab.visible = true;\r\n this.currentTab = tabIdentity;\r\n } else {\r\n tab.visible = false;\r\n }\r\n }\r\n }\r\n\r\n saveManualRatesLabel(frm) {\r\n if (!this.model.exRateLabel) {\r\n this.errorMessage = 'Enter valid label for manual entry of exchange rates';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n this.blockUI.start('Setting label...');\r\n this.currencyService.setLabelForManualExRates(this.model.exRateLabel).subscribe(\r\n data => {\r\n if (data) {\r\n setTimeout(() => {\r\n location.reload();\r\n }, 1000);\r\n }\r\n frm.resetForm();\r\n }\r\n );\r\n \r\n }\r\n\r\n}\r\n","
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n  \r\n \r\n  \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Error! Please set the default and national currencies first before\r\n you save the exchange rates.\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {{manualExchangeRateSource}} for 1 {{defaultCurrency}} to no currency selected {{model.currency}}\r\n \r\n
\r\n \r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Ex. rateCurrencyYearAction
{{cur.exchangeRate}}{{cur.currency}}{{cur.year}}\r\n \r\n
\r\n \r\n
\r\n \r\n No exchange rates found.\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading rates...\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n API key is not set yet. Enter the key to set now.\r\n
\r\n
\r\n API key already set. Enter and save new, if you want to update.\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
Ex. Rates from (OpenExchangeRates) for 1 USD ({{exchangeRateDate}})\r\n
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
CurrencyRate
{{cur.currencyName}}\r\n {{cur.rate}}\r\n
\r\n No currencies to show.\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading currencies...\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Label is required\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ReportService } from 'src/app/services/report.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ErrorModalComponent } from 'src/app/error-modal/error-modal.component';\r\nimport { StoreService } from 'src/app/services/store-service';\r\nimport { CurrencyService } from 'src/app/services/currency.service';\r\nimport { Messages } from 'src/app/config/messages';\r\nimport { Settings } from 'src/app/config/settings';\r\nimport { ModalService } from 'src/app/services/modal.service';\r\nimport { UrlHelperService } from 'src/app/services/url-helper-service';\r\n\r\n@Component({\r\n selector: 'budget-report-summary',\r\n templateUrl: './budget-report-summary.component.html',\r\n styleUrls: ['./budget-report-summary.component.css']\r\n})\r\nexport class BudgetReportSummaryComponent implements OnInit {\r\n manualExRate: number = 0;\r\n oldExRateToDefault: number = 0;\r\n oldCurrencyRate: number = 0;\r\n defaultCurrency: string = null;\r\n oldCurrency: string = null;\r\n selectedCurrencyName: string = null;\r\n nationalCurrency: string = null;\r\n nationalCurrencyName: string = null;\r\n reportDataList: any = [];\r\n reportSettings: any = { title: null};\r\n currenciesList: any = [];\r\n exchangeRates: any = [];\r\n model: any = { selectedCurrency: null };\r\n errorMessage: string = null;\r\n grandTotalFunding: number = 0;\r\n grandTotalDisbursements: number = 0;\r\n datedToday: string = null;\r\n selectedYearlyDisbursements: any = [];\r\n selectedProject: string = null;\r\n excelFile: string = null;\r\n isDataLoading: boolean = true;\r\n btnReportText: string = 'View report';\r\n\r\n chartLabels: any = [];\r\n chartData: any = [];\r\n chartLegend: boolean = true;\r\n chartType: string = 'bar';\r\n pagingSize: number = Settings.rowsPerPage;\r\n\r\n chartOptions: any = {\r\n responsive: true,\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var tooltipValue = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n return parseInt(tooltipValue).toLocaleString();\r\n }\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true,\r\n callback: function (value, index, values) {\r\n return value.toLocaleString(\"en-US\");\r\n }\r\n }\r\n }],\r\n xAxes: [{\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n }]\r\n }\r\n };\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private reportService: ReportService, private errorModal: ErrorModalComponent,\r\n private storeService: StoreService, private currencyService: CurrencyService,\r\n private modalService: ModalService, private urlService: UrlHelperService) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.reports);\r\n this.blockUI.start('Loading report...');\r\n this.getDefaultCurrency();\r\n this.getNationalCurrency();\r\n this.getManualExchangeRateForToday();\r\n this.getBudgetReport();\r\n }\r\n\r\n getManualExchangeRateForToday() {\r\n var dated = this.storeService.getCurrentDateSQLFormat();\r\n var model = {\r\n dated: dated\r\n };\r\n this.currencyService.getAverageCurrencyForDate(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.exchangeRates = data;\r\n var nationalCurrencyRate = this.exchangeRates.filter(c => c.currency == this.nationalCurrencyName);\r\n if (nationalCurrencyRate.length > 0) {\r\n this.manualExRate = nationalCurrencyRate[0].rate;\r\n this.oldCurrencyRate = 1;\r\n }\r\n }\r\n });\r\n }\r\n\r\n getDefaultCurrency() {\r\n this.currencyService.getDefaultCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultCurrency = data.currency;\r\n this.model.selectedCurrency = data.currency;\r\n this.oldCurrency = this.model.selectedCurrency;\r\n this.selectedCurrencyName = data.currencyName;\r\n this.currenciesList.push(data);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getNationalCurrency() {\r\n this.currencyService.getNationalCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.nationalCurrency = data;\r\n this.nationalCurrencyName = data.currency;\r\n this.currenciesList.push(data);\r\n }\r\n\r\n setTimeout(() => {\r\n this.isDataLoading = false;\r\n }, 2000);\r\n }\r\n );\r\n }\r\n\r\n getBudgetReport() {\r\n this.reportService.getBudgetSummaryReport().subscribe(\r\n data => {\r\n if (data) {\r\n this.reportDataList = data;\r\n this.datedToday = this.storeService.getLongDateString(new Date());\r\n this.btnReportText = 'Update report';\r\n if (this.reportDataList.reportSettings) {\r\n this.excelFile = this.reportDataList.reportSettings.excelReportName;\r\n this.setExcelFile();\r\n }\r\n\r\n if (this.reportDataList.projects) {\r\n this.reportDataList.projects.forEach((p) => {\r\n p.isDisplay = false;\r\n });\r\n }\r\n\r\n if (this.reportDataList.totalYearlyDisbursements) {\r\n this.setupChartData();\r\n }\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n displayHideRow(id) {\r\n if (this.reportDataList.projects) {\r\n var selectProject = this.reportDataList.projects.filter(p => p.id == id);\r\n if (selectProject.length > 0) {\r\n selectProject[0].isDisplay = !selectProject[0].isDisplay;\r\n }\r\n }\r\n }\r\n\r\n setupChartData() {\r\n this.chartData = [];\r\n var yearlyDisbursements = this.reportDataList.totalYearlyDisbursements;\r\n this.chartLabels = yearlyDisbursements.map(y => y.year);\r\n var disbursements = yearlyDisbursements.map(y => y.totalDisbursements);\r\n var expectedDisbursements = yearlyDisbursements.map(y => y.totalExpectedDisbursements);\r\n\r\n this.chartData.push({\r\n data: disbursements,\r\n label: 'Actual disbursements',\r\n stack: 'Stack 0'\r\n });\r\n\r\n this.chartData.push({\r\n data: expectedDisbursements,\r\n label: 'Planned disbursements',\r\n stack: 'Stack 0'\r\n });\r\n }\r\n\r\n showDetail(id: number) {\r\n var filteredProject = this.reportDataList.projects.filter(p => p.id == id);\r\n if (filteredProject.length > 0) {\r\n this.selectedProject = filteredProject[0].title;\r\n this.selectedYearlyDisbursements = filteredProject[0].yearlyDisbursements;\r\n\r\n this.modalService.open('disbursement-info-modal');\r\n }\r\n }\r\n\r\n closeDetail() {\r\n this.modalService.close('disbursement-info-modal');\r\n }\r\n\r\n printReport() {\r\n this.storeService.printReport('rpt-budget-report', 'Budget report', this.selectedCurrencyName);\r\n }\r\n\r\n selectCurrency() {\r\n if (this.model.selectedCurrency == null || this.model.selectCurrency == 'null') {\r\n return false;\r\n } else {\r\n var selectedCurrency = this.currenciesList.filter(c => c.currency == this.model.selectedCurrency);\r\n if (selectedCurrency.length > 0) {\r\n this.selectedCurrencyName = selectedCurrency[0].currencyName;\r\n }\r\n }\r\n if (this.model.selectedCurrency) {\r\n this.getCurrencyRates();\r\n }\r\n }\r\n\r\n getCurrencyRates() {\r\n var exRate: number = 0;\r\n var calculatedRate = 0;\r\n if (this.manualExRate == 0) {\r\n this.errorMessage = Messages.EX_RATE_NOT_FOUND;\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n if (this.model.selectedCurrency == this.defaultCurrency) {\r\n exRate = 1;\r\n } else {\r\n exRate = this.manualExRate;\r\n }\r\n\r\n calculatedRate = (exRate / this.oldCurrencyRate);\r\n this.oldCurrencyRate = exRate;\r\n this.oldCurrency = this.model.selectedCurrency;\r\n this.oldExRateToDefault = exRate;\r\n this.applyRateOnFinancials(calculatedRate, exRate);\r\n }\r\n\r\n applyRateOnFinancials(calculatedRate = 1, defaultRate = 1) {\r\n if (calculatedRate != 1) {\r\n if (this.reportDataList.projects && this.reportDataList.projects.length > 0) {\r\n this.reportDataList.projects.forEach(p => {\r\n if (p.yearlyDisbursements) {\r\n p.yearlyDisbursements.forEach((d) => {\r\n d.disbursements = Math.round(parseFloat((d.disbursements * calculatedRate).toFixed(2)));\r\n d.actualDisbursements = Math.round(parseFloat((d.actualDisbursements * calculatedRate).toFixed(2)));\r\n d.expectedDisbursements = Math.round(parseFloat((d.expectedDisbursements * calculatedRate).toFixed(2)));\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (this.reportDataList.totalYearlyDisbursements && this.reportDataList.totalYearlyDisbursements.length > 0) {\r\n this.reportDataList.totalYearlyDisbursements.forEach((t) => {\r\n t.totalDisbursements = Math.round(parseFloat((t.totalDisbursements * calculatedRate).toFixed(2)));\r\n t.totalExpectedDisbursements = Math.round(parseFloat((t.totalExpectedDisbursements * calculatedRate).toFixed(2)));\r\n });\r\n\r\n this.setupChartData();\r\n }\r\n }\r\n }\r\n\r\n getCurrentYear() {\r\n return this.storeService.getCurrentYear();\r\n }\r\n\r\n formatNumber(value: number) {\r\n return this.storeService.getNumberWithCommas(value);\r\n }\r\n\r\n getLongDateString(dated: string) {\r\n return this.storeService.getLongDateString(dated);\r\n }\r\n\r\n setExcelFile() {\r\n if (this.excelFile) {\r\n this.excelFile = this.urlService.getExcelFilesUrl() + this.excelFile;\r\n }\r\n }\r\n\r\n generatePDF() {\r\n this.blockUI.start('Generating PDF...');\r\n setTimeout(() => {\r\n var result = Promise.resolve(this.reportService.generatePDF('rpt-budget-report'));\r\n result.then(() => {\r\n this.blockUI.stop();\r\n });\r\n }, 500);\r\n }\r\n\r\n getTodaysDate() {\r\n return this.storeService.getLongDateAndTime();\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n   \r\n  \r\n 0 && model.selectedCurrency == nationalCurrencyName\" class=\"text-warning\">\r\n Exchange rate: 1 {{defaultCurrency}} = {{manualExRate}} {{nationalCurrencyName}} on\r\n {{datedToday}}\r\n \r\n\r\n \r\n No exchange rate available, contact Administrator.\r\n \r\n
\r\n
\r\n \r\n  \r\n  \r\n Download spreadsheet \r\n \r\n \r\n
\r\n
\r\n \r\n Default currency is not set and it may produce errors on reports.\r\n Please contact administrator.\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Budget report (Currency: {{this.selectedCurrencyName}})
\r\n
\r\n\r\n
0\" class=\"col-md-12 margin-top-10\">\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
0\" class=\"margin-bottom-none\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  \r\n {{label}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{project.title}}\r\n Disbursements\r\n {{formatNumber(d.disbursements)}}\r\n
 Actual\r\n {{formatNumber(d.actualDisbursements)}}\r\n
 Planned\r\n {{formatNumber(d.expectedDisbursements)}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TotalActual disbursements\r\n {{formatNumber(d.totalDisbursements)}}\r\n
Planned disbursements\r\n {{formatNumber(d.totalExpectedDisbursements)}}\r\n
\r\n \r\n
\r\n \r\n
\r\n No budget data avaialable to show\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n Generated on: {{getTodaysDate()}}\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
Disbursements details for {{selectedProject}}
\r\n
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
 \r\n {{y.year}}\r\n
Actual disbursements\r\n {{formatNumber(d.actualDisbursements)}}\r\n
Planned disbursements\r\n {{formatNumber(d.expectedDisbursements)}}\r\n
Total disbursements\r\n {{formatNumber(d.disbursements)}}\r\n
\r\n \r\n No disbursements to show\r\n \r\n
\r\n

\r\n \r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-location-iati',\r\n templateUrl: './location-iati.component.html',\r\n styleUrls: ['./location-iati.component.css']\r\n})\r\nexport class LocationIatiComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

\r\n location-iati works!\r\n

\r\n","import { ValidationErrors, ValidatorFn, AbstractControl } from '@angular/forms';\r\n\r\nexport class CustomValidators {\r\n static patternValidator(regex: RegExp, error: ValidationErrors): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } => {\r\n if (!control.value) {\r\n // if control is empty return no error\r\n return null;\r\n }\r\n\r\n // test the value of the control against the regexp supplied\r\n const valid = regex.test(control.value);\r\n\r\n // if true, return no error (no error), else return error passed in the second parameter\r\n return valid ? null : error;\r\n };\r\n }\r\n\r\n static passwordMatchValidator(control: AbstractControl) {\r\n const password: string = control.get('password').value; // get password from our password form control\r\n const confirmPassword: string = control.get('confirmPassword').value; // get password from our confirmPassword form control\r\n // compare is the password math\r\n if (password !== confirmPassword) {\r\n // if they don't match, set an error in our confirmPassword form control\r\n control.get('confirmPassword').setErrors({ NoPassswordMatch: true });\r\n }\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, catchError, tap } from 'rxjs/operators';\r\nimport { SectorType } from '../models/sectortype-model';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SectorTypeService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService, \r\n private storeService: StoreService) { }\r\n\r\n\r\n getSectorTypesList() {\r\n var url = this.urlHelper.getSectorTypeUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('SectorTypes')));\r\n }\r\n\r\n filterSectorTypes(criteria: string) {\r\n var url = this.urlHelper.getSearchSectorTypeUrl(criteria);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('SectorTypes')));\r\n }\r\n\r\n getDefaultSectorType() {\r\n var url = this.urlHelper.getDefaultSectorTypeUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Default SectorType')));\r\n }\r\n\r\n getSectorType(id: string) {\r\n var url = this.urlHelper.getSingleSectorTypeUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('SectorType')));\r\n }\r\n\r\n addSectorType(model: any) {\r\n var url = this.urlHelper.getSectorTypeUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New SectorType')));\r\n }\r\n\r\n updateSectorType(id: number, model: any) {\r\n var url = this.urlHelper.getSectorTypeUrl() + '/' + id;\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Update SectorType')));\r\n }\r\n\r\n deleteSectorType(id: string) {\r\n var url = this.urlHelper.getSectorTypeUrl() + '/' + id;\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sector type'))\r\n );\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Messages } from '../config/messages';\r\nimport {NgbDateStruct, NgbCalendar} from '@ng-bootstrap/ng-bootstrap';\r\nimport { IATIService } from '../services/iati.service';\r\nimport { ModalService } from '../services/modal.service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-manage-project',\r\n templateUrl: './manage-project.component.html',\r\n styleUrls: []\r\n})\r\nexport class ManageProjectComponent implements OnInit {\r\n\r\n @Input()\r\n isForEdit: boolean = false;\r\n isIATILoading: boolean = false;\r\n isBtnDisabled: boolean = false;\r\n projectId: number = 0;\r\n counter: number = 0;\r\n btnText: string = 'Add Project';\r\n errorMessage: string = '';\r\n projectTypes: any = [];\r\n categories: any = [];\r\n filteredCategories: any = [];\r\n subCategories: any = [];\r\n filteredSubCategories: any = [];\r\n iatiActivities: any = [];\r\n filteredIatiActivities: any = [];\r\n matchingProjects: any = [];\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n isSearchingProjects: boolean = false;\r\n isSearchedResults: boolean = false;\r\n displayTime: number = 5000;\r\n startDateModel: NgbDateStruct;\r\n model = { id: 0, title: '', startDate: null, endDate: null, description: null };\r\n\r\n constructor(private projectService: ProjectService, private route: ActivatedRoute,\r\n private router: Router, private calendar: NgbCalendar,\r\n private storeService: StoreService, private iatiService: IATIService,\r\n private modalService: ModalService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.route.snapshot.data && this.route.snapshot.data.isForEdit) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Edit Project';\r\n this.isForEdit = true;\r\n this.projectId = id;\r\n this.loadProjectData();\r\n } \r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n \r\n //this.loadIATIActivities();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n loadIATIActivities() {\r\n this.iatiService.getIATIActivities().subscribe(\r\n data => {\r\n this.iatiActivities = data;\r\n },\r\n error => {\r\n }\r\n )\r\n }\r\n\r\n filterMatchingActivities(e) {\r\n this.isIATILoading = true;\r\n var str = e.target.value;\r\n this.iatiService.getFilteredIATIActivities(str).subscribe(\r\n data => {\r\n this.isIATILoading = false;\r\n this.filteredIatiActivities = data;\r\n },\r\n error => {\r\n this.isIATILoading = false;\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n selectIATIActivity(e) {\r\n var id = e.target.id;\r\n var selectActivity = this.filteredIatiActivities.filter(\r\n iati => iati.id == id\r\n );\r\n\r\n if (selectActivity.length && selectActivity.length > 0) {\r\n this.model.title = selectActivity[0].title;\r\n this.model.description = selectActivity[0].description;\r\n }\r\n }\r\n\r\n loadProjectData() {\r\n this.projectService.getProject(this.projectId.toString()).subscribe(\r\n data => {\r\n var sDateArr = data.startDate.split('/');\r\n var eDateArr = data.endDate.split('/');\r\n var startDateModel = {year: parseInt(sDateArr[2]), month: parseInt(sDateArr[0]), day: parseInt(sDateArr[1])};\r\n var endDateModel = {year: parseInt(eDateArr[2]), month: parseInt(eDateArr[0]), day: parseInt(eDateArr[1])};\r\n this.model.id = data.id;\r\n this.model.title = data.title;\r\n this.model.description = data.description;\r\n this.model.startDate = startDateModel;\r\n this.model.endDate = endDateModel;\r\n },\r\n error => {\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n\r\n saveProject() {\r\n var startDate = this.model.startDate.year + '-' + this.model.startDate.month + '-' + \r\n this.model.startDate.day;\r\n var endDate = this.model.endDate.year + '-' + this.model.endDate.month + '-' + \r\n this.model.endDate.day;\r\n\r\n var model = {\r\n Title: this.model.title,\r\n StartDate: startDate,\r\n EndDate: endDate,\r\n Description: this.model.description\r\n };\r\n\r\n this.isBtnDisabled = true;\r\n if (this.isForEdit) {\r\n this.btnText = 'Updating...';\r\n this.projectService.updateProject(this.model.id, model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n var message = 'Project' + Messages.RECORD_UPDATED;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('projects');\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.isError = true;\r\n this.errorMessage = error;\r\n this.resetFormState();\r\n }\r\n );\r\n } else {\r\n this.btnText = 'Saving...';\r\n this.projectService.addProject(model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n var message = 'New project' + Messages.NEW_RECORD;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('projects');\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.resetFormState();\r\n }\r\n );\r\n }\r\n }\r\n\r\n searchProjects() {\r\n if (this.model.title != null) {\r\n this.isSearchingProjects = true;\r\n \r\n this.projectService.filterProjects(this.model.title).subscribe(\r\n data => {\r\n this.isSearchingProjects = false;\r\n if (data && data.length) {\r\n this.matchingProjects = data\r\n this.isSearchedResults = true;\r\n } else {\r\n setTimeout(() => {\r\n this.isSearchedResults = true;\r\n }, this.displayTime);\r\n }\r\n },\r\n error => {\r\n this.isSearchingProjects = false;\r\n }\r\n );\r\n } \r\n }\r\n\r\n showProjectProfile(e) {\r\n var id = e.target.id;\r\n if (id) {\r\n this.closeModal('matching-projects');\r\n this.router.navigateByUrl('view-project/' + id);\r\n }\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n if (this.isForEdit) {\r\n this.btnText = 'Edit Project';\r\n } else {\r\n this.btnText = 'Add Project';\r\n }\r\n }\r\n\r\n openMatchingProjects() {\r\n this.openModal('matching-projects');\r\n }\r\n\r\n openModal(id: string) {\r\n this.modalService.open(id);\r\n }\r\n\r\n closeModal(id: string) {\r\n this.modalService.close(id);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Relevant IATI Activities
\r\n
\r\n Wait looking for matches from IATI...\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Activity Title: {{activity.title}}
\r\n Description: {{activity.description}}
\r\n Currency: {{activity.defaultCurrency}}
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Project
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n
Looking for matches...
\r\n
\r\n
\r\n
0\" class=\"margin-top-10\">\r\n \r\n
\r\n
\r\n
\r\n Project Title is required\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Matching Projects
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Project Title: {{project.title}}
\r\n Start Date: {{project.startDate}}
\r\n End Date: {{project.endDate}}
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DocumentLinkService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService,\r\n private storeService: StoreService) { \r\n }\r\n\r\n getDocumentLinks() {\r\n var url = this.urlHelper.getDocumentLinkUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Document Link')));\r\n }\r\n\r\n addDocumentLink(model: any) {\r\n var url = this.urlHelper.getDocumentLinkUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Document Link')));\r\n }\r\n\r\n deleteDocumentLink(id: string) {\r\n var url = this.urlHelper.getDocumentLinkUrl() + '/' + id;\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Document Link')));\r\n }\r\n \r\n}","import { Component, OnInit, Input } from '@angular/core';\r\nimport { SectorService } from '../services/sector.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Messages } from '../config/messages';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { SectorTypeService } from '../services/sector-types.service';\r\nimport { Settings } from '../config/settings';\r\n\r\n@Component({\r\n selector: 'app-manage-sector',\r\n templateUrl: './manage-sector.component.html',\r\n styleUrls: ['./manage-sector.component.css']\r\n})\r\nexport class ManageSectorComponent implements OnInit {\r\n\r\n @Input()\r\n isLoading: boolean = true;\r\n isForEdit: boolean = false;\r\n isBtnDisabled: boolean = false;\r\n isDvDisabled: boolean = true;\r\n sectorId: number = 0;\r\n btnText: string = 'Add sector';\r\n sectorTabText: string = 'New sector';\r\n errorMessage: string = '';\r\n allSectors: any = [];\r\n sectors: any = [];\r\n sectorTypes: any = [];\r\n editableSectorTypes: any = [];\r\n sectorChildren: any = [];\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n model = { id: 0, sectorTypeId: 0, sectorName: null, parentId: 0 };\r\n childModel = { childSectorId: null };\r\n permissions: any = {};\r\n @BlockUI() blockUI: NgBlockUI;\r\n\r\n constructor(private sectorService: SectorService, private route: ActivatedRoute,\r\n private router: Router, private errorModal: ErrorModalComponent,\r\n private storeService: StoreService, private securityService: SecurityHelperService,\r\n private sectorTypeService: SectorTypeService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditSector) {\r\n this.router.navigateByUrl('sectors');\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n if (this.route.snapshot.data && this.route.snapshot.data.isForEdit) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.model.id = id;\r\n }\r\n }\r\n \r\n this.getSectorTypes();\r\n if (this.model.id != 0) {\r\n this.btnText = 'Save Sector';\r\n this.sectorTabText = 'Edit sector';\r\n this.isForEdit = true;\r\n this.sectorId = id;\r\n this.isDvDisabled = false;\r\n setTimeout(() => {\r\n this.loadSectorData();\r\n this.getSectorChildren(id);\r\n }, 1000);\r\n } else {\r\n this.isLoading = false;\r\n }\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n getSectorTypes() {\r\n this.sectorTypeService.getSectorTypesList().subscribe(\r\n data => {\r\n if (data) {\r\n var sectorTypesList = data;\r\n var sectorType = sectorTypesList.filter(s => s.isPrimary == true);\r\n this.sectorTypes = sectorTypesList.filter(s => s.isPrimary == true || s.isSourceType == false);\r\n this.editableSectorTypes = this.sectorTypes.map(t => t.id)\r\n if (sectorType.length > 0) {\r\n this.model.sectorTypeId = sectorType[0].id;\r\n this.getSectors();\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getSectors() {\r\n this.sectorService.getSectorsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.allSectors = data;\r\n this.sectors = this.allSectors.filter(s => s.sectorTypeId == this.model.sectorTypeId && s.parentSector == null);\r\n }\r\n }\r\n );\r\n }\r\n\r\n filterParentSectors() {\r\n if (this.model.sectorTypeId > 0) {\r\n this.sectors = this.allSectors.filter(s => s.sectorTypeId == this.model.sectorTypeId && s.parentSector == null);\r\n }\r\n }\r\n\r\n getSectorChildren(id: string) {\r\n this.sectorService.getSectorChildren(id).subscribe(\r\n data => {\r\n if (data) {\r\n this.sectorChildren = data;\r\n }\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n )\r\n }\r\n\r\n loadSectorData() {\r\n this.sectorService.getSector(this.sectorId.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n var sectorTypeId = data.sectorTypeId;\r\n if (sectorTypeId) {\r\n if (!this.editableSectorTypes.includes(sectorTypeId)) {\r\n this.router.navigateByUrl('sectors');\r\n }\r\n }\r\n this.model.id = data.id;\r\n this.model.sectorTypeId = data.sectorTypeId;\r\n this.model.parentId = data.parentId;\r\n this.model.sectorName = data.sectorName;\r\n }\r\n this.isLoading = false;\r\n },\r\n error => {\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n\r\n saveSector() {\r\n var model = {\r\n SectorTypeId: parseInt(this.model.sectorTypeId.toString()),\r\n SectorName: this.model.sectorName,\r\n ParentId: parseInt(this.model.parentId.toString()),\r\n };\r\n\r\n this.isBtnDisabled = true;\r\n if (this.isForEdit) {\r\n this.btnText = 'Updating...';\r\n this.sectorService.updateSector(this.model.id, model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n var message = 'Sector' + Messages.RECORD_UPDATED;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('sectors');\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.isError = true;\r\n this.errorMessage = error;\r\n this.resetFormState();\r\n }\r\n );\r\n } else {\r\n this.btnText = 'Saving...';\r\n this.sectorService.addSector(model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n var message = 'New sector' + Messages.NEW_RECORD;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('sectors');\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.resetFormState();\r\n }\r\n );\r\n }\r\n }\r\n\r\n saveChildSector() {\r\n this.blockUI.start('Saving sector child...');\r\n this.sectorService.setChild(this.model.id.toString(), this.childModel.childSectorId).subscribe(\r\n data => {\r\n if (data) {\r\n var sector = this.sectors.filter(s => s.id == this.childModel.childSectorId);\r\n if (sector && sector.length > 0) {\r\n var newChild = {\r\n id: sector[0].id,\r\n sectorName: sector[0].sectorName\r\n }\r\n this.sectorChildren.push(newChild);\r\n }\r\n } else {\r\n this.resetFormState();\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.errorModal.openModal();\r\n this.resetFormState();\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n removeChildSector(id) {\r\n this.blockUI.start('Removing sector child...');\r\n this.sectorService.removeChild(this.model.id.toString(), id).subscribe(\r\n data => {\r\n if (data) {\r\n var sector = this.sectors.filter(s => s.id == id);\r\n if (sector && sector.length > 0) {\r\n var newChild = {\r\n id: sector[0].id,\r\n sectorName: sector[0].sectorName\r\n }\r\n this.sectorChildren = this.sectorChildren.filter(s => s.id != id);\r\n }\r\n } else {\r\n this.resetFormState();\r\n }\r\n this.blockUI.stop();\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.errorModal.openModal();\r\n this.resetFormState();\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n if (this.isForEdit) {\r\n this.btnText = 'Edit Sector';\r\n } else {\r\n this.btnText = 'Add Sector';\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Sector
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Sector Name is required\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
New Child Sector
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Sector is required\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Child Sectors
\r\n 0\" class=\"table table-bordered\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SectorAction
{{sector.sectorName}}\r\n \r\n
\r\n
\r\n No children sectors available\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { LoginModel } from '../models/login-model';\r\nimport { UserService } from '../services/user-service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { CurrencyService } from '../services/currency.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n model: any = {};\r\n errorMessage: string = '';\r\n isError: boolean = false;\r\n tenSeconds: number = 10000;\r\n btnText: string = 'Log In';\r\n isBtnDisabled: boolean = false;\r\n requestNo: number = 0;\r\n\r\n constructor(private userService: UserService, private securityService: SecurityHelperService,\r\n private router: Router, private storeService: StoreService,\r\n private currencyService: CurrencyService) { }\r\n\r\n ngOnInit() {\r\n var isLoggedIn = localStorage.getItem('isLoggedIn');\r\n if (isLoggedIn == 'true') {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.model = new LoginModel('', '');\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n this.resetError();\r\n this.resetDefaultStatus();\r\n }\r\n });\r\n }\r\n\r\n resetError() {\r\n if (this.isError) {\r\n setTimeout(() => {\r\n this.isError = false;\r\n }, this.tenSeconds);\r\n }\r\n }\r\n\r\n authenticateUser() {\r\n this.isError = false;\r\n this.btnText = 'Authenticating...';\r\n this.isBtnDisabled = true;\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n\r\n this.userService.authenticateUser(this.model.Email, this.model.Password).subscribe(data => {\r\n if (data) {\r\n if (data && data.error) {\r\n this.errorMessage = 'Username/Password entered is incorrect';\r\n this.isError = true;\r\n this.resetDefaultStatus();\r\n }\r\n else if (data && !data.error && !data.isApproved) {\r\n this.errorMessage = 'Your account is not approved yet';\r\n this.isError = true;\r\n this.resetDefaultStatus();\r\n } else if (data.token) {\r\n this.securityService.storeLoginData(data);\r\n location.reload();\r\n } \r\n }\r\n });\r\n }\r\n\r\n getExchangeRates() {\r\n this.currencyService.getExchangeRatesList().subscribe(\r\n data => {\r\n if (data) {\r\n this.storeService.storeExchangeRates(data.rates);\r\n }\r\n }\r\n );\r\n }\r\n\r\n resetDefaultStatus() {\r\n this.btnText = 'Log In';\r\n this.isBtnDisabled = false;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Log in
\r\n
\r\n
\r\n \r\n \r\n
\r\n Enter valid email address\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n Password is required\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n Do not have account? Register now
\r\n Forgot password? Click here\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Messages } from '../config/messages';\r\n\r\n@Component({\r\n selector: 'app-project-disbursement',\r\n templateUrl: './project-disbursement.component.html',\r\n styleUrls: ['./project-disbursement.component.css']\r\n})\r\nexport class ProjectDisbursementComponent implements OnInit {\r\n\r\n @Input()\r\n isBtnDisabled: boolean = false;\r\n btnText: string = 'Add Project Disbursement';\r\n errorMessage: string = '';\r\n disbursements: any = [];\r\n requestNo: number = 0;\r\n isError: boolean = false;\r\n yearsList: any = [];\r\n endingYearsList: any = [];\r\n\r\n monthsList: any = [\r\n {key: 'January', value: 1},\r\n {key: 'February', value: 2},\r\n {key: 'March', value: 3},\r\n {key: 'April', value: 4},\r\n {key: 'May', value: 5},\r\n {key: 'June', value: 6},\r\n {key: 'July', value: 7},\r\n {key: 'August', value: 8},\r\n {key: 'September', value: 9},\r\n {key: 'October', value: 10},\r\n {key: 'November', value: 11},\r\n {key: 'December', value: 12}\r\n ];\r\n \r\n model = { projectId: 0, disbursementId: null, startingYear: null, startingMonth: null,\r\n endingYear: null, endingMonth: null, amount: null };\r\n\r\n constructor(private projectService: ProjectService, private route: ActivatedRoute,\r\n private router: Router,\r\n private storeService: StoreService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.route.snapshot.data) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.btnText = 'Add Project Disbursement';\r\n this.model.projectId = id;\r\n this.loadDisbursements(id);\r\n } else {\r\n this.router.navigateByUrl('/');\r\n }\r\n }\r\n\r\n var currentDate = new Date();\r\n var currentYear = currentDate.getFullYear();\r\n var lowerLimit = currentYear - 20;\r\n var upperLimit = currentYear + 10;\r\n\r\n for(var y=currentYear; y >= lowerLimit; y--) {\r\n this.yearsList.push(y);\r\n }\r\n\r\n lowerLimit = currentYear - 5;\r\n for(var y=lowerLimit; y <= upperLimit; y++) {\r\n this.endingYearsList.push(y);\r\n }\r\n \r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n }\r\n\r\n loadDisbursements(id: string) {\r\n this.projectService.getProjectDisbursements(id).subscribe(\r\n data => {\r\n this.disbursements = data;\r\n },\r\n error => {\r\n console.log(\"Request Failed: \", error);\r\n }\r\n );\r\n }\r\n\r\n saveProjectDisbursement() {\r\n var model = {\r\n ProjectId: this.model.projectId,\r\n DisbursementId: this.model.disbursementId,\r\n Amount: this.model.amount,\r\n StartingYear: this.model.startingYear,\r\n StartingMonth: this.model.startingMonth,\r\n EndingYear: this.model.endingYear,\r\n EndingMonth: this.model.endingMonth\r\n };\r\n\r\n this.isBtnDisabled = true;\r\n this.btnText = 'Saving...';\r\n this.projectService.addProjectDisbursement(model).subscribe(\r\n data => {\r\n if (!this.isError) {\r\n var message = 'New project disbursement ' + Messages.NEW_RECORD;\r\n this.storeService.newInfoMessage(message);\r\n this.router.navigateByUrl('view-project/' + this.model.projectId);\r\n } else {\r\n this.resetFormState();\r\n }\r\n },\r\n error => {\r\n this.errorMessage = error;\r\n this.isError = true;\r\n this.resetFormState();\r\n }\r\n );\r\n }\r\n\r\n resetFormState() {\r\n this.isBtnDisabled = false;\r\n this.btnText = 'Add Project Disbursement';\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
New Project Disbursement
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Starting Year is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Starting Month is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Ending Year is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Ending Month is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Fund amount is required\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { UserService } from '../services/user-service';\r\nimport { Settings } from '../config/settings';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { StoreService } from '../services/store-service';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-user-manager',\r\n templateUrl: './user-manager.component.html',\r\n styleUrls: ['./user-manager.component.css']\r\n})\r\nexport class UserManagerComponent implements OnInit {\r\n loggedInUserId: string = null;\r\n userEmail: string = null;\r\n permissions: any = {};\r\n usersList: any = [];\r\n managerUsers: any = [];\r\n standardUsers: any = [];\r\n selectedEmails: any = [];\r\n isManagersLoading: boolean = true;\r\n isStandardUsersLoading: boolean = true;\r\n currentTab: string = null;\r\n pagingSize: number = Settings.rowsPerPage;\r\n userTypeConstants: any = {\r\n MANAGER_USER: 'manager',\r\n STANDARD_USER: 'standard'\r\n };\r\n userTypeCodes: any = {\r\n MANAGER_USER: 1,\r\n STANDARD_USER: 2\r\n };\r\n isCreateContactEmails: boolean = false;\r\n\r\n displayTabs: any = [\r\n { visible: true, identity: 'manager' },\r\n { visible: false, identity: 'standard' },\r\n ];\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private userService: UserService, private storeService: StoreService,\r\n private securityService: SecurityHelperService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.storeService.newReportItem(Settings.dropDownMenus.management);\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canManageUsers) {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.userEmail = this.securityService.getUserEmail();\r\n this.loggedInUserId = this.securityService.getUserId();\r\n this.currentTab = this.userTypeConstants.MANAGER_USER;\r\n this.getManagerUsers();\r\n this.getStandardUsers();\r\n }\r\n\r\n getUsersList() {\r\n this.userService.getUsersList().subscribe(\r\n data => {\r\n if (data) {\r\n this.usersList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getManagerUsers() {\r\n this.userService.getManagerUsers().subscribe(\r\n data => {\r\n if (data) {\r\n this.managerUsers = data;\r\n }\r\n this.isManagersLoading = false;\r\n }\r\n );\r\n }\r\n\r\n getStandardUsers() {\r\n this.userService.getStandardUsers().subscribe(\r\n data => {\r\n if (data) {\r\n this.standardUsers = data;\r\n }\r\n this.isStandardUsersLoading = false;\r\n }\r\n );\r\n }\r\n\r\n showManagerUsers() {\r\n this.manageTabsDisplay(this.userTypeConstants.MANAGER_USER);\r\n }\r\n\r\n showStandardUsers() {\r\n this.manageTabsDisplay(this.userTypeConstants.STANDARD_USER);\r\n }\r\n\r\n manageTabsDisplay(tabIdentity) {\r\n for (var i = 0; i < this.displayTabs.length; i++) {\r\n var tab = this.displayTabs[i];\r\n if (tab.identity == tabIdentity) {\r\n tab.visible = true;\r\n this.currentTab = tabIdentity;\r\n } else {\r\n tab.visible = false;\r\n }\r\n }\r\n }\r\n\r\n promoteUser(id) {\r\n if (id) {\r\n this.blockUI.start('Wait promoting user....');\r\n this.userService.promoteUser(id).subscribe(\r\n data => {\r\n if (data) {\r\n var userPromoted = this.standardUsers.filter(u => u.id == id);\r\n this.standardUsers = this.standardUsers.filter(u => u.id != id);\r\n if (userPromoted.length > 0) {\r\n this.managerUsers.push(userPromoted[0]);\r\n }\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n demoteUser(id) {\r\n if (id) {\r\n this.blockUI.start('Wait demoting user....');\r\n this.userService.demoteUser(id).subscribe(\r\n data => {\r\n if (data) {\r\n var userDemoted = this.managerUsers.filter(u => u.id == id);\r\n this.managerUsers = this.managerUsers.filter(u => u.id != id);\r\n if (userDemoted.length > 0) {\r\n this.standardUsers.push(userDemoted[0]);\r\n }\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n exportContactEmails() {\r\n if (this.currentTab == this.userTypeConstants.STANDARD_USER) {\r\n this.selectedEmails = this.standardUsers.filter(u => u.email != this.userEmail).map(u => u.email); \r\n } else if (this.currentTab == this.userTypeConstants.MANAGER_USER) {\r\n this.selectedEmails = this.managerUsers.filter(u => u.email != this.userEmail).map(u => u.email); \r\n }\r\n this.isCreateContactEmails = true;\r\n }\r\n\r\n showUsers($event) {\r\n this.isCreateContactEmails = false;\r\n }\r\n\r\n}\r\n","
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n  Loading users...\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n 0\" class=\"table table-striped\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
EmailOrganizationAction
{{user.email}}{{user.organization}}\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n No manager users to show\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
EmailOrganizationAction
{{user.email}}{{user.organization}}\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n No manager users to show\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { ContactService } from '../services/contact.service';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\n\r\n@Component({\r\n selector: 'app-contact-project',\r\n templateUrl: './contact-project.component.html',\r\n styleUrls: ['./contact-project.component.css']\r\n})\r\nexport class ContactProjectComponent implements OnInit {\r\n questions: any = [\r\n { \"id\": 1, \"type\": \"add\", \"question\": \"I want to suggest new data\" },\r\n { \"id\": 2, \"type\": \"edit\", \"question\": \"I want to suggest edit some project data\" },\r\n { \"id\": 2, \"type\": \"amend\", \"question\": \"I want to suggest correction for some project data\" }\r\n ];\r\n errorMessage: string = null;\r\n successMessage: string = null;\r\n isSuccess: boolean = false;\r\n isLoggedIn: boolean = false;\r\n isError: boolean = false;\r\n requestNo: number = 0;\r\n messageLimit: number = Settings.descriptionMediumLimit;\r\n messageLimitLeft: number = Settings.descriptionMediumLimit;\r\n MESSAGE_SENT = 1;\r\n MESSAGE_TO_REVIEW = 2;\r\n\r\n emailTypes: any = [\r\n { text: 'Help', val: 1 },\r\n { text: 'Project information', val: 2 }\r\n ];\r\n\r\n emailTypeCodes: any = {\r\n HELP: 1,\r\n INFORMATION: 2\r\n };\r\n \r\n @BlockUI() blockUI: NgBlockUI;\r\n\r\n model = { senderName: null, senderEmail: '', subject: null, message: null, \r\n projectId: 0, projectTitle: null, emailType: this.emailTypeCodes.HELP };\r\n \r\n constructor(private projectService: ProjectService, private route: ActivatedRoute,\r\n private contactService: ContactService, private errorModal: ErrorModalComponent,\r\n private storeService: StoreService, private router: Router,\r\n private securityService: SecurityHelperService) { }\r\n\r\n ngOnInit() {\r\n if (this.route.snapshot.data) {\r\n var id = this.route.snapshot.params[\"{id}\"];\r\n if (id) {\r\n this.model.projectId = id;\r\n this.getProjectInfo(id);\r\n this.model.subject = 'Contacting a project';\r\n this.model.emailType = this.emailTypeCodes.HELP;\r\n }\r\n } else {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n this.isLoggedIn = this.securityService.checkIsLoggedIn();\r\n if (this.isLoggedIn) {\r\n this.model.senderEmail = this.securityService.getUserEmail();\r\n }\r\n this.storeService.newReportItem(Settings.dropDownMenus.projects);\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.isError = true;\r\n }\r\n });\r\n window.scroll(0, 0);\r\n }\r\n\r\n sendProjectSugggestion(frm: any) {\r\n this.isError = false;\r\n this.isSuccess = false;\r\n this.errorMessage = null;\r\n this.successMessage = null;\r\n\r\n if (this.model.projectId == 0) {\r\n this.errorMessage = 'Select a valid project before proceeding with this request';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n \r\n this.blockUI.start('Sending message...');\r\n this.model.projectId = parseInt(this.model.projectId.toString());\r\n this.model.emailType = parseInt(this.model.emailType.toString());\r\n this.contactService.sendContactMessage(this.model).subscribe(\r\n data => {\r\n if (data) {\r\n if (data.success && data.returnedId == this.MESSAGE_SENT) {\r\n this.successMessage = 'Your message for the project is forwarded successfully';\r\n } else if (data.success && data.returnedId == this.MESSAGE_TO_REVIEW) {\r\n this.successMessage = 'Your message is sent for review by the management user. Once reviewed, it will be forwarded.';\r\n }\r\n this.isSuccess = true;\r\n frm.resetForm();\r\n this.resetModel();\r\n }\r\n window.scroll(0, 0);\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n resetModel() {\r\n this.model.senderName = null;\r\n //this.model.senderEmail = '';\r\n this.model.emailType = this.emailTypeCodes.HELP;\r\n //this.model.subject = null;\r\n this.model.message = null;\r\n }\r\n\r\n getProjectInfo(id) {\r\n this.projectService.getProject(id).subscribe(\r\n data => {\r\n if (data) {\r\n this.model.projectTitle = data.title;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getMessageLimitInfo() {\r\n this.messageLimitLeft = (this.messageLimit - this.model.message.length);\r\n if (this.messageLimitLeft < 0) {\r\n this.model.message = this.model.message.substring(0, (this.messageLimit - 1));\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Error! {{errorMessage}}\r\n
\r\n
Project contact form
\r\n
Project name: {{model.projectTitle}}
\r\n
\r\n \r\n Information! {{successMessage}}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n Email is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Name is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Request type is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Subject is required\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n Message is required\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ","import { HttpHeaders } from \"@angular/common/http\";\r\n\r\nexport const httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + localStorage.getItem(\"token\")\r\n })\r\n};","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SmtpService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService, \r\n private storeService: StoreService) { }\r\n\r\n getSMTPSettings() {\r\n var url = this.urlHelper.getSMTPSettingsUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('SMTP Settings')));\r\n }\r\n\r\n saveSMTPSettings(model: any) {\r\n var url = this.urlHelper.getSMTPSettingsUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('SMTP Settings')));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { StoreService } from './store-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocationService {\r\n\r\n constructor(private httpClient: HttpClient, private urlHelper: UrlHelperService, \r\n private storeService: StoreService) { }\r\n\r\n\r\n getLocationsList() {\r\n var url = this.urlHelper.getLocationUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Locations')));\r\n }\r\n\r\n getSubLocationsList() {\r\n var url = this.urlHelper.getSubLocationUrl();\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sub-Locations')));\r\n }\r\n\r\n filterLocations(criteria: string) {\r\n var url = this.urlHelper.getSearchLocationsUrl(criteria);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Locations')));\r\n }\r\n\r\n getLocation(id: string) {\r\n var url = this.urlHelper.getSingleLocationUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Location')));\r\n }\r\n\r\n getSubLocation(id: string) {\r\n var url = this.urlHelper.getSubLocationUrl() + '/' + id;\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sub Location')));\r\n }\r\n\r\n addLocation(model: any) {\r\n var url = this.urlHelper.getLocationUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Location')));\r\n }\r\n\r\n addSubLocation(model: any) {\r\n var url = this.urlHelper.getSubLocationUrl();\r\n return this.httpClient.post(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('New Sub Location')));\r\n }\r\n\r\n updateLocation(id: number, model: any) {\r\n var url = this.urlHelper.getLocationUrl() + '/' + id;\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Update Location')));\r\n }\r\n\r\n updateSubLocation(id: number, model: any) {\r\n var url = this.urlHelper.getSubLocationUrl() + '/' + id;\r\n return this.httpClient.put(url,\r\n JSON.stringify(model), httpOptions).pipe(\r\n catchError(this.storeService.handleError('Update Sub Location')));\r\n }\r\n\r\n getLocationProjects(id: string) {\r\n var url = this.urlHelper.getLocationProjectsUrl(id);\r\n return this.httpClient.get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Location Projects'))\r\n );\r\n }\r\n\r\n deleteLocation(id: string, newId: string) {\r\n var url = this.urlHelper.deleteLocationUrl(id, newId);\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Location'))\r\n );\r\n }\r\n\r\n deleteSubLocation(id: string) {\r\n var url = this.urlHelper.getSubLocationUrl() + '/' + id;\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Delete Sub Location'))\r\n );\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { Settings } from '../config/settings';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { SponsorLogoService } from '../services/sponsor-logo.service';\r\nimport { StoreService } from '../services/store-service';\r\nimport { UrlHelperService } from '../services/url-helper-service';\r\n\r\n@Component({\r\n selector: 'app-sponsor-logos',\r\n templateUrl: './sponsor-logos.component.html',\r\n styleUrls: ['./sponsor-logos.component.css']\r\n})\r\nexport class SponsorLogosComponent implements OnInit {\r\n\r\n sponsors: any = [];\r\n filteredSponsors: any = [];\r\n isLoading: boolean = false;\r\n requestNo: number = 0;\r\n criteria: string = null;\r\n errorMessage: string = null;\r\n pagingSize: number = Settings.rowsPerPage;\r\n permissions: any = {};\r\n logosUrl: string = null;\r\n\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private logoService: SponsorLogoService,\r\n private securityService: SecurityHelperService,\r\n private router: Router,\r\n private urlService: UrlHelperService) {\r\n this.logosUrl = this.urlService.getLogosUrl(); \r\n }\r\n\r\n ngOnInit(): void {\r\n this.permissions = this.securityService.getUserPermissions();\r\n if (!this.permissions.canEditSponsors) {\r\n this.router.navigateByUrl('home');\r\n }\r\n this.getSponsorLogos();\r\n }\r\n\r\n searchSponsors() {\r\n if (this.criteria != null) {\r\n this.filteredSponsors = this.sponsors.filter(s => s.title.toLowerCase().indexOf(this.criteria.toLowerCase()) != -1);\r\n }\r\n }\r\n\r\n getSponsorLogos() {\r\n this.blockUI.start('Loading sponsors...');\r\n this.logoService.getLogos().subscribe(\r\n data => {\r\n if (data) {\r\n this.sponsors = data.sponsorLogos;\r\n this.sponsors.forEach((s) => {\r\n s.logoPath = this.logosUrl + s.logoPath;\r\n });\r\n this.filteredSponsors = this.sponsors;\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n edit(id: number) {\r\n /*if (id) {\r\n this.router.navigateByUrl('manage-sponsors/' + id.toString());\r\n }*/\r\n }\r\n\r\n delete(id: number) {\r\n if (id) {\r\n this.blockUI.start('Deleting sponsor...');\r\n this.logoService.deleteSponsor(id.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n this.sponsors = this.sponsors.filter(s => s.id != id);\r\n this.filteredSponsors = this.filteredSponsors.filter(s => s.id != id);\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
0\" class=\"col margin-top-10\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SponsorLogoActions
{{sponsor.title}}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n No sponsors to show\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { ProjectService } from '../services/project.service';\r\nimport { Router } from '@angular/router';\r\nimport { StoreService } from '../services/store-service';\r\nimport { Settings } from '../config/settings';\r\nimport { SecurityHelperService } from '../services/security-helper.service';\r\nimport { SectorService } from '../services/sector.service';\r\nimport { OrganizationService } from '../services/organization-service';\r\nimport { LocationService } from '../services/location.service';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\nimport { FinancialYearService } from '../services/financial-year.service';\r\nimport { Observable } from 'rxjs';\r\nimport { ReactiveFormsModule, FormControl, FormsModule } from \"@angular/forms\";\r\nimport { debounceTime, distinctUntilChanged, tap, switchMap } from 'rxjs/operators';\r\nimport { Identifiers } from '@angular/compiler';\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\nimport { InfoModalComponent } from '../info-modal/info-modal.component';\r\nimport { Messages } from '../config/messages';\r\nimport { CurrencyService } from '../services/currency.service';\r\nimport { ProjectReportModalComponent } from '../project-report-modal/project-report-modal.component';\r\n\r\n@Component({\r\n selector: 'app-projects',\r\n templateUrl: './projects.component.html',\r\n styleUrls: ['./projects.component.css']\r\n})\r\nexport class ProjectsComponent implements OnInit {\r\n\r\n defaultCurrency: string = null;\r\n isSearchVisible = false;\r\n isAnyFilterSet = false;\r\n projectsList: any = [];\r\n filteredProjectsList: any = [];\r\n errorMessage: string = null;\r\n successMessage: string = null;\r\n criteria: string = null;\r\n isLoading: boolean = false;\r\n infoMessage: string = null;\r\n showMessage: boolean = false;\r\n isLoggedIn: boolean = false;\r\n pagingSize: number = Settings.rowsPerPage;\r\n requestNo: number = 0;\r\n permissions: any = {};\r\n projectsSettings: any = {};\r\n sectorsSettings: any = {};\r\n organizationsSettings: any = {};\r\n locationsSettings: any = {};\r\n subLocationsSettings: any = {};\r\n selectedSectors: any = [];\r\n selectedOrganizations: any = [];\r\n selectedLocations: any = [];\r\n projectTitles: any = [];\r\n yearsList: any = [];\r\n organizationsList: any = [];\r\n locationsList: any = [];\r\n subLocationsList: any = [];\r\n filteredSubLocationsList: any = [];\r\n userProjectIds: any = [];\r\n deleteProjectIds: any = [];\r\n allSectorsList: any = [];\r\n sectorsList: any = [];\r\n sectorIds: any = [];\r\n subSectorIds: any = [];\r\n subSubSectorIds: any = [];\r\n financialRanges: any = Settings.financialRangeConstants;\r\n searchField: FormControl;\r\n currentYearLabel: string = '';\r\n viewProjectId: number = 0;\r\n renderReport: boolean = false;\r\n\r\n //variables for project report\r\n projectData: any = [];\r\n projectLocations: any = [];\r\n projectSectors: any = [];\r\n projectFunders: any = [];\r\n projectImplementers: any = [];\r\n projectDisbursements: any = [];\r\n projectDocuments: any = [];\r\n projectMarkers: any = [];\r\n isExcelGenerating: boolean = true;\r\n excelFile: string = null;\r\n projectProfileLink: string = null;\r\n\r\n sectorLevels: any = [\r\n { \"id\": 1, \"level\": \"Parent sectors\"},\r\n { \"id\": 2, \"level\": \"Sub sectors\"},\r\n //{ \"id\": 3, \"level\": \"Sub sub sectors\"},\r\n ];\r\n\r\n sectorLevelCodes: any = {\r\n SECTORS: 1,\r\n SUB_SECTORS: 2,\r\n }\r\n\r\n model: any = {\r\n title: null, description: null, organizationIds: [], startingYear: 0, endingYear: 0,\r\n sectorIds: [], locationIds: [], parentSectorId: 0, selectedProjects: [], selectedSectors: [], \r\n selectedOrganizations: [], selectedLocations: [], sectorsList: [], locationsList: [],\r\n selectedSubLocations: [], \r\n organizationsList: [], sectorLevel: this.sectorLevelCodes.SECTORS, financialRange: 0,\r\n lowerRange: null, upperRange: null\r\n }\r\n\r\n //Overlay UI blocker\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private projectService: ProjectService, private router: Router,\r\n private storeService: StoreService, private securityService: SecurityHelperService,\r\n private sectorService: SectorService, private organizationService: OrganizationService,\r\n private locationService: LocationService, private fyService: FinancialYearService,\r\n private errorModal: ErrorModalComponent, private infoModal: InfoModalComponent,\r\n private currencyService: CurrencyService,\r\n private projectReportModal: ProjectReportModalComponent\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.blockUI.start('Loading Projects...');\r\n this.getDefaultCurrency();\r\n this.isLoggedIn = this.securityService.checkIsLoggedIn();\r\n if (this.isLoggedIn) {\r\n this.loadUserProjects();\r\n this.getDeleteProjectIds();\r\n } else {\r\n this.getProjectsList();\r\n }\r\n\r\n this.storeService.newReportItem(Settings.dropDownMenus.projects);\r\n this.requestNo = this.storeService.getNewRequestNumber();\r\n this.storeService.currentRequestTrack.subscribe(model => {\r\n if (model && this.requestNo == model.requestNo && model.errorStatus != 200) {\r\n this.errorMessage = model.errorMessage;\r\n this.errorModal.openModal();\r\n }\r\n });\r\n\r\n setTimeout(() => {\r\n this.storeService.newInfoMessage('');\r\n this.showMessage = false;\r\n }, Settings.displayMessageTime);\r\n\r\n this.permissions = this.securityService.getUserPermissions();\r\n this.getProjectTitles();\r\n this.getSectorsList();\r\n this.getOrganizationsList();\r\n this.getLocationsList();\r\n this.getFinancialYearsList();\r\n\r\n this.sectorsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'sectorName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.organizationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'organizationName',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.locationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'location',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.subLocationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'subLocation',\r\n selectAllText: 'Select all',\r\n unSelectAllText: 'Unselect all',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n\r\n this.projectsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'title',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n searchPlaceholderText: 'Select/Search project titles',\r\n itemsShowLimit: 5,\r\n allowSearchFilter: true\r\n };\r\n }\r\n\r\n onSelectProject(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onDeSelectProject(item: any) {\r\n if (this.model.selectedProjects.length == 0) {\r\n this.manageResetDisplay();\r\n } else {\r\n this.setFilter();\r\n }\r\n }\r\n\r\n onSelectAllProjects(items: any) {\r\n this.setFilter();\r\n }\r\n\r\n onDeSelectAllProjects(items: any) {\r\n this.model.selectedProjects = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n onSelectSector(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onDeSelectSector(item: any) {\r\n var id = item.id;\r\n if (this.model.selectedSectors.length == 0) {\r\n this.manageResetDisplay();\r\n } else {\r\n this.setFilter();\r\n }\r\n }\r\n\r\n onSelectAllSectors(items: any) {\r\n this.setFilter();\r\n }\r\n\r\n onDeSelectAllSectors(items: any) {\r\n this.model.selectedSectors = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n onSelectOrganization(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n changeFinancialRange() {\r\n if (this.model.financialRange) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n onDeSelectOrganization(item: any) {\r\n var id = item.id;\r\n if (this.model.selectedOrganizations.length == 0) {\r\n this.manageResetDisplay();\r\n } else {\r\n this.setFilter();\r\n }\r\n }\r\n\r\n onSelectAllOrganizations(items: any) {\r\n this.setFilter();\r\n }\r\n\r\n onDeSelectAllOrganizations(items: any) {\r\n this.model.selectedOrganizations = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n onSelectLocation(item: any) {\r\n this.setFilter();\r\n this.filterSubLocations();\r\n }\r\n\r\n onDeSelectLocation(item: any) {\r\n var id = item.id;\r\n if (this.model.selectedLocations.length == 0) {\r\n this.manageResetDisplay();\r\n } else {\r\n this.setFilter();\r\n }\r\n this.filterSubLocations();\r\n }\r\n\r\n onSelectAllLocations(items: any) {\r\n this.setFilter();\r\n this.filterSubLocations();\r\n }\r\n\r\n onDeSelectAllLocations(items: any) {\r\n this.model.selectedLocations = [];\r\n this.manageResetDisplay();\r\n this.filterSubLocations();\r\n }\r\n\r\n onSubLocationSelect(item: any) {\r\n this.setFilter();\r\n }\r\n\r\n onSubLocationDeSelect(item: any) {\r\n if (this.model.selectedLocations.length == 0) {\r\n this.manageResetDisplay();\r\n } \r\n }\r\n\r\n onSubLocationSelectAll(items: any) {\r\n this.setFilter();\r\n }\r\n\r\n onSubLocationDeSelectAll(items: any) {\r\n this.model.selectedLocations = [];\r\n this.manageResetDisplay();\r\n }\r\n\r\n startingYearChanged() {\r\n if (this.model.startingYear != 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n filterSubLocations() {\r\n var locationIds = this.model.selectedLocations.map(l => l.id);\r\n this.model.filteredSubLocationsList = [];\r\n this.model.selectedSubLocations = [];\r\n\r\n if (locationIds.length == 0) {\r\n this.filteredSubLocationsList = this.subLocationsList;\r\n } else {\r\n this.filteredSubLocationsList = this.subLocationsList.filter(s => locationIds.includes(s.locationId));\r\n }\r\n }\r\n\r\n endingYearChanged() {\r\n if (this.model.endingYear != 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n descriptionChanged() {\r\n if (this.model.description.length > 0) {\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n manageSectorLevel() {\r\n if (this.model.sectorLevel) {\r\n var level = parseInt(this.model.sectorLevel);\r\n switch(level) {\r\n case this.sectorLevelCodes.SECTORS:\r\n this.sectorsList = this.allSectorsList.filter(s => s.parentSectorId == 0);\r\n break;\r\n \r\n case this.sectorLevelCodes.SUB_SECTORS:\r\n this.sectorsList = this.allSectorsList.filter(s => this.subSectorIds.indexOf(s.id) != -1);\r\n break;\r\n\r\n case this.sectorLevelCodes.SUB_SUB_SECTORS:\r\n this.sectorsList = this.allSectorsList.filter(s => this.subSubSectorIds.indexOf(s.id) != -1);\r\n break;\r\n\r\n default:\r\n this.sectorsList = this.allSectorsList.filter(s => s.parentSectorId == 0);\r\n break;\r\n }\r\n this.setFilter();\r\n } else {\r\n this.manageResetDisplay();\r\n }\r\n }\r\n\r\n getDefaultCurrency() {\r\n this.currencyService.getDefaultCurrency().subscribe(\r\n data => {\r\n if (data) {\r\n this.defaultCurrency = data.currency;\r\n } \r\n }\r\n );\r\n }\r\n\r\n getProjectTitles() {\r\n this.projectService.getProjectTitles().subscribe(\r\n data => {\r\n if (data) {\r\n this.projectTitles = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n filterProjects() {\r\n if (this.model.title) {\r\n var title = this.model.title.toLowerCase();\r\n this.filteredProjectsList = this.projectsList.filter(p => p.title.toLowerCase().indexOf(title) != -1);\r\n } else {\r\n this.filteredProjectsList = this.projectsList;\r\n }\r\n }\r\n\r\n getProjectsList() {\r\n this.projectService.getProjectsList().subscribe(\r\n data => {\r\n if (data && data.length) {\r\n this.projectsList = data;\r\n this.filteredProjectsList = data;\r\n if (data.length && data.length > 0) {\r\n this.currentYearLabel = data[0].currentYearLabel;\r\n }\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n\r\n loadUserProjects() {\r\n this.projectService.getUserProjects().subscribe(\r\n data => {\r\n if (data) {\r\n this.userProjectIds = data;\r\n }\r\n setTimeout(() => {\r\n this.getProjectsList();\r\n }, 1000);\r\n \r\n }\r\n );\r\n }\r\n\r\n getFinancialYearsList() {\r\n this.fyService.getYearsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.yearsList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getSectorsList() {\r\n this.sectorService.getDefaultSectors().subscribe(\r\n data => {\r\n if (data) {\r\n this.allSectorsList = data;\r\n this.sectorsList = this.allSectorsList.filter(s => s.parentSectorId == 0);\r\n this.sectorIds = this.sectorsList.map(s => s.id);\r\n var subSectorsList = this.allSectorsList.filter(s => this.sectorIds.indexOf(s.parentSectorId) != -1);\r\n this.subSectorIds = subSectorsList.map(s => s.id);\r\n var subSubSectors = this.allSectorsList.filter(s => this.subSectorIds.indexOf(s.parentSectorId) != -1);\r\n this.subSubSectorIds = subSubSectors.map(s => s.id);\r\n\r\n if (this.subSubSectorIds.length > 0) {\r\n this.sectorLevels.push({\r\n id: 3,\r\n level: 'Sub-sub sectors'\r\n });\r\n this.sectorLevels.sort(s => s.id);\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n getLocationsList() {\r\n this.locationService.getLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.locationsList = data;\r\n this.getSubLocationsList();\r\n }\r\n }\r\n );\r\n }\r\n\r\n getSubLocationsList() {\r\n this.locationService.getSubLocationsList().subscribe(\r\n data => {\r\n if (data) {\r\n this.subLocationsList = data;\r\n this.filteredSubLocationsList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getOrganizationsList() {\r\n this.organizationService.getUserOrganizations().subscribe(\r\n data => {\r\n if (data) {\r\n this.organizationsList = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n advancedSearchProjects() {\r\n var lowerRange = this.model.lowerRange ? this.model.lowerRange : 0;\r\n var upperRange = this.model.upperRange ? this.model.upperRange : 0;\r\n if (isNaN(lowerRange) || isNaN(upperRange)) {\r\n this.errorMessage = 'Project value for lower/upper range must be a valid number';\r\n this.errorModal.openModal();\r\n return false;\r\n }\r\n\r\n var searchModel = {\r\n projectIds: this.model.selectedProjects.map(p => p.id),\r\n startingYear: (this.model.startingYear) ? parseInt(this.model.startingYear) : 0,\r\n endingYear: (this.model.endingYear) ? parseInt(this.model.endingYear) : 0,\r\n organizationIds: this.model.selectedOrganizations.map(o => o.id),\r\n sectorIds: this.model.selectedSectors.map(s => parseInt(s.id)),\r\n locationIds: this.model.selectedLocations.map(l => parseInt(l.id)),\r\n subLocationIds: this.model.selectedSubLocations.map(l => parseInt(l.id)),\r\n description: this.model.description,\r\n lowerRange: parseFloat(lowerRange),\r\n upperRange: parseFloat(upperRange)\r\n };\r\n\r\n this.criteria = null;\r\n this.blockUI.start('Searching Projects...');\r\n this.projectService.searchProjectsViewByCriteria(searchModel).subscribe(\r\n data => {\r\n if (data) {\r\n this.projectsList = data; \r\n this.filteredProjectsList = data;\r\n if (data.length && data.length > 0) {\r\n this.currentYearLabel = data[0].currentYearLabel;\r\n }\r\n }\r\n this.blockUI.stop();\r\n }\r\n )\r\n }\r\n\r\n edit(id: string) {\r\n this.router.navigateByUrl('/manage-project/' + id);\r\n }\r\n\r\n viewDetails(id: string) {\r\n this.router.navigateByUrl('/view-project/' + id);\r\n }\r\n\r\n showSearchOptions() {\r\n this.isSearchVisible = true;\r\n return false;\r\n }\r\n\r\n hideSearchOptions() {\r\n this.isSearchVisible = false;\r\n }\r\n\r\n formatNumber(value: number) {\r\n if (!value) {\r\n return value;\r\n }\r\n if (!isNaN(value) && value > 0) {\r\n return this.storeService.getNumberWithCommas(value);\r\n }\r\n return value;\r\n }\r\n\r\n formatDateUKStyle(dated: any) {\r\n var validDate = Date.parse(dated);\r\n if (isNaN(validDate)) {\r\n return 'Invalid date';\r\n }\r\n var datesArr = dated.split('/');\r\n return this.storeService.formatDateInUkStyle(parseInt(datesArr[2]), parseInt(datesArr[0]), parseInt(datesArr[1]));\r\n }\r\n\r\n isShowContactToUser(id: number) {\r\n return (this.userProjectIds.filter(ids => ids.id == id).length > 0) ? false : true;\r\n }\r\n\r\n isShowDeleteProject(id: number) {\r\n if (this.deleteProjectIds.includes(id)) {\r\n return false;\r\n }\r\n return (this.userProjectIds.filter(ids => ids.id == id).length > 0) ? true : false;\r\n }\r\n\r\n contactProject(id: number) {\r\n if (id) {\r\n this.router.navigateByUrl('contact-project/' + id);\r\n }\r\n }\r\n\r\n makeDeleteRequest(id: number) {\r\n if (id) {\r\n var model = { projectId: id, userId: 0 };\r\n this.blockUI.start('Making project delete request...');\r\n this.projectService.makeProjectDeletionRequest(model).subscribe(\r\n data => {\r\n if (data) {\r\n this.deleteProjectIds.push(id);\r\n this.successMessage = Messages.DELETION_REQUEST_INFO;\r\n this.infoModal.openModal();\r\n }\r\n this.blockUI.stop();\r\n }\r\n );\r\n }\r\n }\r\n\r\n getDeleteProjectIds() {\r\n this.projectService.getDeleteProjectIds().subscribe(\r\n data => {\r\n if (data) {\r\n this.deleteProjectIds = data;\r\n }\r\n }\r\n );\r\n }\r\n\r\n setFilter() {\r\n this.isAnyFilterSet = true;\r\n }\r\n\r\n manageResetDisplay() {\r\n if (this.model.selectedProjects.length == 0 && this.model.startingYear == 0 &&\r\n this.model.endingYear == 0 && this.model.parentSectorId == 0 &&\r\n this.model.selectedSectors.length == 0 && this.model.selectedOrganizations.length == 0 &&\r\n this.model.selectedLocations.length == 0 && !this.model.description) {\r\n this.isAnyFilterSet = false;\r\n } else {\r\n this.isAnyFilterSet = true;\r\n }\r\n }\r\n\r\n viewProject(id: number) {\r\n if (this.renderReport) {\r\n this.renderReport = false;\r\n }\r\n this.blockUI.start('Wait loading...');\r\n if (id) {\r\n this.viewProjectId = id;\r\n setTimeout(() => {\r\n this.renderReport = true;\r\n this.blockUI.stop();\r\n }, 1000);\r\n }\r\n }\r\n\r\n setReportRenderStatus(status: boolean) {\r\n this.renderReport = status;\r\n }\r\n\r\n resetFilters() {\r\n this.model.selectedProjects = [];\r\n this.model.selectedOrganizations = [];\r\n this.model.selectedLocations = [];\r\n this.model.selectedSubLocations = [];\r\n this.model.selectedSectors = [];\r\n this.model.financialRange = 0;\r\n this.model.startingYear = 0;\r\n this.model.endingYear = 0;\r\n this.filteredSubLocationsList = this.subLocationsList;\r\n this.model.description = null;\r\n this.isAnyFilterSet = false;\r\n }\r\n\r\n //Section for viewing project report\r\n getProjectReport(id: number) {\r\n this.projectService.getProjectReport(id.toString()).subscribe(\r\n data => {\r\n if (data && data.projectProfile) {\r\n var project = data.projectProfile.projects.length > 0 ? data.projectProfile.projects[0] : null;\r\n if (project) {\r\n this.projectData.title = project.title;\r\n this.projectData.startDate = project.startDate;\r\n this.projectData.endDate = project.endDate;\r\n this.projectData.dateUpdated = project.dateUpdated;\r\n this.projectData.projectCurrency = project.projectCurrency;\r\n this.projectData.projectValue = project.projectValue;\r\n this.projectData.exchangeRate = project.exchangeRate;\r\n this.projectData.description = project.description;\r\n this.projectFunders = project.funders;\r\n this.projectImplementers = project.implementers;\r\n this.projectSectors = project.sectors;\r\n this.projectLocations = project.locations;\r\n this.projectDisbursements = project.disbursements;\r\n this.projectDocuments = project.documents;\r\n this.projectMarkers = project.markers;\r\n this.isLoading = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n /*getProjectExcelReport(id: number) {\r\n this.projectService.getProjectReport(id.toString()).subscribe(\r\n data => {\r\n if (data) {\r\n if (data.reportSettings) {\r\n this.excelFile = data.reportSettings.excelReportName;\r\n this.projectProfileLink = data.reportSettings.reportUrl;\r\n var currentDate = this.storeService.getLongDateString(new Date());\r\n //this.dated = currentDate;\r\n this.setExcelFile();\r\n var projects = data.projectProfile.projects;\r\n if (projects.length > 0) {\r\n var project = projects[0];\r\n this.projectMarkers = project.markers.filter(m => m.values != '');\r\n }\r\n }\r\n this.isExcelGenerating = false;\r\n }\r\n }\r\n );\r\n }\r\n\r\n setExcelFile() {\r\n if (this.excelFile) {\r\n this.excelFile = this.storeService.getExcelFilesUrl() + this.excelFile;\r\n }\r\n }*/\r\n\r\n}\r\n","
\r\n \r\n\r\n
\r\n
\r\n \r\n Information! {{infoMessage}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n   \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  Loading...\r\n
\r\n
\r\n\r\n
0\" class=\"row\">\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Project titleProject value ({{defaultCurrency}}){{currentYearLabel}} planned disbursements ({{defaultCurrency}})
\r\n \r\n {{project.title}}\r\n \r\n {{formatNumber(project.projectValueInDefaultCurrency)}}{{formatNumber(project.currentYearPlannedDisbursements)}}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

No projects to show

\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpRequest, HttpEvent } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { UrlHelperService } from './url-helper-service';\r\nimport { httpOptions } from '../config/httpoptions';\r\nimport { StoreService } from './store-service';\r\nimport { map, catchError, tap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SponsorLogoService {\r\n\r\n constructor(private httpClient: HttpClient,\r\n private urlHelper: UrlHelperService,\r\n private storeService: StoreService) { }\r\n\r\n uploadAndSaveLogo(file: File, title: string): Observable> {\r\n const formData: FormData = new FormData();\r\n\r\n formData.append('logo', file);\r\n formData.append('title', title);\r\n var url = this.urlHelper.getSponsorLogoUrl();\r\n const req = new HttpRequest('POST', url, formData, {\r\n reportProgress: true,\r\n responseType: 'json'\r\n });\r\n\r\n return this.httpClient.request(req);\r\n }\r\n\r\n getLogos() {\r\n var url = this.urlHelper.getSponsorLogoUrl();\r\n return this.httpClient\r\n .get(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sponsor logos'))\r\n );\r\n }\r\n\r\n deleteSponsor(id: string) {\r\n var url = this.urlHelper.getSponsorLogoUrl() + '/' + id;\r\n return this.httpClient.delete(url, httpOptions).pipe(\r\n catchError(this.storeService.handleError('Sponsor')));\r\n }\r\n \r\n}\r\n"],"sourceRoot":"webpack:///"}