Skip to content

Commit

Permalink
Initial Release (v1.0.0)
Browse files Browse the repository at this point in the history
Initial Release (v1.0.0)
  • Loading branch information
mosab-zakarneh committed Mar 3, 2024
2 parents 9393388 + 1067715 commit e580154
Show file tree
Hide file tree
Showing 379 changed files with 60,615 additions and 1 deletion.
14 changes: 14 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true

[package.json]
indent_style = space
indent_size = 2
5 changes: 5 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
**/cartridge/static/**/*
coverage/
node_modules/
cartridges/bm_itg_extension/cartridge/scripts/jobsteps/exportPageDesigner.js
cartridges/bm_itg_extension/cartridge/scripts/helpers/xmlCsvConversionHelper.js
43 changes: 43 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"root": true,
"extends": "airbnb-base/legacy",
"env": {
"es6": true,
"node": true,
"mocha": true
},
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 8
},
"globals": {
"dw": false,
"request": false,
"customer": false,
"session": false,
"empty": false,
"device": false,
"$": true,
"jQuery": true,
"bootstrap": true
},
"rules": {
"import/no-unresolved": "off",
"indent": ["error", 4, { "SwitchCase": 1, "VariableDeclarator": 1 }],
"linebreak-style": [
0,
"windows"
],
"func-names": "off",
"require-jsdoc": "off",
"valid-jsdoc": ["error", { "preferType": { "Boolean": "boolean", "Number": "number", "object": "Object", "String": "string" }, "requireReturn": false}],
"vars-on-top": "off",
"global-require": "off",
"no-shadow": ["error", { "allow": ["err", "callback"]}],
"max-len": "off",
"quote-props": "off",
"no-new": "off",
"no-nested-ternary": 1,
"no-trailing-spaces": 2
}
}
8 changes: 8 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Unix-style newlines with a newline ending every file. Relates to .editorconfig setting.
* text=auto eol=lf

# LFS Configuration
*.jpg binary
*.png binary
*.gif binary
*.pdf binary
37 changes: 37 additions & 0 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Run Lint/Tests

on:
push:
branches: [ "main", "develop" ]
pull_request:
branches: [ "main", "develop" ]

jobs:
build:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [12.21.0]

steps:
- uses: actions/checkout@v3

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- name: Install Node Modules
run: |
npm install
- name: Build JS & CSS
run: |
npm run build
- name: Test Linting
run: |
npm run lint
- name: Run Tests
run: |
npm run test
npm run test:integration
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules
dw.json
.DS_Store
.vscode/
coverage
19 changes: 19 additions & 0 deletions .stylelintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"extends": "stylelint-config-standard",
"plugins": [
"stylelint-scss"
],
"rules": {
"indentation": 4,
"scss/at-import-no-partial-leading-underscore": true,
"scss/at-import-partial-extension-blacklist": ["scss"],
"scss/dollar-variable-no-missing-interpolation": true,
"scss/media-feature-value-dollar-variable": "never",
"scss/selector-no-redundant-nesting-selector": true,
"at-rule-empty-line-before": [ "always", { "ignoreAtRules": ["else"], "ignore": ["blockless-after-same-name-blockless", "inside-block"] } ],
"at-rule-no-unknown": [ true, {
"ignoreAtRules": ["extend", "at-root", "debug", "warn", "error", "if", "else", "for", "each", "while", "mixin", "include", "content", "return", "function"]
}],
"block-closing-brace-newline-after": [ "always", { "ignoreAtRules": ["if", "else"] } ]
}
}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Users will now have access to highly productive, streamlined Business Manager ca

## Installation, Usage and Configuration

Installation, Usage and Configuration is explained in the user guide [documentation](documentation/BM_Extension_User_Guide).
Installation, Usage and Configuration is explained in the user guide [documentation](documentation/BM_Extension_User_Guide.pdf).

## Compatibility

Expand Down
19 changes: 19 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Security Policy

## Reporting a Vulnerability

At ITG Software, we take security seriously. If you believe you have found a security vulnerability in our project, we encourage you to let us know right away. We appreciate your efforts in responsibly disclosing any potential issues.

To report a vulnerability, please email us directly at [salesforce@itgsoftware.com](mailto:salesforce@itgsoftware.com) with a detailed description of the vulnerability and steps to reproduce it. We also welcome any additional information you can provide to help us understand and address the issue.

Please refrain from publicly disclosing the vulnerability until we have had an opportunity to review and address it. We strive to promptly respond to all reports and will work with you to understand and resolve any security concerns.

## Responsible Disclosure

We follow the principles of responsible disclosure, which means we will:
- Acknowledge receipt of your vulnerability report as soon as possible.
- Work with you to understand and validate the issue.
- Notify you when the vulnerability has been fixed.
- Publicly acknowledge your responsible disclosure, if you wish.

