diff --git a/cypress/constants/machete-constants.ts b/cypress/constants/machete-constants.ts
index af69d48a..a2ac7b29 100644
--- a/cypress/constants/machete-constants.ts
+++ b/cypress/constants/machete-constants.ts
@@ -27,6 +27,11 @@ export const onlineOrderRoutes: IOnlineOrderRoute = {
orderConfirm: `${onlineOrdersBase}/order-confirm`,
};
+const settingsBase: string = "/configuration/settings";
+export const macheteSettingsRoutes: { list: string } = {
+ list: `${settingsBase}`
+}
+
export const initConfirmCheckedTerms = [
{
name: "completion",
diff --git a/cypress/fixtures/settings/DisableOnlineOrders.json b/cypress/fixtures/settings/DisableOnlineOrders.json
new file mode 100644
index 00000000..3d7d7e14
--- /dev/null
+++ b/cypress/fixtures/settings/DisableOnlineOrders.json
@@ -0,0 +1,12 @@
+{
+ "key": "DisableOnlineOrders",
+ "value": "FALSE",
+ "description": "Enter either TRUE or FALSE. Enter TRUE to turn off access to the online hiring portal",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.263",
+ "dateupdated": "2022-05-24T13:10:33.07",
+ "id": 28,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/DisableOnlineOrdersBanner.json b/cypress/fixtures/settings/DisableOnlineOrdersBanner.json
new file mode 100644
index 00000000..c66f1a44
--- /dev/null
+++ b/cypress/fixtures/settings/DisableOnlineOrdersBanner.json
@@ -0,0 +1,12 @@
+{
+ "key": "DisableOnlineOrdersBanner",
+ "value": "Online orders are currently disabled. Please call the center.anythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "The message for employers when the online hring portal is turned off",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.277",
+ "dateupdated": "2022-05-29T00:52:38.217",
+ "id": 29,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/DisableOnlineOrdersBannerInfoUrl.json b/cypress/fixtures/settings/DisableOnlineOrdersBannerInfoUrl.json
new file mode 100644
index 00000000..c26b1bed
--- /dev/null
+++ b/cypress/fixtures/settings/DisableOnlineOrdersBannerInfoUrl.json
@@ -0,0 +1,12 @@
+{
+ "key": "DisableOnlineOrdersBannerInfoUrl",
+ "value": "DisableOnlineOrdersBannerInfoUrlanythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "The URL to your center's website explaining why online hiring is turned off",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.29",
+ "dateupdated": "2022-05-29T00:52:39.46",
+ "id": 30,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/DisableWorkersVaccineRequirement.json b/cypress/fixtures/settings/DisableWorkersVaccineRequirement.json
new file mode 100644
index 00000000..407a75f2
--- /dev/null
+++ b/cypress/fixtures/settings/DisableWorkersVaccineRequirement.json
@@ -0,0 +1,12 @@
+{
+ "key": "DisableWorkersVaccineRequirement",
+ "value": "FALSE",
+ "description": null,
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T15:13:12.66",
+ "dateupdated": "2022-05-24T15:13:12.66",
+ "id": 32,
+ "updatedby": "Init T. Script"
+}
diff --git a/cypress/fixtures/settings/OnlineOrdersEnglishReqNote.json b/cypress/fixtures/settings/OnlineOrdersEnglishReqNote.json
new file mode 100644
index 00000000..28f0c87a
--- /dev/null
+++ b/cypress/fixtures/settings/OnlineOrdersEnglishReqNote.json
@@ -0,0 +1,12 @@
+{
+ "key": "OnlineOrdersEnglishReqNote",
+ "value": "OnlineOrdersEnglishReqNoteanythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "Displayed in the site details step. When employers requests an English-speaking worker, this note provides any center-specific details",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.137",
+ "dateupdated": "2022-05-29T00:53:29.85",
+ "id": 18,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/OnlineOrdersIntroMessage.json b/cypress/fixtures/settings/OnlineOrdersIntroMessage.json
new file mode 100644
index 00000000..0106a2f1
--- /dev/null
+++ b/cypress/fixtures/settings/OnlineOrdersIntroMessage.json
@@ -0,0 +1,12 @@
+{
+ "key": "OnlineOrdersIntroMessage",
+ "value": "OnlineOrdersIntroMessageanythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "Displays in the 1st step of the online hiring. Include your center's basic information and how you program works, contact number, etc. Links to your website will also work.",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.113",
+ "dateupdated": "2022-05-29T00:53:28.473",
+ "id": 16,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/OnlineOrdersTerms.json b/cypress/fixtures/settings/OnlineOrdersTerms.json
new file mode 100644
index 00000000..3fa499d4
--- /dev/null
+++ b/cypress/fixtures/settings/OnlineOrdersTerms.json
@@ -0,0 +1,12 @@
+{
+ "key": "OnlineOrdersTerms",
+ "value": "[{\"name\":\"term1\",\"text\":\"This is the term one\"},{\"name\":\"term2\",\"text\":\"This is the term two\"}]",
+ "description": "The terms that an employer has to accept before proceding with creating a work order",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-06-21T15:29:44.333",
+ "dateupdated": "2022-06-21T15:29:44.333",
+ "id": 1002,
+ "updatedby": "Init T. Script"
+}
diff --git a/cypress/fixtures/settings/OnlineOrdersTransportDetailsLink.json b/cypress/fixtures/settings/OnlineOrdersTransportDetailsLink.json
new file mode 100644
index 00000000..00392460
--- /dev/null
+++ b/cypress/fixtures/settings/OnlineOrdersTransportDetailsLink.json
@@ -0,0 +1,12 @@
+{
+ "key": "OnlineOrdersTransportDetailsLink",
+ "value": "OnlineOrdersTransportDetailsLinkanythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "Will display if your transport provider cost rules have any fees. Include the link to your website with transport cost info ",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.15",
+ "dateupdated": "2022-05-29T00:53:31.323",
+ "id": 19,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/OrderConfirmTransportFeesNotice.json b/cypress/fixtures/settings/OrderConfirmTransportFeesNotice.json
new file mode 100644
index 00000000..5678350e
--- /dev/null
+++ b/cypress/fixtures/settings/OrderConfirmTransportFeesNotice.json
@@ -0,0 +1,12 @@
+{
+ "key": "OrderConfirmTransportFeesNotice",
+ "value": "OrderConfirmTransportFeesNoticeanythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "Will display in the last step if employer chooses a transport method with fees. Inlcude text on why the fee applies",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.16",
+ "dateupdated": "2022-05-29T00:53:32.737",
+ "id": 20,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/OrderReviewLaborCostMethodHelper.json b/cypress/fixtures/settings/OrderReviewLaborCostMethodHelper.json
new file mode 100644
index 00000000..969937fe
--- /dev/null
+++ b/cypress/fixtures/settings/OrderReviewLaborCostMethodHelper.json
@@ -0,0 +1,12 @@
+{
+ "key": "OrderReviewLaborCostMethodHelper",
+ "value": "OrderReviewLaborCostMethodHelperanythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "Displayed in the pre-sumbit review step. The helper text for labor cost explaining payment options",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.213",
+ "dateupdated": "2022-05-29T00:52:33.313",
+ "id": 24,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/OrderReviewLaborCostPayMethodHelper.json b/cypress/fixtures/settings/OrderReviewLaborCostPayMethodHelper.json
new file mode 100644
index 00000000..9c01209e
--- /dev/null
+++ b/cypress/fixtures/settings/OrderReviewLaborCostPayMethodHelper.json
@@ -0,0 +1,12 @@
+{
+ "key": "OrderReviewLaborCostPayMethodHelper",
+ "value": "OrderReviewLaborCostAboutUrlanythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "Displayed in the pre-sumbit review step. The url to your website explaining the labor cost",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.24",
+ "dateupdated": "2022-05-29T00:52:35.697",
+ "id": 26,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/OrderReviewNextStepsHelper.json b/cypress/fixtures/settings/OrderReviewNextStepsHelper.json
new file mode 100644
index 00000000..a2fb16d8
--- /dev/null
+++ b/cypress/fixtures/settings/OrderReviewNextStepsHelper.json
@@ -0,0 +1,12 @@
+{
+ "key": "OrderReviewNextStepsHelper",
+ "value": "OrderReviewNextStepsHelperanythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "Displayed in the pre-sumbit review step. Describe the next steps in the process, will employer need to wait for confirmation via a call, text or wait for email, etc.",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.25",
+ "dateupdated": "2022-05-29T00:52:36.943",
+ "id": 27,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/OrderReviewSkillsSummaryLabel.json b/cypress/fixtures/settings/OrderReviewSkillsSummaryLabel.json
new file mode 100644
index 00000000..900203c4
--- /dev/null
+++ b/cypress/fixtures/settings/OrderReviewSkillsSummaryLabel.json
@@ -0,0 +1,12 @@
+{
+ "key": "OrderReviewSkillsSummaryLabel",
+ "value": "OrderReviewSkillsSummaryLabelanythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "Displayed in the pre-sumbit review step. The label for the work assignments summary table",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.183",
+ "dateupdated": "2022-05-29T00:52:30.817",
+ "id": 22,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/OrderReviewTransportFeeEmplanationUrl.json b/cypress/fixtures/settings/OrderReviewTransportFeeEmplanationUrl.json
new file mode 100644
index 00000000..b9d5c325
--- /dev/null
+++ b/cypress/fixtures/settings/OrderReviewTransportFeeEmplanationUrl.json
@@ -0,0 +1,12 @@
+{
+ "key": "OrderReviewTransportFeeEmplanationUrl",
+ "value": "OrderReviewTransportFeeAboutUrlanythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "Displayed in the pre-sumbit review step. The url to your website explaining the transport fees",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.227",
+ "dateupdated": "2022-05-29T00:52:34.5",
+ "id": 25,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/OrderReviewTransportFeeMethodHelper.json b/cypress/fixtures/settings/OrderReviewTransportFeeMethodHelper.json
new file mode 100644
index 00000000..9082fc9f
--- /dev/null
+++ b/cypress/fixtures/settings/OrderReviewTransportFeeMethodHelper.json
@@ -0,0 +1,12 @@
+{
+ "key": "OrderReviewTransportFeeMethodHelper",
+ "value": "OrderReviewTransportFeeMethodHelperanythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "Displayed in the pre-sumbit review step. The helper text for transport fees explaining payment options",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.2",
+ "dateupdated": "2022-05-29T00:52:32.02",
+ "id": 23,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/OrderReviewWorkerCountLabel.json b/cypress/fixtures/settings/OrderReviewWorkerCountLabel.json
new file mode 100644
index 00000000..4e1ba671
--- /dev/null
+++ b/cypress/fixtures/settings/OrderReviewWorkerCountLabel.json
@@ -0,0 +1,12 @@
+{
+ "key": "OrderReviewWorkerCountLabel",
+ "value": "OrderReviewWorkerCountLabelanythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "Displayed in the pre-sumbit review step. The label for the count of work assignments",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.173",
+ "dateupdated": "2022-05-29T00:52:29.627",
+ "id": 21,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/OrganizationAddress.json b/cypress/fixtures/settings/OrganizationAddress.json
new file mode 100644
index 00000000..b944d3f5
--- /dev/null
+++ b/cypress/fixtures/settings/OrganizationAddress.json
@@ -0,0 +1,12 @@
+{
+ "key": "OrganizationAddress",
+ "value": "123 main st, seattle, wa 98101anythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "Will be displayed in work order summaries, etc",
+ "category": "General",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.047",
+ "dateupdated": "2022-05-29T00:53:25.613",
+ "id": 10,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/OrganizationName.json b/cypress/fixtures/settings/OrganizationName.json
new file mode 100644
index 00000000..0df79fdd
--- /dev/null
+++ b/cypress/fixtures/settings/OrganizationName.json
@@ -0,0 +1,14 @@
+[
+ {
+ "key": "OrganizationName",
+ "value": "from stub",
+ "description": "Will be displayed in the employer's portal and throughout the app",
+ "category": "General",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:32.937",
+ "dateupdated": "2022-05-29T00:53:24.283",
+ "id": 1,
+ "updatedby": "jciispam@gmail.com"
+ }
+]
diff --git a/cypress/fixtures/settings/WorkCenterDescription_EN.json b/cypress/fixtures/settings/WorkCenterDescription_EN.json
new file mode 100644
index 00000000..ff123775
--- /dev/null
+++ b/cypress/fixtures/settings/WorkCenterDescription_EN.json
@@ -0,0 +1,12 @@
+{
+ "key": "WorkCenterDescription_EN",
+ "value": "
Casa Latina is nonprofit organization that empowers Latino immigrants through educational and economic opportunities. Our employment program connects immigrants with individuals and businesses looking for temporary labor. Our workers are skilled and dependable. From landscaping to dry walling to catering and housecleaning, if you can dream the project our workers can do it! Learn more about Casa Latina.
anythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "Will be visible in the welcome page for all users",
+ "category": "OnlineOrders",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.103",
+ "dateupdated": "2022-05-29T00:53:27.143",
+ "id": 15,
+ "updatedby": "jciispam@gmail.com"
+}
diff --git a/cypress/fixtures/settings/settings.json b/cypress/fixtures/settings/settings.json
new file mode 100644
index 00000000..622fab8b
--- /dev/null
+++ b/cypress/fixtures/settings/settings.json
@@ -0,0 +1,232 @@
+{
+ "data": [
+ {
+ "key": "OrganizationName",
+ "value": "from stub",
+ "description": "Will be displayed in the employer's portal and throughout the app",
+ "category": "General",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:32.937",
+ "dateupdated": "2022-05-29T00:53:24.283",
+ "id": 1,
+ "updatedby": "jciispam@gmail.com"
+ },
+ {
+ "key": "OrganizationAddress",
+ "value": "123 main st, seattle, wa 98101anythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganythinganything",
+ "description": "Will be displayed in work order summaries, etc",
+ "category": "General",
+ "publicConfig": true,
+ "createdby": "Init T. Script",
+ "datecreated": "2022-05-24T13:08:33.047",
+ "dateupdated": "2022-05-29T00:53:25.613",
+ "id": 10,
+ "updatedby": "jciispam@gmail.com"
+ },
+ {
+ "key": "WorkCenterDescription_EN",
+ "value": "
Casa Latina is nonprofit organization that empowers Latino immigrants through educational and economic opportunities. Our employment program connects immigrants with individuals and businesses looking for temporary labor. Our workers are skilled and dependable. From landscaping to dry walling to catering and housecleaning, if you can dream the project our workers can do it! Learn more about Casa Latina.
+ `,
+ styles: [],
+})
+export class MacheteSettingsComponent {}
diff --git a/src/app/configs/machete-settings/machete-settings.module.ts b/src/app/configs/machete-settings/machete-settings.module.ts
new file mode 100644
index 00000000..5dc7c3bf
--- /dev/null
+++ b/src/app/configs/machete-settings/machete-settings.module.ts
@@ -0,0 +1,48 @@
+import { NgModule } from "@angular/core";
+import { CommonModule } from "@angular/common";
+
+import { MacheteSettingsRoutingModule } from "./machete-settings-routing.module";
+import { MacheteSettingsComponent } from "./machete-settings.component";
+import { MacheteSettingsListComponent } from "./machete-settings-list/machete-settings-list.component";
+import { RecordsTableModule } from "src/app/shared/components/records-table/records-table.module";
+import { MacheteSettingsEditComponent } from "./machete-settings-edit/machete-settings-edit.component";
+import { FormsModule, ReactiveFormsModule } from "@angular/forms";
+import { DividerModule } from "primeng/divider";
+import { InputTextModule } from "primeng/inputtext";
+import { FieldsetModule } from "primeng/fieldset";
+import { ChipModule } from "primeng/chip";
+import { CardModule } from "primeng/card";
+import { ButtonModule } from "primeng/button";
+import { ToolbarModule } from "primeng/toolbar";
+import { ConfirmPopupModule } from "primeng/confirmpopup";
+import { InputTextareaModule } from "primeng/inputtextarea";
+
+import { ConfirmationService } from "primeng/api";
+import { MacheteSettingsTermFormComponent } from "./machete-settings-edit/machete-settings-term-form.component";
+
+@NgModule({
+ declarations: [
+ MacheteSettingsComponent,
+ MacheteSettingsListComponent,
+ MacheteSettingsEditComponent,
+ MacheteSettingsTermFormComponent,
+ ],
+ imports: [
+ CommonModule,
+ FormsModule,
+ ReactiveFormsModule,
+ MacheteSettingsRoutingModule,
+ RecordsTableModule,
+ InputTextModule,
+ DividerModule,
+ FieldsetModule,
+ CardModule,
+ ChipModule,
+ ButtonModule,
+ ToolbarModule,
+ ConfirmPopupModule,
+ InputTextareaModule,
+ ],
+ providers: [ConfirmationService],
+})
+export class MacheteSettingsModule {}
diff --git a/src/app/configs/machete-settings/shared/machete-settings-constants.ts b/src/app/configs/machete-settings/shared/machete-settings-constants.ts
new file mode 100644
index 00000000..1a4d8128
--- /dev/null
+++ b/src/app/configs/machete-settings/shared/machete-settings-constants.ts
@@ -0,0 +1,23 @@
+// Not configurable by users
+export const MS_NON_EDITABLE_CONFIGS: string[] = [
+ "EmailServerHostName",
+ "EmailServerPort",
+ "EmailEnableSSL",
+ "SmtpUser",
+ "SmtpPassword",
+ "EmailFromAddress",
+ "true",
+ "TimeZoneDifferenceFromPacific",
+ "PayPalClientID",
+ "PayPalUrl",
+ "PayPalClientSecret",
+ "PayPalEnvironment",
+ "MicrosoftTimeZoneIndex",
+ "FacebookAppId",
+ "GoogleClientId",
+ "OAuthStateParameter",
+];
+
+export const MS_NON_EDITABLE_CONFIGS_LOWER_CASE: string[] = [
+ ...MS_NON_EDITABLE_CONFIGS,
+].map((key) => key.toLowerCase());
diff --git a/src/app/menu/load-menu-rules.ts b/src/app/menu/load-menu-rules.ts
index 6310ab42..a7ff5bf1 100644
--- a/src/app/menu/load-menu-rules.ts
+++ b/src/app/menu/load-menu-rules.ts
@@ -80,19 +80,17 @@ export function loadMenuRules(authList: string[]): Array {
// }),
new MenuRule({
id: 13,
+ label: "Machete Settings",
+ icon: "tune",
+ routerLink: ["configuration/settings"],
+ authorizedRoles: [LRole.ADMIN],
+ }),
+ new MenuRule({
+ id: 14,
label: "Transport Providers",
icon: "airport_shuttle",
routerLink: ["configuration/transport-providers"],
authorizedRoles: [LRole.ADMIN],
- items: [
- new MenuRule({
- id: 14,
- label: "List",
- icon: "list",
- routerLink: ["configuration/transport-providers/list"],
- authorizedRoles: [LRole.ADMIN],
- }),
- ],
}),
],
}),
diff --git a/src/app/my-work-orders/order-complete/order-complete.component.spec.ts b/src/app/my-work-orders/order-complete/order-complete.component.spec.ts
index 5ef65a59..57f510ff 100644
--- a/src/app/my-work-orders/order-complete/order-complete.component.spec.ts
+++ b/src/app/my-work-orders/order-complete/order-complete.component.spec.ts
@@ -8,7 +8,7 @@ import { TableModule } from "primeng/table";
import {
MyWorkOrdersServiceSpy,
RouterSpy,
- ConfigsServiceSpy,
+ AppSettingsStoreServiceSpy,
} from "../../shared/testing";
import {
TransportProvidersServiceSpy,
@@ -17,9 +17,9 @@ import {
import * as paypal from "paypal-checkout";
import { MyWorkOrdersService } from "../my-work-orders.service";
import { ActivatedRoute, Router } from "@angular/router";
-import { ConfigsService } from "../../configs/configs.service";
import { MessageService } from "primeng/api";
import { TransportProvidersService } from "../../online-orders/transport-providers.service";
+import { AppSettingsStoreService } from "../../shared/services/app-settings-store.service";
describe("OrderCompleteComponent", () => {
let component: OrderCompleteComponent;
@@ -42,7 +42,10 @@ describe("OrderCompleteComponent", () => {
provide: MyWorkOrdersService,
useClass: MyWorkOrdersServiceSpy,
},
- { provide: ConfigsService, useClass: ConfigsServiceSpy },
+ {
+ provide: AppSettingsStoreService,
+ useClass: AppSettingsStoreServiceSpy,
+ },
{ provide: MessageService, useClass: MessageServiceSpy },
{
provide: ActivatedRoute,
diff --git a/src/app/my-work-orders/order-complete/order-complete.component.ts b/src/app/my-work-orders/order-complete/order-complete.component.ts
index 9276013a..05d6decf 100644
--- a/src/app/my-work-orders/order-complete/order-complete.component.ts
+++ b/src/app/my-work-orders/order-complete/order-complete.component.ts
@@ -8,8 +8,8 @@ import { WorkOrder } from "../../shared/models/work-order";
import * as paypal from "paypal-checkout";
import { ActivatedRoute, Router } from "@angular/router";
import { MyWorkOrdersService } from "../my-work-orders.service";
-import { ConfigsService } from "../../configs/configs.service";
import { TransportProvidersService } from "../../online-orders/transport-providers.service";
+import { AppSettingsStoreService } from "../../shared/services/app-settings-store.service";
@Component({
selector: "app-order-complete",
@@ -80,7 +80,7 @@ export class OrderCompleteComponent implements OnInit, AfterViewChecked {
private transportProviderService: TransportProvidersService,
private route: ActivatedRoute,
private router: Router,
- private configsService: ConfigsService
+ private appSettingsStore: AppSettingsStoreService
) {
console.log(".ctor");
}
@@ -91,8 +91,8 @@ export class OrderCompleteComponent implements OnInit, AfterViewChecked {
observableCombineLatest([
this.transportProviderService.getTransportProviders(),
this.ordersService.getOrder(orderId),
- this.configsService.getConfig("PayPalClientID"),
- this.configsService.getConfig("PayPalEnvironment"),
+ this.appSettingsStore.getConfig("PayPalClientID"),
+ this.appSettingsStore.getConfig("PayPalEnvironment"),
]).subscribe(
([l, o, id, env]) => {
console.log("ngOnInit:combineLatest received:", l, o, id, env);
diff --git a/src/app/online-orders/guards/banner.guard.ts b/src/app/online-orders/guards/banner.guard.ts
index 98c211c3..b93939ba 100644
--- a/src/app/online-orders/guards/banner.guard.ts
+++ b/src/app/online-orders/guards/banner.guard.ts
@@ -2,18 +2,21 @@ import { Injectable } from "@angular/core";
import { CanActivate, Router } from "@angular/router";
import { combineLatest, Observable } from "rxjs";
import { map } from "rxjs/operators";
-import { ConfigsService } from "../..//configs/configs.service";
+import { AppSettingsStoreService } from "../../shared/services/app-settings-store.service";
@Injectable()
export class BannerGuard implements CanActivate {
- constructor(private configsService: ConfigsService, private router: Router) {
+ constructor(
+ private appSettingsStore: AppSettingsStoreService,
+ private router: Router
+ ) {
console.log(".ctor");
}
canActivate(): Observable {
return combineLatest([
- this.configsService.getConfig("DisableOnlineOrders"),
- this.configsService.getConfig("DisableOnlineOrdersBanner"),
+ this.appSettingsStore.getConfig("DisableOnlineOrders"),
+ this.appSettingsStore.getConfig("DisableOnlineOrdersBanner"),
]).pipe(
map(
([toggle, banner]) => {
diff --git a/src/app/online-orders/intro-confirm/intro-confirm.component.ts b/src/app/online-orders/intro-confirm/intro-confirm.component.ts
index c6f7f65c..f8d54da4 100644
--- a/src/app/online-orders/intro-confirm/intro-confirm.component.ts
+++ b/src/app/online-orders/intro-confirm/intro-confirm.component.ts
@@ -11,7 +11,6 @@ import { Confirm } from "../shared/models/confirm";
export class IntroConfirmComponent implements OnInit {
confirmChoices = new Array();
confirmStatus = false;
- // TODO: Refactor as a service that polls from API
constructor(
private onlineService: OnlineOrdersService,
diff --git a/src/app/online-orders/introduction/introduction.component.html b/src/app/online-orders/introduction/introduction.component.html
index 1bbce49f..17324e40 100644
--- a/src/app/online-orders/introduction/introduction.component.html
+++ b/src/app/online-orders/introduction/introduction.component.html
@@ -3,26 +3,9 @@
About Casa Latina
-
- Casa Latina connects Latino immigrant workers with individuals and
- businesses looking for temporary labor. Our workers are skilled and
- dependable.
-
-
- From landscaping to dry walling to catering and housecleaning, if you can
- dream the project our workers can do it! For more information about our
- program please read these Frequently Asked Questions If you are ready to
- hire a worker, please fill out the following form.
-
-
-
- Casa Latina is taking all necessary precautions to keep employers and
- workers safe, therefore some jobs might not be available at this time.
-
-
- If you still have questions about hiring a worker, please call us at
- 206.956.0779 x3.
-