Merge branch 'dev' of https://git.verdnatura.es/salix into dev
This commit is contained in:
commit
4a9856dd5a
|
@ -9,20 +9,17 @@
|
|||
<vn-column-header vn-one pad-medium-h field="amount" text="Amount"></vn-column-header>
|
||||
<vn-column-header vn-one pad-medium-h field="greugeTypeFk" text="Type"></vn-column-header>
|
||||
</vn-grid-header>
|
||||
|
||||
<vn-one class="list list-content">
|
||||
<vn-horizontal
|
||||
class="list list-element text-center"
|
||||
pad-small-bottom
|
||||
ng-repeat="greuge in index.model.instances track by greuge.id"
|
||||
>
|
||||
<vn-one pad-medium-h>{{::greuge.shipped | date:'dd/MM/yyyy HH:mm' }}</vn-one>
|
||||
<vn-two pad-medium-h>{{::greuge.description}}</vn-two>
|
||||
<vn-one pad-medium-h>{{::greuge.amount | number:2}} €</vn-one>
|
||||
<vn-one pad-medium-h>{{::greuge.greugeType.name}}</vn-one>
|
||||
ng-repeat="greuge in index.model.instances track by greuge.id">
|
||||
<vn-one pad-medium-h>{{::greuge.shipped | date:'dd/MM/yyyy HH:mm' }}</vn-one>
|
||||
<vn-two pad-medium-h>{{::greuge.description}}</vn-two>
|
||||
<vn-one pad-medium-h>{{::greuge.amount | number:2}} €</vn-one>
|
||||
<vn-one pad-medium-h>{{::greuge.greugeType.name}}</vn-one>
|
||||
</vn-horizontal>
|
||||
</vn-one>
|
||||
|
||||
<vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one>
|
||||
<vn-horizontal vn-one class="list list-footer text-center">
|
||||
<vn-one pad-medium-h></vn-one>
|
||||
|
@ -36,3 +33,4 @@
|
|||
<a ui-sref="clientCard.greuge.create" fixed-bottom-right>
|
||||
<vn-float-button icon="add"></vn-float-button>
|
||||
</a>
|
||||
|
|
@ -31,12 +31,10 @@
|
|||
order="description ASC"
|
||||
filter-search="{where: {description: {regexp: 'search'}} }"
|
||||
>
|
||||
<tpl-item>{{$parent.$parent.item.description}}</tpl-item>
|
||||
<tpl-item>{{$parent.$parent.item.description}}</tpl-item>
|
||||
</vn-autocomplete>
|
||||
<vn-textfield vn-one label="Relevancy" field="$ctrl.item.relevancy" type="number"></vn-textfield>
|
||||
|
||||
</vn-horizontal>
|
||||
|
||||
<vn-horizontal>
|
||||
<vn-autocomplete vn-one
|
||||
url="/item/api/Origins"
|
||||
|
@ -45,9 +43,13 @@
|
|||
value-field="id"
|
||||
field="$ctrl.item.originFk"
|
||||
></vn-autocomplete>
|
||||
<vn-one></vn-one>
|
||||
<vn-autocomplete vn-one
|
||||
url="/item/api/Expences"
|
||||
label="Expence"
|
||||
field="$ctrl.item.expenceFk"
|
||||
initial-data="$ctrl.item.expence"
|
||||
></vn-autocomplete>
|
||||
</vn-horizontal>
|
||||
|
||||
</vn-vertical>
|
||||
</vn-card>
|
||||
<vn-button-bar>
|
||||
|
|
|
@ -27,12 +27,6 @@ describe('Item', () => {
|
|||
controller = $componentController('vnItemCreate', {$scope: $scope});
|
||||
}));
|
||||
|
||||
it('should define and set scope, state and item properties', () => {
|
||||
expect(controller.$).toEqual($scope);
|
||||
expect(controller.$state).toEqual($state);
|
||||
expect(controller.item).toEqual({relevancy: 0});
|
||||
});
|
||||
|
||||
describe('onSubmit()', () => {
|
||||
it(`should call submit() on the watcher then expect a callback`, () => {
|
||||
spyOn($state, 'go');
|
||||
|
|
|
@ -1,5 +1,33 @@
|
|||
<vn-card>
|
||||
<vn-vertical pad-large>
|
||||
<vn-title>Item history</vn-title>
|
||||
<mg-ajax path="/item/api/items/1/getLog"></mg-ajax>
|
||||
<!-- <mg-ajax path="/item/api/history/{{edit.params.id}}/sumAmount" options="mgEdit"></mg-ajax> -->
|
||||
<vn-card pad-medium>
|
||||
<vn-vertical pad-medium>
|
||||
<vn-title vn-one margin-large-bottom>Item history</vn-title>
|
||||
<vn-grid-header on-order="$ctrl.onOrder(field, order)">
|
||||
<vn-column-header vn-one pad-medium-h field="originFk" text="Origin"></vn-column-header>
|
||||
<vn-column-header vn-two pad-medium-h field="userFk" text="Changed by"></vn-column-header>
|
||||
<vn-column-header vn-one pad-medium-h field="action" text="Action"></vn-column-header>
|
||||
<vn-column-header vn-one pad-medium-h field="creationDate" text="Date"></vn-column-header>
|
||||
<vn-column-header vn-one pad-medium-h field="description" text="Description"></vn-column-header>
|
||||
</vn-grid-header>
|
||||
<vn-one class="list list-content">
|
||||
<vn-horizontal
|
||||
class="list list-element text-center"
|
||||
pad-small-bottom
|
||||
ng-repeat="itemLog in index.model.instances track by itemLog.id">
|
||||
<vn-one pad-medium-h>{{::itemLog.originFk}}</vn-one>
|
||||
<vn-two pad-medium-h>{{::itemLog.userFk}}</vn-two>
|
||||
<vn-one pad-medium-h>{{::itemLog.action}}</vn-one>
|
||||
<vn-one pad-medium-h>{{::itemLog.creationDate | date:'dd/MM/yyyy HH:mm'}}</vn-one>
|
||||
<vn-one pad-medium-h>{{::itemLog.description}}</vn-one>
|
||||
</vn-horizontal>
|
||||
</vn-one>
|
||||
<vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one>
|
||||
<vn-horizontal vn-one class="list list-footer text-center">
|
||||
<vn-one pad-medium-h></vn-one>
|
||||
<vn-two pad-medium-h></vn-two>
|
||||
<vn-one pad-medium-h></vn-one>
|
||||
</vn-horizontal>
|
||||
<vn-paging margin-large-top vn-one index="index" total="index.model.count"></vn-paging>
|
||||
</vn-vertical>
|
||||
</vn-card>
|
||||
</vn-card>
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Artículo: Items
|
|
@ -15,4 +15,7 @@ Niche: Nicho
|
|||
Picture: Foto
|
||||
Item pictures: Fotos del artículo
|
||||
Barcode: Código barras
|
||||
Item barcode: Código de barras del artículo
|
||||
Item barcode: Código de barras del artículo
|
||||
Changed by: Cambiado por
|
||||
Action: Acción
|
||||
Date: Fecha
|
|
@ -26,7 +26,7 @@ describe('Production', () => {
|
|||
it('should request to update the ticket state', () => {
|
||||
let ids = [1, 2, 3, 4];
|
||||
let stateId = 1;
|
||||
let stateName = 'the state!';
|
||||
let stateName = 'state';
|
||||
let index = [];
|
||||
controller.tickets = ['ticketVal'];
|
||||
$httpBackend.whenPUT('/production/api/TicketStates/1/changeState', {tickets: ids}).respond({data: 'ticketVal'});
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
CREATE TABLE vn.itemLog
|
||||
SELECT * FROM vn.entryLog LIMIT 0;
|
||||
|
||||
ALTER TABLE `vn`.`itemLog`
|
||||
ADD INDEX `itemLogItemFk_idx` (`originFk` ASC),
|
||||
ADD INDEX `itemLogUserFk_idx` (`userFk` ASC);
|
||||
ALTER TABLE `vn`.`itemLog`
|
||||
ADD CONSTRAINT `itemLogItemFk`
|
||||
FOREIGN KEY (`originFk`)
|
||||
REFERENCES `vn2008`.`Articles` (`Id_Article`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE CASCADE,
|
||||
ADD CONSTRAINT `itemLogUserFk`
|
||||
FOREIGN KEY (`userFk`)
|
||||
REFERENCES `account`.`user` (`id`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE CASCADE;
|
|
@ -619,3 +619,7 @@ INSERT INTO `vn`.`itemTag`(`id`,`itemFk`,`tagFk`,`value`,`priority`)
|
|||
(3, 1, 3, 'round', 3),
|
||||
(4, 1, 4, 'Gamoras hideout', 2),
|
||||
(5, 1, 5, 'Gamora', 1);
|
||||
|
||||
INSERT INTO `vn`.`itemLog` (`id`, `originFk`, `userFk`, `action`, `description`)
|
||||
VALUES
|
||||
('1', '1', '1', 'insert', 'We made an change!');
|
|
@ -0,0 +1,27 @@
|
|||
module.exports = Self => {
|
||||
Self.remoteMethod('itemLog', {
|
||||
description: 'Returns the item changes log',
|
||||
accessType: 'READ',
|
||||
accepts: [{
|
||||
arg: 'id',
|
||||
type: 'number',
|
||||
required: true,
|
||||
description: 'The item id',
|
||||
http: {source: 'path'}
|
||||
}],
|
||||
returns: {
|
||||
arg: 'data',
|
||||
type: ['Object'],
|
||||
root: true
|
||||
},
|
||||
http: {
|
||||
path: `/:id/itemLog`,
|
||||
verb: 'get'
|
||||
}
|
||||
});
|
||||
|
||||
Self.itemLog = itemFk => {
|
||||
let query = `SELECT * FROM vn.itemLog WHERE itemFk = ?`;
|
||||
return Self.rawSql(query, [itemFk]);
|
||||
};
|
||||
};
|
|
@ -1,5 +1,6 @@
|
|||
module.exports = function(Self) {
|
||||
require('../methods/item/filter.js')(Self);
|
||||
require('../methods/item/getLog.js')(Self);
|
||||
|
||||
Self.validatesPresenceOf('name', {message: 'Cannot be blank'});
|
||||
Self.validatesPresenceOf('originFk', {message: 'Cannot be blank'});
|
||||
|
|
Loading…
Reference in New Issue