We appreciate your help in keeping our project safe and secure for everyone. Thank you for your cooperation and support in making our project better.
17 changes: 17 additions & 0 deletions cartridges/bm_itg_extension/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>bm_itg_extension</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.demandware.studio.core.beehiveElementBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.demandware.studio.core.beehiveNature</nature>
</natures>
</projectDescription>
10 changes: 10 additions & 0 deletions cartridges/bm_itg_extension/caches.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"caches": [
{
"id": "ocapiDataAuthToken"
},
{
"id": "ociCommerceApiAuthToken"
}
]
}
184 changes: 184 additions & 0 deletions cartridges/bm_itg_extension/cartridge/bm_extensions.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<extensions xmlns="http://www.demandware.com/xml/bmmodules/2007-12-11" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.demandware.com/xml/bmmodules/2007-12-11 bmext.xsd">

<menuaction id="oos_notifications" menupath="prod-cat" position="550" site="true">
<name xml:lang="x-default">OOS Notification</name>
<short_description xml:lang="x-default">
Sends out-of-stock notification emails for configured products when their inventory is 0.
</short_description>
<description xml:lang="x-default">
Sends out-of-stock notification emails for configured products when their inventory is 0.
</description>
<exec pipeline="AutomaticNotificationSettings" node="ShowOOSNotificationSettings"/>
<sub-pipelines>
<pipeline name="AutomaticNotificationSettings-ShowOOSNotificationSettings" />
<pipeline name="AutomaticNotificationSettings-SaveOOSNotificationSettings" />
<pipeline name="AutomaticNotificationSettings-UpdateEnablementPreference" />
<pipeline name="AutomaticNotificationSettings-SaveSenderEmail" />
</sub-pipelines>
<icon>icons/bm_ext_ico.png</icon>
</menuaction>
<menuaction id="order_alert" menupath="orders" position="800" site="true">
<name xml:lang="x-default">Order Notifications</name>
<short_description xml:lang="x-default">
Sends notification emails when orders are not placed or failing for specific period.
</short_description>
<description xml:lang="x-default">
Sends notification emails when orders are not placed or failing for specific period.
</description>
<exec pipeline="AutomaticNotificationSettings" node="ShowOrderAlertSettings"/>
<sub-pipelines>
<pipeline name="AutomaticNotificationSettings-ShowOrderAlertSettings" />
<pipeline name="AutomaticNotificationSettings-SaveOrderIntervalSettings" />
<pipeline name="AutomaticNotificationSettings-SaveFailedOrderAlertSettings" />
<pipeline name="AutomaticNotificationSettings-UpdateEnablementPreference" />
<pipeline name="AutomaticNotificationSettings-SaveSenderEmail" />
</sub-pipelines>
<icon>icons/bm_ext_ico.png</icon>
</menuaction>

<menuaction id="campaign_notifications" menupath="marketing" position="145" site="true">
<name xml:lang="x-default">Expired Campaigns Notification</name>
<short_description xml:lang="x-default">
Sends notification emails for configured campaigns when they are about to expire.
</short_description>
<description xml:lang="x-default">
Sends notification emails for configured campaigns when they are about to expire.
</description>
<exec pipeline="AutomaticNotificationSettings" node="ShowCampaignNotificationSetting"/>
<sub-pipelines>
<pipeline name="AutomaticNotificationSettings-ShowCampaignNotificationSetting" />
<pipeline name="AutomaticNotificationSettings-SaveCampaignNotificationSettings" />
<pipeline name="AutomaticNotificationSettings-GetCampaignSuggestions" />
<pipeline name="AutomaticNotificationSettings-UpdateEnablementPreference" />
<pipeline name="AutomaticNotificationSettings-ShowSVG" />
<pipeline name="AutomaticNotificationSettings-SaveSenderEmail" />
</sub-pipelines>
<icon>icons/bm_ext_ico.png</icon>
</menuaction>

<menuaction id="pageDesigner_export" menupath="content" position="999" site="true">
<name xml:lang="x-default">Targeted Pages Export</name>
<short_description xml:lang="x-default">
Export Page Designer Pages.
</short_description>
<description xml:lang="x-default">
Export Page Designer Pages.
</description>
<exec pipeline="PageDesignerExport" node="Start"/>
<sub-pipelines>
<pipeline name="PageDesignerExport-Start" />
<pipeline name="PageDesignerExport-ExportPages" />
<pipeline name="ExecutionList-DownloadExportFile" />
<pipeline name="ExecutionList-GetExecutionDetails" />
</sub-pipelines>
<icon>icons/bm_ext_ico.png</icon>
</menuaction>

