diff --git a/Jenkinsfile b/Jenkinsfile
index 06addc9408..9ed7055db4 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -8,6 +8,7 @@ def RUN_BUILD
def BRANCH_ENV = [
test: 'test',
master: 'production',
+ main: 'production',
beta: 'production'
]
@@ -20,12 +21,14 @@ node {
'dev',
'test',
'master',
+ 'main',
'beta'
].contains(env.BRANCH_NAME)
FROM_GIT = env.JOB_NAME.startsWith('gitea/')
RUN_TESTS = !PROTECTED_BRANCH && FROM_GIT
RUN_BUILD = PROTECTED_BRANCH && FROM_GIT
+ IS_LATEST = ['master', 'main'].contains(env.BRANCH_NAME)
// https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables
echo "NODE_NAME: ${env.NODE_NAME}"
@@ -73,6 +76,7 @@ pipeline {
def packageJson = readJSON file: 'package.json'
def version = "${packageJson.version}-build${env.BUILD_ID}"
writeFile(file: 'VERSION.txt', text: version)
+ echo "VERSION: ${version}"
}
}
}
@@ -105,93 +109,72 @@ pipeline {
}
}
}
- stage('Stack') {
+ stage('Test') {
+ when {
+ expression { RUN_TESTS }
+ }
+ environment {
+ NODE_ENV = ''
+ }
parallel {
stage('Back') {
- stages {
- stage('Test') {
- when {
- expression { RUN_TESTS }
- }
- environment {
- NODE_ENV = ''
- }
- steps {
- sh 'node back/tests.js --junit'
- }
- post {
- always {
- junit(
- testResults: 'junitresults.xml',
- allowEmptyResults: true
- )
- }
- }
- }
- stage('Build') {
- when {
- expression { RUN_BUILD }
- }
- environment {
- VERSION = readFile 'VERSION.txt'
- }
- steps {
- sh 'docker-compose build back'
- }
+ steps {
+ sh 'node back/tests.js --junit'
+ }
+ post {
+ always {
+ junit(
+ testResults: 'junitresults.xml',
+ allowEmptyResults: true
+ )
}
}
}
stage('Front') {
- when {
- expression { FROM_GIT }
+ steps {
+ sh 'jest --ci --reporters=default --reporters=jest-junit --maxWorkers=10'
}
- stages {
- stage('Test') {
- when {
- expression { RUN_TESTS }
- }
- environment {
- NODE_ENV = ''
- }
- steps {
- sh 'jest --ci --reporters=default --reporters=jest-junit --maxWorkers=10'
- }
- post {
- always {
- junit(
- testResults: 'junit.xml',
- allowEmptyResults: true
- )
- }
- }
- }
- stage('Build') {
- when {
- expression { RUN_BUILD }
- }
- environment {
- VERSION = readFile 'VERSION.txt'
- }
- steps {
- sh 'gulp build'
- sh 'docker-compose build front'
- }
+ post {
+ always {
+ junit(
+ testResults: 'junit.xml',
+ allowEmptyResults: true
+ )
}
}
}
}
}
- stage('Push') {
+ stage('Build') {
when {
expression { RUN_BUILD }
}
environment {
- CREDENTIALS = credentials('docker-registry')
VERSION = readFile 'VERSION.txt'
+ CREDENTIALS = credentials('docker-registry')
}
- steps {
- sh 'docker login --username $CREDENTIALS_USR --password $CREDENTIALS_PSW $REGISTRY'
- sh 'docker-compose push'
+ parallel {
+ stage('Back') {
+ steps {
+ dockerBuildPush 'salix-back', '.', 'back/Dockerfile'
+ }
+ }
+ stage('Front') {
+ steps {
+ sh 'gulp build'
+ dockerBuildPush 'salix-front', 'front'
+ }
+ }
+ stage('DB') {
+ steps {
+ sh 'npx myt run -t'
+ sh 'docker exec vn-database sh -c "cp -r /var/lib/mysql /data"'
+ sh 'docker commit vn-database vn_db'
+ sh 'docker stop vn-database'
+ sh 'docker rm vn-database'
+ dockerBuildPush 'salix-db', 'db'
+ }
+ }
}
}
stage('Deploy') {
@@ -264,3 +247,16 @@ pipeline {
}
}
}
+
+def dockerBuildPush(imageName, context, dockerfile = null) {
+ if (dockerfile == null)
+ dockerfile = "${context}/Dockerfile"
+
+ docker.withRegistry("https://${env.REGISTRY}", 'docker-registry') {
+ def baseImage = "${imageName}:${env.VERSION}"
+ def image = docker.build(baseImage, "-f ${dockerfile} ${context}")
+ image.push()
+ image.push(env.BRANCH_NAME)
+ if (IS_LATEST) image.push('latest')
+ }
+}
diff --git a/back/Dockerfile b/back/Dockerfile
index b2c3298966..bd48374d6e 100644
--- a/back/Dockerfile
+++ b/back/Dockerfile
@@ -25,7 +25,7 @@ RUN apt-get update \
libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 \
libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 \
libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 \
- libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \
+ libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 build-essential \
fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
# Extra dependencies
@@ -55,4 +55,4 @@ COPY \
README.md \
./
-CMD ["node", "--tls-min-v1.0", "--openssl-legacy-provider", "./loopback/server/server.js"]
\ No newline at end of file
+CMD ["node", "--tls-min-v1.0", "--openssl-legacy-provider", "./loopback/server/server.js"]
diff --git a/db/Dockerfile b/db/Dockerfile
new file mode 100644
index 0000000000..599c739ea7
--- /dev/null
+++ b/db/Dockerfile
@@ -0,0 +1,4 @@
+FROM mariadb:10.11.6
+ENV TZ Europe/Madrid
+COPY --from=vn_db /data /var/lib/mysql
+CMD ["mysqld"]
diff --git a/db/dump/fixtures.before.sql b/db/dump/fixtures.before.sql
index 4f71d8b845..8dc363590c 100644
--- a/db/dump/fixtures.before.sql
+++ b/db/dump/fixtures.before.sql
@@ -799,7 +799,7 @@ INSERT INTO `vn`.`ticket`(`id`, `priority`, `agencyModeFk`,`warehouseFk`,`routeF
(35, 1, 1, 1, 3, util.VN_CURDATE(), util.VN_CURDATE(), 1102, 'Somewhere in Philippines', 123, NULL, 0, 1, 16, 0, util.VN_CURDATE(), NULL, NULL, NULL, NULL),
(36, 1, 1, 1, 3, util.VN_CURDATE(), util.VN_CURDATE(), 1102, 'Ant-Man Adventure', 123, NULL, 0, 1, 16, 0, util.VN_CURDATE(), NULL, NULL, NULL, NULL),
(37, 1, 1, 1, 3, util.VN_CURDATE(), util.VN_CURDATE(), 1110, 'Deadpool swords', 123, NULL, 0, 1, 16, 0, util.VN_CURDATE(), NULL, NULL, NULL, NULL),
- (1000000, NULL, 1, 1, NULL, util.VN_CURDATE(), util.VN_CURDATE(), 1, 'employee', 131, NULL, 0, 1, 1.00, 0.00, CURDATE(), NULL, NULL, '', NULL);
+ (1000000, NULL, 1, 1, NULL, util.VN_CURDATE(), util.VN_CURDATE(), 1, 'employee', 121, NULL, 0, 1, 1.00, 0.00, CURDATE(), NULL, NULL, '', NULL);
INSERT INTO `vn`.`ticketObservation`(`id`, `ticketFk`, `observationTypeFk`, `description`)
VALUES
@@ -1609,12 +1609,12 @@ INSERT INTO `bs`.`waste`(`buyerFk`, `year`, `week`, `itemFk`, `itemTypeFk`, `sal
(13, 7, 1, 50, 0, 3, 1, 2.000, 2.000, 0.000, 1, 1, 'packing', NULL, 0.00, 99.6, 99.4, 0, 1, 0, NULL, 4, util.VN_CURDATE()),
(14, 7, 2, 5, 0, 3, 1, 2.000, 2.000, 0.000, 10, 10, 'grouping', NULL, 0.00, 7.30, 7.00, 0, 1, 0, NULL, 4, util.VN_CURDATE()),
(15, 7, 4, 1.25, 0, 3, 1, 2.000, 2.000, 0.000, 10, 10, 'grouping', NULL, 0.00, 1.75, 1.67, 0, 1, 0, NULL, 4, util.VN_CURDATE()),
- (16, 99, 1, 50.0000, 5000, 4, 1, 1.500, 1.500, 0.000, 1, 1, 'packing', NULL, 0.00, 99.60, 99.40, 0, 1, 0, NULL, 1.00, '2024-07-30 08:13:51.000'),
+ (16, 99, 1, 50.0000, 5000, 4, 1, 1.500, 1.500, 0.000, 1, 1, 'packing', NULL, 0.00, 99.60, 99.40, 0, 1, 0, NULL, 1.00, util.VN_CURDATE()),
(17, 11, 1, 50, 5000, 4, 1, 1.500, 1.500, 0.000, 1, 1, 'packing', NULL, 0.00, 99.6, 99.4, 0, 1, 0, NULL, 1, util.VN_CURDATE() - INTERVAL 2 MONTH),
(18, 12, 1, 50, 5000, 4, 1, 1.500, 1.500, 0.000, 1, 1, 'grouping', NULL, 0.00, 99.6, 99.4, 0, 1, 0, NULL, 1, util.VN_CURDATE() - INTERVAL 2 MONTH),
(19, 100, 1, 50, 100, 4, 1, 1.500, 1.500, 0.000, 1, 1, 'grouping', NULL, 0.00, 99.6, 99.4, 0, 1, 0, NULL, 1, util.VN_CURDATE()),
(20, 100, 2, 5, 450, 3, 2, 1.000, 1.000, 0.000, 10, 10, NULL, NULL, 0.00, 7.30, 7.00, 0, 1, 0, NULL, 2.5, util.VN_CURDATE()),
- (21, 100,72, 55, 500, 5, 3, 1.000, 1.000, 0.000, 1, 1, 'packing', NULL, 0.00, 78.3, 75.6, 0, 1, 0, 1, 3, util.VN_CURDATE()),
+ (21, 100,72, 55, 500, 5, 3, 1.000, 1.000, 0.000, 1, 1, 'packing', NULL, 0.00, 78.3, 75.6, 0, 1, 0, 1, 3, util.VN_CURDATE()),
(10000002, 12,88, 50.0000, 5000, 4, 1, 1.500, 1.500, 0.000, 1, 1, 'grouping', NULL, 0.00, 99.60, 99.40, 0, 1, 0, 1.00, 1,util.VN_CURDATE() - INTERVAL 2 MONTH);
INSERT INTO `hedera`.`order`(`id`, `date_send`, `customer_id`, `delivery_method_id`, `agency_id`, `address_id`, `company_id`, `note`, `source_app`, `confirmed`,`total`, `date_make`, `first_row_stamp`, `confirm_date`)
diff --git a/db/routines/vn/procedures/item_getBalance.sql b/db/routines/vn/procedures/item_getBalance.sql
index 4c425e20be..a68724eb50 100644
--- a/db/routines/vn/procedures/item_getBalance.sql
+++ b/db/routines/vn/procedures/item_getBalance.sql
@@ -207,7 +207,7 @@ BEGIN
SELECT t.originType,
t.originId,
- @shipped:= t.shipped,
+ @shipped:= t.shipped shipped,
t.alertLevel,
t.stateName,
t.reference,
diff --git a/db/routines/vn/procedures/productionControl.sql b/db/routines/vn/procedures/productionControl.sql
index e23232b8b0..fdb927a6e0 100644
--- a/db/routines/vn/procedures/productionControl.sql
+++ b/db/routines/vn/procedures/productionControl.sql
@@ -72,7 +72,7 @@ proc: BEGIN
IF(tpr.isFreezed, ' CONGELADO',''),
IF(tpr.hasHighRisk, ' RIESGO',''),
IF(tpr.hasTicketRequest, ' COD 100',''),
- IF(tpr.isTaxDataChecked, '',' FICHA INCOMPLETA'),
+ IF(tpr.isTaxDataChecked, ' FICHA INCOMPLETA', ''),
IF(tpr.hasComponentLack, ' COMPONENTES', ''),
IF(HOUR(util.VN_NOW()) < IF(HOUR(t.shipped), HOUR(t.shipped), COALESCE(HOUR(zc.hour),HOUR(z.hour)))
AND tpr.isTooLittle, ' PEQUEÑO', '')
diff --git a/docker-compose.yml b/docker-compose.yml
deleted file mode 100644
index 923bb57809..0000000000
--- a/docker-compose.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-version: '3.7'
-services:
- front:
- image: registry.verdnatura.es/salix-front:${VERSION:?}
- build:
- context: front
- back:
- image: registry.verdnatura.es/salix-back:${VERSION:?}
- build:
- context: .
- dockerfile: back/Dockerfile
diff --git a/modules/entry/back/methods/stock-bought/getStockBought.js b/modules/entry/back/methods/stock-bought/getStockBought.js
index 9768b58e72..e94f2dfb1a 100644
--- a/modules/entry/back/methods/stock-bought/getStockBought.js
+++ b/modules/entry/back/methods/stock-bought/getStockBought.js
@@ -45,7 +45,7 @@ module.exports = Self => {
{
relation: 'user',
scope: {
- fields: ['id', 'name']
+ fields: ['id', 'nickname']
}
}
]
diff --git a/modules/route/back/methods/route/specs/getSuggestedTickets.spec.js b/modules/route/back/methods/route/specs/getSuggestedTickets.spec.js
index 3d6702482d..73264ad546 100644
--- a/modules/route/back/methods/route/specs/getSuggestedTickets.spec.js
+++ b/modules/route/back/methods/route/specs/getSuggestedTickets.spec.js
@@ -33,7 +33,7 @@ describe('route getSuggestedTickets()', () => {
expect(result.length).toEqual(5);
expect(anyResult.zoneFk).toEqual(1);
- expect(anyResult.agencyModeFk).toEqual(8);
+ expect([1, 8]).toContain(anyResult.agencyModeFk);
await tx.rollback();
} catch (e) {
diff --git a/modules/travel/back/methods/travel/filter.js b/modules/travel/back/methods/travel/filter.js
index 837e30b305..ad7a71d11d 100644
--- a/modules/travel/back/methods/travel/filter.js
+++ b/modules/travel/back/methods/travel/filter.js
@@ -173,6 +173,7 @@ module.exports = Self => {
t.isRaid,
t.daysInForward,
t.awbFk,
+ t.availabled,
am.name agencyModeName,
a.code awbCode,
win.name warehouseInName,
diff --git a/modules/travel/back/models/travel.json b/modules/travel/back/models/travel.json
index a2a9e478e3..feeb24f698 100644
--- a/modules/travel/back/models/travel.json
+++ b/modules/travel/back/models/travel.json
@@ -56,6 +56,9 @@
},
"daysInForward": {
"type": "number"
+ },
+ "availabled": {
+ "type": "date"
}
},
"relations": {
diff --git a/print/templates/email/invoice/locale/fr.yml b/print/templates/email/invoice/locale/fr.yml
index 9efbdf5a03..937976f390 100644
--- a/print/templates/email/invoice/locale/fr.yml
+++ b/print/templates/email/invoice/locale/fr.yml
@@ -1,9 +1,8 @@
subject: Votre facture
title: Votre facture
-dear: Cher client,
-description: Le facture {0} correspondant à la commande {1} est maintenant disponible.
- Vous pouvez le télécharger en cliquant sur la pièce jointe dans cet email.
-poll: Si vous le souhaitez, vous pouvez répondre à notre questionaire de satisfaction
- pour nous aider à améliorer notre service. Votre avis est très important pour nous!
-help: N'hésitez pas nous envoyer toute doute ou question, nous sommes là pour vous aider!
+dear: Chère cliente, cher client
+description: La facture {0} correspondant à votre commande {1} est maintenant disponible.
+ Vous pouvez la télécharger en cliquant sur la pièce jointe.
+poll:
+help: En cas de besoin d'eclaircissement, n'hésitez pas à nous contacter, nous sommes là pour vous aider!
conclusion: Merci pour votre attention!