Merge branch 'dev' into 6173-dump-BBDD
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
This commit is contained in:
commit
6a4d8fbfbf
|
@ -6,6 +6,15 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
|
||||||
|
## [2338.01] - 2023-09-21
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- (Trabajadores -> Calendario) Icono de check arreglado cuando pulsas un tipo de dia
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
## [2336.01] - 2023-09-07
|
## [2336.01] - 2023-09-07
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
|
||||||
|
ALTER TABLE `vn`.`deviceLog` ADD serialNumber varchar(45) DEFAULT NULL NULL;
|
||||||
|
|
||||||
|
INSERT INTO `salix`.`ACL` ( model, property, accessType, permission, principalType, principalId)
|
||||||
|
VALUES( 'DeviceLog', 'create', 'WRITE', 'ALLOW', 'ROLE', 'employee');
|
||||||
|
|
|
@ -27,7 +27,7 @@ export default class Controller extends Component {
|
||||||
setTimeout(() => element.classList.add('shown'), 30);
|
setTimeout(() => element.classList.add('shown'), 30);
|
||||||
shape.element = element;
|
shape.element = element;
|
||||||
|
|
||||||
if (data.additionalData) {
|
if (data.additionalData && this.vnToken.token) {
|
||||||
this.additionalData = data.additionalData;
|
this.additionalData = data.additionalData;
|
||||||
let supportButton = document.createElement('i');
|
let supportButton = document.createElement('i');
|
||||||
supportButton.setAttribute('class', 'material-icons clickable');
|
supportButton.setAttribute('class', 'material-icons clickable');
|
||||||
|
|
|
@ -7,12 +7,15 @@ export default class Controller extends Dialog {
|
||||||
}
|
}
|
||||||
|
|
||||||
responseHandler(response) {
|
responseHandler(response) {
|
||||||
|
if (response !== 'accept')
|
||||||
|
return super.responseHandler(response);
|
||||||
|
|
||||||
this.$http.post('Ostickets/send-to-support', {
|
this.$http.post('Ostickets/send-to-support', {
|
||||||
reason: this.reason,
|
reason: this.reason,
|
||||||
additionalData: this.additionalData
|
additionalData: this.additionalData
|
||||||
})
|
})
|
||||||
.then(() => super.responseHandler(response))
|
.then(() => super.responseHandler(response))
|
||||||
.then(() => this.vnApp.showSuccess(this.$t('Email sended!')));
|
.then(() => this.vnApp.showSuccess(this.$t('Email sended!')));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -186,5 +186,6 @@
|
||||||
"This ticket is locked.": "This ticket is locked.",
|
"This ticket is locked.": "This ticket is locked.",
|
||||||
"This ticket is not editable.": "This ticket is not editable.",
|
"This ticket is not editable.": "This ticket is not editable.",
|
||||||
"The ticket doesn't exist.": "The ticket doesn't exist.",
|
"The ticket doesn't exist.": "The ticket doesn't exist.",
|
||||||
"The sales do not exists": "The sales do not exists"
|
"The sales do not exists": "The sales do not exists",
|
||||||
}
|
"Ticket without Route": "Ticket without route"
|
||||||
|
}
|
||||||
|
|
|
@ -315,5 +315,6 @@
|
||||||
"This ticket is not editable.": "Este ticket no es editable.",
|
"This ticket is not editable.": "Este ticket no es editable.",
|
||||||
"The ticket doesn't exist.": "No existe el ticket.",
|
"The ticket doesn't exist.": "No existe el ticket.",
|
||||||
"Social name should be uppercase": "La razón social debe ir en mayúscula",
|
"Social name should be uppercase": "La razón social debe ir en mayúscula",
|
||||||
"Street should be uppercase": "La dirección fiscal debe ir en mayúscula"
|
"Street should be uppercase": "La dirección fiscal debe ir en mayúscula",
|
||||||
|
"Ticket without Route": "Ticket sin ruta"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
const UserError = require('vn-loopback/util/user-error');
|
||||||
|
|
||||||
module.exports = Self => {
|
module.exports = Self => {
|
||||||
Self.remoteMethodCtx('priceDifference', {
|
Self.remoteMethodCtx('priceDifference', {
|
||||||
description: 'Returns sales with price difference if the ticket is editable',
|
description: 'Returns sales with price difference if the ticket is editable',
|
||||||
|
|
|
@ -93,6 +93,8 @@ module.exports = Self => {
|
||||||
}, myOptions);
|
}, myOptions);
|
||||||
const dmsType = await models.DmsType.findOne({where: {code: 'Ticket'}, fields: ['id']}, myOptions);
|
const dmsType = await models.DmsType.findOne({where: {code: 'Ticket'}, fields: ['id']}, myOptions);
|
||||||
const ctxUploadFile = Object.assign({}, ctx);
|
const ctxUploadFile = Object.assign({}, ctx);
|
||||||
|
if (ticket.route() === null)
|
||||||
|
throw new UserError('Ticket without route');
|
||||||
ctxUploadFile.args = {
|
ctxUploadFile.args = {
|
||||||
warehouseId: ticket.warehouseFk,
|
warehouseId: ticket.warehouseFk,
|
||||||
companyId: ticket.companyFk,
|
companyId: ticket.companyFk,
|
||||||
|
|
|
@ -23,6 +23,9 @@
|
||||||
"Device": {
|
"Device": {
|
||||||
"dataSource": "vn"
|
"dataSource": "vn"
|
||||||
},
|
},
|
||||||
|
"DeviceLog": {
|
||||||
|
"dataSource": "vn"
|
||||||
|
},
|
||||||
"DeviceProduction": {
|
"DeviceProduction": {
|
||||||
"dataSource": "vn"
|
"dataSource": "vn"
|
||||||
},
|
},
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
{
|
||||||
|
"name": "DeviceLog",
|
||||||
|
"base": "VnModel",
|
||||||
|
"options": {
|
||||||
|
"mysql": {
|
||||||
|
"table": "deviceLog"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"id": true,
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"android_id": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"userFk": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"created": {
|
||||||
|
"type": "date"
|
||||||
|
},
|
||||||
|
"nameApp": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"versionApp": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"deviceProductionFk": {
|
||||||
|
"type": "number"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"relations": {
|
||||||
|
"user": {
|
||||||
|
"type": "belongsTo",
|
||||||
|
"model": "VnUser",
|
||||||
|
"foreignKey": "userFk"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -84,7 +84,8 @@
|
||||||
<div name="absenceTypes" class="input vn-py-md" style="overflow: hidden;">
|
<div name="absenceTypes" class="input vn-py-md" style="overflow: hidden;">
|
||||||
<vn-chip ng-repeat="absenceType in absenceTypes" ng-class="::{'selectable': $ctrl.isSubordinate}" ng-click="$ctrl.pick(absenceType)">
|
<vn-chip ng-repeat="absenceType in absenceTypes" ng-class="::{'selectable': $ctrl.isSubordinate}" ng-click="$ctrl.pick(absenceType)">
|
||||||
<vn-avatar ng-style="{backgroundColor: absenceType.rgb}">
|
<vn-avatar ng-style="{backgroundColor: absenceType.rgb}">
|
||||||
<vn-icon icon="check" ng-if="absenceType.id == $ctrl.absenceType.id"></vn-icon>
|
<vn-icon class="check" icon="check" ng-if="absenceType.id == $ctrl.absenceType.id"></vn-icon>
|
||||||
|
|
||||||
</vn-avatar>
|
</vn-avatar>
|
||||||
{{absenceType.name}}
|
{{absenceType.name}}
|
||||||
</vn-chip>
|
</vn-chip>
|
||||||
|
|
|
@ -9,7 +9,7 @@ vn-worker-calendar {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: $spacing-md;
|
padding: $spacing-md;
|
||||||
|
|
||||||
& > vn-calendar {
|
& > vn-calendar {
|
||||||
border: $border-thin;
|
border: $border-thin;
|
||||||
margin: $spacing-md;
|
margin: $spacing-md;
|
||||||
|
@ -32,7 +32,7 @@ vn-worker-calendar {
|
||||||
}
|
}
|
||||||
|
|
||||||
vn-icon[icon="info"] {
|
vn-icon[icon="info"] {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 16px;
|
top: 16px;
|
||||||
right: 16px
|
right: 16px
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ vn-worker-calendar {
|
||||||
vn-side-menu div > .input {
|
vn-side-menu div > .input {
|
||||||
border-bottom: $border-thin;
|
border-bottom: $border-thin;
|
||||||
}
|
}
|
||||||
|
|
||||||
.festive,
|
.festive,
|
||||||
vn-avatar.today {
|
vn-avatar.today {
|
||||||
color: $color-font;
|
color: $color-font;
|
||||||
|
@ -56,4 +56,10 @@ vn-worker-calendar {
|
||||||
vn-avatar.today {
|
vn-avatar.today {
|
||||||
border: 2px solid $color-font-link
|
border: 2px solid $color-font-link
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.check {
|
||||||
|
margin-top: 0.5px;
|
||||||
|
margin-left: -3px;
|
||||||
|
font-size: 125%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "salix-back",
|
"name": "salix-back",
|
||||||
"version": "23.36.01",
|
"version": "23.38.01",
|
||||||
"author": "Verdnatura Levante SL",
|
"author": "Verdnatura Levante SL",
|
||||||
"description": "Salix backend",
|
"description": "Salix backend",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
|
|
Loading…
Reference in New Issue