<menuaction id="OCI-Inventory" menupath="prod-cat" position="400" site="true">
<name xml:lang="x-default">OCI Inventory</name>
<short_description xml:lang="x-default">
OCI Data Management Interface.
</short_description>
<description xml:lang="x-default">
OCI Data Management Interface.
</description>
<exec pipeline="OmniChannelnventory" node="Start"/>
<sub-pipelines>
<pipeline name="OmniChannelnventory-Start" />
<pipeline name="OmniChannelnventory-UpdateOrAddInventoryRecord" />
<pipeline name="OmniChannelnventory-SearchInventoryRecords" />
<pipeline name="OmniChannelnventory-GetRecordDetails" />
</sub-pipelines>
<icon>icons/bm_ext_ico.png</icon>
</menuaction>

<menuaction id="coupon_replicator" menupath="marketing" position="120" site="true">
<name xml:lang="x-default">Coupon Replicator</name>
<short_description xml:lang="x-default">
Replicate Coupon From Specific Site to Multiple Sites.
</short_description>
<description xml:lang="x-default">
Replicate Coupon From Specific Site to Multiple Sites.
</description>
<exec pipeline="CouponReplicator" node="Start"/>
<sub-pipelines>
<pipeline name="CouponReplicator-Start" />
<pipeline name="CouponReplicator-GetCouponList" />
<pipeline name="CouponReplicator-RunReplicationJob" />
<pipeline name="CouponReplicator-ReplicationPage" />
</sub-pipelines>
<icon>icons/bm_ext_ico.png</icon>
</menuaction>

<menuaction id="customer_productlist" menupath="customers" position="200" site="true">
<name xml:lang="x-default"> Customer Product Lists</name>
<short_description xml:lang="x-default">
Get Customer's Created product-lists.
</short_description>
<description xml:lang="x-default">
Display all product lists the customer created.
</description>
<exec pipeline="CustomerProductList" node="Start"/>
<sub-pipelines>
<pipeline name="CustomerProductList-Start" />
<pipeline name="CustomerProductList-GetList" />
</sub-pipelines>
<icon>icons/bm_ext_ico.png</icon>
</menuaction>

<menuaction id="export_import_product" menupath="prod-cat" position="1000" site="true">
<name xml:lang="x-default">CSV Import &amp; Export</name>
<short_description xml:lang="x-default">
CSV Import &amp; Export.
</short_description>
<description xml:lang="x-default">
CSV Import &amp; Export.
</description>
<exec pipeline="CSVImportExport" node="Start"/>
<sub-pipelines>
<pipeline name="CSVImportExport-Start" />
<pipeline name="CSVImportExport-DataMapping" />
<pipeline name="CSVImportExport-NewMappingConfiguration" />
<pipeline name="CSVImportExport-SaveMappingConfiguration" />
<pipeline name="CSVImportExport-ExecuteCsvImportExportJob" />
</sub-pipelines>
<icon>icons/bm_ext_ico.png</icon>
</menuaction>

<menuaction id="job_execution_report" menupath="operations" position="110" site="false">
<name xml:lang="x-default">Job Execution Report</name>
<short_description xml:lang="x-default">
Job Execution Report.
</short_description>
<description xml:lang="x-default">
Job Execution Report.
</description>
<exec pipeline="JobExecutionReport" node="Start"/>
<sub-pipelines>
<pipeline name="JobExecutionReport-Start" />
<pipeline name="JobExecutionReport-GetJobReport" />
<pipeline name="JobExecutionReport-GetJobRatio" />
</sub-pipelines>
<icon>icons/bm_ext_ico.png</icon>
</menuaction>

<menuaction id="configuration" menupath="site-prefs" position="10000" site="true">
<name xml:lang="x-default">BM Extension Configuration</name>
<short_description xml:lang="x-default">
BM Extension Configuration.
</short_description>
<description xml:lang="x-default">
BM Extension Configuration.
</description>
<exec pipeline="ConfigurationPage" node="Start"/>
<sub-pipelines>
<pipeline name="ConfigurationPage-Start" />
<pipeline name="ConfigurationPage-DeleteDataMapping" />
<pipeline name="ConfigurationPage-SaveConfiguration" />
<pipeline name="ConfigurationPage-DownloadOciLocations" />
</sub-pipelines>
<icon>icons/bm_ext_ico.png</icon>
</menuaction>

</extensions>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## cartridge.properties for cartridge bm_itg_extension
demandware.cartridges.bm_itg_extension.multipleLanguageStorefront=true
demandware.cartridges.bm_itg_extension.id=bm_itg_extension
Loading

0 comments on commit e580154

Please sign in to comment.