From 3dac1be4017d37c4e17b604efda386e65ee4ecf9 Mon Sep 17 00:00:00 2001 From: jgallego Date: Mon, 12 Mar 2018 12:58:29 +0100 Subject: [PATCH 1/9] Modificacion de traduccion mas apropiada --- client/client/src/create/create.html | 2 +- client/client/src/create/locale/es.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/client/src/create/create.html b/client/client/src/create/create.html index b0c93c1a0..d7bf534af 100644 --- a/client/client/src/create/create.html +++ b/client/client/src/create/create.html @@ -15,7 +15,7 @@ - + diff --git a/client/client/src/create/locale/es.yml b/client/client/src/create/locale/es.yml index c20f5a8ec..e48239855 100644 --- a/client/client/src/create/locale/es.yml +++ b/client/client/src/create/locale/es.yml @@ -1,7 +1,7 @@ Name: Nombre Tax number: NIF/CIF Business name: Razón social -User name: Nombre de usuario +Web user: Usuario Web Email: Correo electrónico Create and edit: Crear y editar Create: Crear From 95e96a91a77814b7c53264fd1247b64f354689be Mon Sep 17 00:00:00 2001 From: Vicente Falco Date: Tue, 13 Mar 2018 11:15:39 +0100 Subject: [PATCH 2/9] datasource loopback unique --- .env.json | 6 ++++ Jenkinsfile | 6 +++- gulpfile.js | 20 ++++++++--- package.json | 1 + services-test.config.js | 24 ------------- services/db/03-changes.sh | 2 +- services/db/Dockerfile | 2 +- services/db/testing_fixtures.js | 2 +- services/loopback/server/datasources.json | 36 ++++++++++--------- .../application/config/datasources.json | 2 +- .../print/application/config/datasources.json | 2 +- services_tests.js | 3 ++ 12 files changed, 55 insertions(+), 51 deletions(-) create mode 100644 .env.json delete mode 100644 services-test.config.js diff --git a/.env.json b/.env.json new file mode 100644 index 000000000..0fa6162d9 --- /dev/null +++ b/.env.json @@ -0,0 +1,6 @@ +{ + "salixHost": "localhost", + "salixPort": "3306", + "salixUser": "root", + "salixPassword": "root" +} \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index d004f86bc..958de4d57 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -6,10 +6,14 @@ def branchTest = "test"; env.BRANCH_NAME = branchName; env.TAG = "${env.BUILD_NUMBER}"; +env.salixUser="${env.salixUser}"; +env.salixPassword="${env.salixPassword}"; switch (branchName){ case branchTest: env.NODE_ENV = "test"; + env.salixHost = "${env.testSalixHost}"; + env.salixPort = "${env.testSalixPort}"; break; case branchProduction: env.DOCKER_HOST = "tcp://172.16.255.29:2375"; @@ -20,7 +24,7 @@ switch (branchName){ node { stage ('Print environment variables'){ - echo "Branch ${branchName}, Build ${env.TAG}, NODE_ENV ${env.NODE_ENV} en docker Host ${env.DOCKER_HOST}" + echo "Branch ${branchName}, Build ${env.TAG}, salixHost ${env.salixHost}, NODE_ENV ${env.NODE_ENV} en docker Host ${env.DOCKER_HOST}" } stage ('Checkout') { checkout scm diff --git a/gulpfile.js b/gulpfile.js index e1b3df473..b2d6f6d3f 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -6,6 +6,7 @@ const exec = require('child_process').exec; const PluginError = require('plugin-error'); const argv = require('minimist')(process.argv.slice(2)); const log = require('fancy-log'); +const environment = require('gulp-env'); // Configuration @@ -37,7 +38,13 @@ let defaultPort = proxyConf.defaultPort; // Development gulp.task('default', () => { - return gulp.start('services', 'client'); + return gulp.start('environment', 'services', 'client'); +}); + +gulp.task('environment', async () => { + await environment({ + file: '.env.json' + }); }); gulp.task('client', ['build-clean'], async () => { @@ -48,7 +55,7 @@ gulp.task('client', ['build-clean'], async () => { * Starts all backend services, including the nginx proxy and the database. */ gulp.task('services', async () => { - await runSequenceP('docker-start', 'services-only', 'nginx'); + await runSequenceP('environment', 'docker-start', 'services-only', 'nginx'); }); /** @@ -137,7 +144,7 @@ gulp.task('install', () => { // Deployment gulp.task('build', ['clean'], async () => { - await runSequenceP(['routes', 'locales', 'webpack', 'docker-compose', 'nginx-conf']); + await runSequenceP(['environment', 'routes', 'locales', 'webpack', 'docker-compose', 'nginx-conf']); }); gulp.task('docker-compose', async () => { @@ -154,7 +161,9 @@ gulp.task('docker-compose', async () => { // dockerFile = 'Dockerfile'; composeYml.services[service.name] = { - environment: ['NODE_ENV=${NODE_ENV}'], + environment: ['NODE_ENV=${NODE_ENV}' ,'salixHost=${salixHost}', 'salixPort=${salixPort}', + 'salixUser=${salixUser}', 'salixPassword=${salixPassword}' + ], container_name: `\${BRANCH_NAME}-${service.name}`, image: `${service.name}:\${TAG}`, build: { @@ -480,7 +489,8 @@ gulp.task('docker-wait', callback => { let conn = mysql.createConnection({ host: 'localhost', - user: 'root' + user: 'root', + password: 'root' }); conn.on('error', () => {}); conn.connect(err => { diff --git a/package.json b/package.json index 059a1bedd..7b4c19023 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "file-loader": "^1.1.6", "gulp": "^3.9.1", "gulp-concat": "^2.6.0", + "gulp-env": "^0.4.0", "gulp-extend": "^0.2.0", "gulp-install": "^1.1.0", "gulp-jasmine": "^3.0.0", diff --git a/services-test.config.js b/services-test.config.js deleted file mode 100644 index aa8866fc8..000000000 --- a/services-test.config.js +++ /dev/null @@ -1,24 +0,0 @@ -// const SpecReporter = require('jasmine-spec-reporter').SpecReporter; - -// module.exports = { -// reporter: new SpecReporter({ -// spec: { -// // displayStacktrace: 'summary', -// displaySuccessful: false, -// displayFailedSpec: true, -// displaySpecDuration: true -// } -// }), -// config: { -// spec_dir: 'services', -// spec_files: [ -// // '**/*.spec.js', -// 'auth/server/**/*.spec.js', -// 'client/common/**/*.spec.js', -// 'loopback/common/**/*.spec.js' -// ], -// helpers: [ -// '/services/utils/jasmineHelpers.js' -// ] -// } -// }; diff --git a/services/db/03-changes.sh b/services/db/03-changes.sh index 4e0d23d3a..0f714b2aa 100644 --- a/services/db/03-changes.sh +++ b/services/db/03-changes.sh @@ -2,5 +2,5 @@ for file in changes/*/*.sql; do echo "Importing $file" - mysql -u root < $file + mysql -u root -proot < $file done diff --git a/services/db/Dockerfile b/services/db/Dockerfile index 1cc2b17eb..55ca078d2 100644 --- a/services/db/Dockerfile +++ b/services/db/Dockerfile @@ -1,6 +1,6 @@ FROM mysql:5.6.37 -ENV MYSQL_ALLOW_EMPTY_PASSWORD yes +ENV MYSQL_ROOT_PASSWORD root ENV TZ GMT-1 WORKDIR /docker-entrypoint-initdb.d diff --git a/services/db/testing_fixtures.js b/services/db/testing_fixtures.js index ca525ccb1..a6e32c0d5 100644 --- a/services/db/testing_fixtures.js +++ b/services/db/testing_fixtures.js @@ -4,7 +4,7 @@ let connection = mysql.createConnection({ multipleStatements: true, host: 'localhost', user: 'root', - password: '', + password: 'root', database: 'salix' }); diff --git a/services/loopback/server/datasources.json b/services/loopback/server/datasources.json index da7bcd44a..945c81966 100644 --- a/services/loopback/server/datasources.json +++ b/services/loopback/server/datasources.json @@ -1,37 +1,41 @@ { "db": { + "name": "db", "connector": "memory" }, "vn": { + "name": "mysql", "connector": "mysql", "database": "vn", "debug": false, - "host": "localhost", - "port": 3306, - "username": "root", - "password": "", + "host": "${salixHost}", + "port": "${salixPort}", + "username": "${salixUser}", + "password": "${salixPassword}", "connectTimeout": 20000, "acquireTimeout": 20000 }, "salix": { + "name": "mysql", "connector": "mysql", "database": "salix", "debug": false, - "host": "localhost", - "port": 3306, - "username": "root", - "password": "", + "host": "${salixHost}", + "port": "${salixPort}", + "username": "${salixUser}", + "password": "${salixPassword}", "connectTimeout": 20000, "acquireTimeout": 20000 }, "account": { + "name": "mysql", "connector": "mysql", "database": "account", "debug": false, - "host": "localhost", - "port": 3306, - "username": "root", - "password": "", + "host": "${salixHost}", + "port": "${salixPort}", + "username": "${salixUser}", + "password": "${salixPassword}", "connectTimeout": 20000, "acquireTimeout": 20000 }, @@ -39,10 +43,10 @@ "connector": "mysql", "database": "edi", "debug": false, - "host": "localhost", - "port": 3306, - "username": "root", - "password": "", + "host": "${salixHost}", + "port": "${salixPort}", + "username": "${salixUser}", + "password": "${salixPassword}", "connectTimeout": 20000, "acquireTimeout": 20000 } diff --git a/services/mailer/application/config/datasources.json b/services/mailer/application/config/datasources.json index 865c68e47..6d489ec36 100644 --- a/services/mailer/application/config/datasources.json +++ b/services/mailer/application/config/datasources.json @@ -11,7 +11,7 @@ "port": 3306, "database": "vn", "user": "root", - "password": "" + "password": "root" }, "smtp": { "host": "localhost", diff --git a/services/print/application/config/datasources.json b/services/print/application/config/datasources.json index c797136ea..0c08c7d0a 100644 --- a/services/print/application/config/datasources.json +++ b/services/print/application/config/datasources.json @@ -9,7 +9,7 @@ "port": 3306, "database": "vn", "user": "root", - "password": "" + "password": "root" }, "pdf": { "format": "A4", diff --git a/services_tests.js b/services_tests.js index fe3c907da..cbd7e7f81 100644 --- a/services_tests.js +++ b/services_tests.js @@ -13,6 +13,9 @@ if (process.argv[2] === '--v') { var Jasmine = require('jasmine'); var jasmine = new Jasmine(); var SpecReporter = require('jasmine-spec-reporter').SpecReporter; +let environment = require('gulp-env'); + +environment(".env.json"); jasmine.loadConfig({ spec_dir: 'services', From 3fd4e2942918c0008ed9735af7052c42d95c7273 Mon Sep 17 00:00:00 2001 From: Juan Date: Tue, 13 Mar 2018 12:07:28 +0100 Subject: [PATCH 3/9] vnTextarea style fix, new component vnMenu wich extends vnPopover --- .../components/drop-down/drop-down.spec.js | 2 ++ client/core/src/components/index.js | 5 ++-- client/core/src/components/menu/menu.js | 24 +++++++++++++++++++ client/core/src/components/popover/popover.js | 4 ++++ client/core/src/components/popover/style.scss | 2 +- .../core/src/components/textarea/style.scss | 6 +++++ .../core/src/components/textarea/textarea.js | 1 + .../src/components/main-menu/main-menu.html | 12 +++++----- .../salix/src/components/main-menu/style.scss | 4 ++-- e2e/helpers/extensions.js | 2 +- .../application/config/datasources.json | 2 +- .../print/application/config/datasources.json | 2 +- 12 files changed, 52 insertions(+), 14 deletions(-) create mode 100755 client/core/src/components/menu/menu.js create mode 100644 client/core/src/components/textarea/style.scss diff --git a/client/core/src/components/drop-down/drop-down.spec.js b/client/core/src/components/drop-down/drop-down.spec.js index f0bd93853..0b46f9ade 100644 --- a/client/core/src/components/drop-down/drop-down.spec.js +++ b/client/core/src/components/drop-down/drop-down.spec.js @@ -30,6 +30,8 @@ describe('Component vnDropDown', () => { let popoverTemplate = require('../popover/popover.html'); let $popover = angular.element(`
${popoverTemplate}
`); $scope.popover = $componentController('vnPopover', {$element: $popover, $scope, $timeout, $transitions}); + $scope.popover.$postLink(); + $scope.model = $componentController('vnModel', {$httpBackend, $q, $filter}); controller = $componentController('vnDropDown', {$element, $scope, $transclude: null, $timeout, $httpBackend, $translate: null}); controller.$postLink(); diff --git a/client/core/src/components/index.js b/client/core/src/components/index.js index 9077ada71..774971572 100644 --- a/client/core/src/components/index.js +++ b/client/core/src/components/index.js @@ -2,8 +2,6 @@ import './textfield/textfield'; import './watcher/watcher'; import './paging/paging'; import './icon/icon'; -import './autocomplete/autocomplete'; -import './popover/popover'; import './dialog/dialog'; import './confirm/confirm'; import './title/title'; @@ -12,7 +10,10 @@ import './spinner/spinner'; import './snackbar/snackbar'; import './tooltip/tooltip'; import './icon-menu/icon-menu'; +import './popover/popover'; +import './autocomplete/autocomplete'; import './drop-down/drop-down'; +import './menu/menu'; import './column-header/column-header'; import './grid-header/grid-header'; import './multi-check/multi-check'; diff --git a/client/core/src/components/menu/menu.js b/client/core/src/components/menu/menu.js new file mode 100755 index 000000000..ce32502d9 --- /dev/null +++ b/client/core/src/components/menu/menu.js @@ -0,0 +1,24 @@ +import ngModule from '../../module'; +import Popover from '../popover/popover'; + +export default class Menu extends Popover { + $postLink() { + super.$postLink(); + this.element.addEventListener('click', + () => this.onClick()); + } + + onClick() { + this.hide(); + } +} + +ngModule.component('vnMenu', { + template: require('../popover/popover.html'), + controller: Menu, + transclude: true, + bindings: { + onOpen: '&?', + onClose: '&?' + } +}); diff --git a/client/core/src/components/popover/popover.js b/client/core/src/components/popover/popover.js index 45a25918f..253e00e95 100644 --- a/client/core/src/components/popover/popover.js +++ b/client/core/src/components/popover/popover.js @@ -11,6 +11,10 @@ export default class Popover extends Component { this.$timeout = $timeout; this.$transitions = $transitions; this._shown = false; + } + + $postLink() { + this.$element.addClass('vn-popover'); this.docKeyDownHandler = e => this.onDocKeyDown(e); this.docFocusInHandler = e => this.onDocFocusIn(e); diff --git a/client/core/src/components/popover/style.scss b/client/core/src/components/popover/style.scss index f8323fb5e..458a47df9 100644 --- a/client/core/src/components/popover/style.scss +++ b/client/core/src/components/popover/style.scss @@ -1,4 +1,4 @@ -vn-popover { +.vn-popover { display: none; z-index: 10; position: fixed; diff --git a/client/core/src/components/textarea/style.scss b/client/core/src/components/textarea/style.scss new file mode 100644 index 000000000..91b29b3cf --- /dev/null +++ b/client/core/src/components/textarea/style.scss @@ -0,0 +1,6 @@ +vn-textarea { + & > .mdl-textfield { + width: initial; + display: block; + } +} \ No newline at end of file diff --git a/client/core/src/components/textarea/textarea.js b/client/core/src/components/textarea/textarea.js index 6bacdfc9f..122259ff3 100644 --- a/client/core/src/components/textarea/textarea.js +++ b/client/core/src/components/textarea/textarea.js @@ -1,5 +1,6 @@ import ngModule from '../../module'; import template from './textarea.html'; +import './style.scss'; directive.$inject = ['vnTemplate']; export function directive(vnTemplate) { diff --git a/client/salix/src/components/main-menu/main-menu.html b/client/salix/src/components/main-menu/main-menu.html index 72a4bdc06..33703f371 100644 --- a/client/salix/src/components/main-menu/main-menu.html +++ b/client/salix/src/components/main-menu/main-menu.html @@ -9,22 +9,22 @@ vn-popover="apps-menu" translate-attr="{title: 'Applications'}"> - -
    + +
    • {{::mod.name}}
    - +
    - -
      + +
      • {{::lang}}
      - +
      vn-icon { padding-right: .3em; diff --git a/e2e/helpers/extensions.js b/e2e/helpers/extensions.js index e424708e1..7f146d30e 100644 --- a/e2e/helpers/extensions.js +++ b/e2e/helpers/extensions.js @@ -23,7 +23,7 @@ Nightmare.action('changeLanguageToEnglish', function(done) { this.then(done); } else { this.click('#lang') - .click('#langs-menu > li[name="en"]') + .click('vn-main-menu [vn-id="langs-menu"] ul > li[name="en"]') .then(done); } }); diff --git a/services/mailer/application/config/datasources.json b/services/mailer/application/config/datasources.json index 865c68e47..6d489ec36 100644 --- a/services/mailer/application/config/datasources.json +++ b/services/mailer/application/config/datasources.json @@ -11,7 +11,7 @@ "port": 3306, "database": "vn", "user": "root", - "password": "" + "password": "root" }, "smtp": { "host": "localhost", diff --git a/services/print/application/config/datasources.json b/services/print/application/config/datasources.json index c797136ea..0c08c7d0a 100644 --- a/services/print/application/config/datasources.json +++ b/services/print/application/config/datasources.json @@ -9,7 +9,7 @@ "port": 3306, "database": "vn", "user": "root", - "password": "" + "password": "root" }, "pdf": { "format": "A4", From 9b153aec5a95376a5a6d13792413da596126fbd0 Mon Sep 17 00:00:00 2001 From: Juan Date: Tue, 13 Mar 2018 12:14:06 +0100 Subject: [PATCH 4/9] DNI validation fixes --- .../common/validations/specs/validateDni.spec.js | 14 +++++++------- .../loopback/common/validations/validateDni.js | 8 +++++--- .../loopback/common/validations/validateIban.js | 6 +++--- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/services/loopback/common/validations/specs/validateDni.spec.js b/services/loopback/common/validations/specs/validateDni.spec.js index 432e64006..e61ab23c8 100644 --- a/services/loopback/common/validations/specs/validateDni.spec.js +++ b/services/loopback/common/validations/specs/validateDni.spec.js @@ -1,39 +1,39 @@ const validateDni = require('../validateDni'); describe('DNI validation', () => { - it('should return false for invented DNI', () => { + it('should return true for any DNI when no country is passed', () => { let isValid = validateDni('Pepinillos'); - expect(isValid).toBeFalsy(); + expect(isValid).toBeTruthy(); }); describe('Spanish', () => { it('should return true for valid spanish DNI', () => { - let isValid = validateDni('20849756A'); + let isValid = validateDni('20849756A', 'es'); expect(isValid).toBeTruthy(); }); it('should return false for spanish DNI with exceeded digits', () => { - let isValid = validateDni('208497563239A'); + let isValid = validateDni('208497563239A', 'es'); expect(isValid).toBeFalsy(); }); it('should return false for spanish DNI with invalid letter', () => { - let isValid = validateDni('20243746E'); + let isValid = validateDni('20243746E', 'es'); expect(isValid).toBeFalsy(); }); it('should return true for valid spanish CIF', () => { - let isValid = validateDni('B97367486'); + let isValid = validateDni('B97367486', 'es'); expect(isValid).toBeTruthy(); }); it('should return false for spanish CIF with invalid letter', () => { - let isValid = validateDni('A97527786'); + let isValid = validateDni('A97527786', 'es'); expect(isValid).toBeFalsy(); }); diff --git a/services/loopback/common/validations/validateDni.js b/services/loopback/common/validations/validateDni.js index 33c8760dc..b169b6100 100644 --- a/services/loopback/common/validations/validateDni.js +++ b/services/loopback/common/validations/validateDni.js @@ -1,9 +1,11 @@ module.exports = function(fi, country) { - if (fi == null) return true; - if (typeof fi != 'string') return false; + if (fi == null || country == null) + return true; + if (typeof fi != 'string' || typeof country != 'string') + return false; fi = fi.toUpperCase(); - country = country ? country.toLowerCase() : 'es'; + country = country.toLowerCase(); let len = fi.length; diff --git a/services/loopback/common/validations/validateIban.js b/services/loopback/common/validations/validateIban.js index 76fffef5e..2e8883642 100644 --- a/services/loopback/common/validations/validateIban.js +++ b/services/loopback/common/validations/validateIban.js @@ -4,7 +4,7 @@ module.exports = function(iban) { iban = iban.toUpperCase(); iban = trim(iban); - iban = iban.replace(/\s/g, ""); + iban = iban.replace(/\s/g, ''); if (iban.length != 24) { return false; @@ -33,7 +33,7 @@ module.exports = function(iban) { function module97(iban) { var parts = Math.ceil(iban.length / 7); - var remainer = ""; + var remainer = ''; for (var i = 1; i <= parts; i++) { remainer = String(parseFloat(remainer + iban.substr((i - 1) * 7, 7)) % 97); @@ -48,6 +48,6 @@ module.exports = function(iban) { } function trim(text) { - return (text || "").replace(/^(\s|\u00A0)+|(\s|\u00A0)+$/g, "" ); + return (text || '').replace(/^(\s|\u00A0)+|(\s|\u00A0)+$/g, ''); } }; From d8b39ea5ac25d36e16cf82604b2634f5ac4c522e Mon Sep 17 00:00:00 2001 From: Juan Date: Tue, 13 Mar 2018 13:15:06 +0100 Subject: [PATCH 5/9] Missing $inject fixed --- client/client/src/descriptor/descriptor.js | 1 + client/core/src/components/popover/popover.js | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/client/client/src/descriptor/descriptor.js b/client/client/src/descriptor/descriptor.js index 729b85fb3..b8d68c493 100644 --- a/client/client/src/descriptor/descriptor.js +++ b/client/client/src/descriptor/descriptor.js @@ -25,6 +25,7 @@ class ClientDescriptor { } } } +ClientDescriptor.$inject = ['$http']; ngModule.component('vnClientDescriptor', { template: require('./descriptor.html'), diff --git a/client/core/src/components/popover/popover.js b/client/core/src/components/popover/popover.js index 253e00e95..4e2326c77 100644 --- a/client/core/src/components/popover/popover.js +++ b/client/core/src/components/popover/popover.js @@ -157,7 +157,6 @@ export default class Popover extends Component { if (event.keyCode == 27) { // Esc event.preventDefault(); this.hide(); - this.$.$applyAsync(); } } From 06e9c97b3e578289990987f3b66b28efb6aba7a1 Mon Sep 17 00:00:00 2001 From: Juan Date: Tue, 13 Mar 2018 13:21:53 +0100 Subject: [PATCH 6/9] vnDropDown positioning bug fixed --- client/core/src/components/drop-down/drop-down.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/core/src/components/drop-down/drop-down.js b/client/core/src/components/drop-down/drop-down.js index 066e26810..482297618 100755 --- a/client/core/src/components/drop-down/drop-down.js +++ b/client/core/src/components/drop-down/drop-down.js @@ -312,7 +312,7 @@ export default class DropDown extends Component { this.ul.appendChild(fragment); this.activateOption(this._activeOption); - this.$.popover.relocate(); + this.$.$applyAsync(() => this.$.popover.relocate()); } destroyList() { From 75c1dd886dce020804d5c1378bf6f96581675db2 Mon Sep 17 00:00:00 2001 From: Juan Date: Tue, 13 Mar 2018 13:41:54 +0100 Subject: [PATCH 7/9] vnAutocomplete fixes --- .../client/src/address-edit/address-edit.html | 4 +--- client/item/src/create/item-create.html | 7 ++----- client/item/src/data/item-data.html | 3 +-- client/item/src/niche/item-niche.html | 17 ++++++++--------- client/item/src/tags/item-tags.html | 1 - 5 files changed, 12 insertions(+), 20 deletions(-) diff --git a/client/client/src/address-edit/address-edit.html b/client/client/src/address-edit/address-edit.html index 55154a996..84f00a579 100644 --- a/client/client/src/address-edit/address-edit.html +++ b/client/client/src/address-edit/address-edit.html @@ -59,9 +59,7 @@ field="observation.observationTypeFk" data="observationsTypes.model" show-field="description" - label="Observation type" - order="description ASC" - filter-search="{where: {description: {regexp: 'search'}}}"> + label="Observation type"> {{$parent.$parent.item.description}} - {{$parent.$parent.item.description}} + show-field="description" + field="$ctrl.item.intrastatFk"> diff --git a/client/item/src/data/item-data.html b/client/item/src/data/item-data.html index ebf47872d..842944756 100644 --- a/client/item/src/data/item-data.html +++ b/client/item/src/data/item-data.html @@ -30,10 +30,9 @@ show-field="description" value-field="id" field="$ctrl.item.intrastatFk" - order="description ASC" filter-search= "{where: {or: [{id: {regexp: 'search'}}, {description: {regexp: 'search'}}]}}" initial-data="$ctrl.item.intrastat"> - {{$parent.$parent.item.id}} : {{$parent.$parent.item.description}} + {{id}} : {{description}} diff --git a/client/item/src/niche/item-niche.html b/client/item/src/niche/item-niche.html index eb33f1c4b..ae30034db 100644 --- a/client/item/src/niche/item-niche.html +++ b/client/item/src/niche/item-niche.html @@ -1,7 +1,7 @@ + form="form">
      @@ -9,13 +9,12 @@ diff --git a/client/item/src/tags/item-tags.html b/client/item/src/tags/item-tags.html index cfcfa736a..318a5dec7 100644 --- a/client/item/src/tags/item-tags.html +++ b/client/item/src/tags/item-tags.html @@ -14,7 +14,6 @@ data="tags.model" show-field="name" label="Tag" - order="name ASC" vn-acl="buyer"> Date: Tue, 13 Mar 2018 13:55:21 +0100 Subject: [PATCH 8/9] vnAutocomplete filter fixes --- client/client/src/basic-data/basic-data.html | 2 +- client/client/src/create/create.html | 2 +- client/item/src/data/item-data.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/client/client/src/basic-data/basic-data.html b/client/client/src/basic-data/basic-data.html index 0a576574a..77865c4f6 100644 --- a/client/client/src/basic-data/basic-data.html +++ b/client/client/src/basic-data/basic-data.html @@ -30,7 +30,7 @@ value-field="id" select-fields="name" label="Salesperson" - filter-search="{where: {or: [{name: {regexp: 'search'}}, {name: {regexp: 'search'}}]}}"> + where="{or: [{firstName: {regexp: 'search'}}, {name: {regexp: 'search'}}]}"> + where="{or: [{firstName: {regexp: 'search'}}, {name: {regexp: 'search'}}]}"> diff --git a/client/item/src/data/item-data.html b/client/item/src/data/item-data.html index 842944756..507fdc2b2 100644 --- a/client/item/src/data/item-data.html +++ b/client/item/src/data/item-data.html @@ -30,7 +30,7 @@ show-field="description" value-field="id" field="$ctrl.item.intrastatFk" - filter-search= "{where: {or: [{id: {regexp: 'search'}}, {description: {regexp: 'search'}}]}}" + where="{or: [{id: {regexp: 'search'}}, {description: {regexp: 'search'}}]}" initial-data="$ctrl.item.intrastat"> {{id}} : {{description}} From d9f932b2c143be79d13ef127790dbc42dbcc685b Mon Sep 17 00:00:00 2001 From: jgallego Date: Tue, 13 Mar 2018 14:07:42 +0100 Subject: [PATCH 9/9] =?UTF-8?q?a=C3=B1adir=20fuentes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/client/routes.json | 10 +++++----- client/client/src/index/item-client.html | 2 +- client/core/src/styles/fontello-icons.css | 22 +++++++++++++++++----- client/core/src/styles/fontello.woff2 | Bin 3136 -> 6804 bytes client/item/routes.json | 8 ++++---- client/item/src/list/item-product.html | 4 ++-- e2e/helpers/selectors.js | 4 ++-- services/loopback/common/models/client.js | 6 ------ 8 files changed, 31 insertions(+), 25 deletions(-) diff --git a/client/client/routes.json b/client/client/routes.json index 173224037..054f95ab9 100644 --- a/client/client/routes.json +++ b/client/client/routes.json @@ -30,7 +30,7 @@ }, "menu": { "description": "Basic data", - "icon": "person" + "icon": "settings" } }, { @@ -54,7 +54,7 @@ }, "menu": { "description": "Pay method", - "icon": "assignment" + "icon": "icon-payment" } }, { @@ -94,7 +94,7 @@ }, "menu": { "description": "Web access", - "icon": "language" + "icon": "cloud" } }, { @@ -186,7 +186,7 @@ "component": "vn-client-invoices", "menu": { "description": "Invoices", - "icon": "insert_drive_file" + "icon": "icon-invoices" } }, { @@ -204,7 +204,7 @@ }, "menu": { "description": "Recovery", - "icon": "credit_card" + "icon": "icon-recovery" } }, { "url": "/create", diff --git a/client/client/src/index/item-client.html b/client/client/src/index/item-client.html index 3daed725e..7ebb6b8f0 100644 --- a/client/client/src/index/item-client.html +++ b/client/client/src/index/item-client.html @@ -14,7 +14,7 @@ + icon="desktop_windows"> diff --git a/client/core/src/styles/fontello-icons.css b/client/core/src/styles/fontello-icons.css index 4a1201de1..03698f3cf 100644 --- a/client/core/src/styles/fontello-icons.css +++ b/client/core/src/styles/fontello-icons.css @@ -1,6 +1,18 @@ -.icon-tags:before { content: '\e800'; } -.icon-tree:before { content: '\e801'; } -.icon-clone2:before { content: '\e802'; } -.icon-preview:before { content: '\e803'; } -.icon-history:before { content: '\f1da'; } \ No newline at end of file +.icon-barcode:before { content: '\e800'; } /* '' */ +.icon-volume:before { content: '\e801'; } /* '' */ +.icon-bucket:before { content: '\e802'; } /* '' */ +.icon-disabled:before { content: '\e80b'; } /* '' */ +.icon-invoices:before { content: '\e80c'; } /* '' */ +.icon-noweb:before { content: '\e812'; } /* '' */ +.icon-payment:before { content: '\e813'; } /* '' */ +.icon-recovery:before { content: '\e815'; } /* '' */ +.icon-risk:before { content: '\e816'; } /* '' */ +.icon-lines:before { content: '\e819'; } /* '' */ +.icon-volum:before { content: '\e81b'; } /* '' */ +.icon-components:before { content: '\e81c'; } /* '' */ +.icon-clone:before { content: '\e81d'; } /* '' */ +.icon-addperson:before { content: '\e81e'; } /* '' */ +.icon-bin:before { content: '\e81f'; } /* '' */ +.icon-sms:before { content: '\e820'; } /* '' */ +.icon-tags:before { content: '\e821'; } /* '' */ \ No newline at end of file diff --git a/client/core/src/styles/fontello.woff2 b/client/core/src/styles/fontello.woff2 index 22d0e459c22ded6e8bce159450ad05cecb855e06..eea564017cfaef602a607c3aa17e33af266c794a 100644 GIT binary patch literal 6804 zcmV;F8f)cuPew8T0RR9102-744*&oF05RAA02(_00RR9100000000000000000000 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 + icon="icon-clone"> + icon="desktop_windows"> diff --git a/e2e/helpers/selectors.js b/e2e/helpers/selectors.js index 1a839a0cb..7ff92e006 100644 --- a/e2e/helpers/selectors.js +++ b/e2e/helpers/selectors.js @@ -150,8 +150,8 @@ export default { itemsIndex: { createItemButton: `${components.vnFloatButton}`, searchResult: `vn-item-product a`, - searchResultPreviewButton: `vn-item-product .buttons > [icon="icon-preview"]`, - searchResultCloneButton: `vn-item-product .buttons > [icon="icon-clone2"]`, + searchResultPreviewButton: `vn-item-product .buttons > [icon="desktop_windows"]`, + searchResultCloneButton: `vn-item-product .buttons > [icon="icon-clone"]`, acceptClonationAlertButton: `vn-item-list [vn-id="clone"] [response="ACCEPT"]`, searchItemInput: `${components.vnTextfield}`, searchButton: `${components.vnSearchBar} > vn-icon-button > button`, diff --git a/services/loopback/common/models/client.js b/services/loopback/common/models/client.js index f55d23021..fd12caa37 100644 --- a/services/loopback/common/models/client.js +++ b/services/loopback/common/models/client.js @@ -25,12 +25,6 @@ module.exports = function(Self) { Self.validatesUniquenessOf('socialName', { message: 'La razón social debe ser única' }); - Self.validatesFormatOf('postcode', { - message: 'El código postal solo debe contener números', - allowNull: true, - allowBlank: true, - with: /^\d+$/ - }); Self.validatesFormatOf('email', { message: 'Correo electrónico inválido', allowNull: true,