-
Notifications
You must be signed in to change notification settings - Fork 35
Expand file tree
/
Copy pathcustomerOrder-detail.js
More file actions
87 lines (75 loc) · 3.77 KB
/
customerOrder-detail.js
File metadata and controls
87 lines (75 loc) · 3.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
angular.module('virtoCommerce.orderModule')
.controller('virtoCommerce.orderModule.customerOrderDetailController', ['$scope', '$window', 'platformWebApp.bladeNavigationService',
'platformWebApp.dialogService', 'virtoCommerce.customerModule.members', 'virtoCommerce.customerModule.memberTypesResolverService',
'platformWebApp.authService', 'virtoCommerce.orderModule.knownOperations',
function ($scope, $window, bladeNavigationService, dialogService, members, memberTypesResolverService, authService, knownOperations) {
var blade = $scope.blade;
blade.currentEntityId = blade.customerOrder.id;
blade.isVisiblePrices = authService.checkPermission('order:read_prices');
angular.extend(blade, {
title: 'orders.blades.customerOrder-detail.title',
titleValues: { customer: blade.customerOrder.customerName },
subtitle: 'orders.blades.customerOrder-detail.subtitle'
});
blade.toolbarCommands.push({
name: 'orders.blades.customerOrder-detail.labels.invoice',
icon: 'fa fa-download',
index: 5,
executeMethod: function (blade) {
$window.open('api/order/customerOrders/invoice/' + blade.currentEntity.number, '_blank');
},
canExecuteMethod: function () {
return true;
}
});
function showCustomerDetailBlade(member) {
var foundTemplate = memberTypesResolverService.resolve(member.memberType);
if (foundTemplate) {
var newBlade = angular.copy(foundTemplate.detailBlade);
newBlade.currentEntity = member;
newBlade.navigationGroup = member.id;
bladeNavigationService.showBlade(newBlade, blade);
} else {
dialogService.showNotificationDialog({
id: "error",
title: "customer.dialogs.unknown-member-type.title",
message: "customer.dialogs.unknown-member-type.message",
messageValues: { memberType: member.memberType }
});
}
}
blade.openCustomerDetails = function () {
if (blade.customerOrder.customerId) {
members.getByUserId({ userId: blade.customerOrder.customerId }, function (member) {
if (member && member.id) {
showCustomerDetailBlade(member);
}
});
}
};
blade.openOrganizationDetails = function () {
if (blade.customerOrder.organizationId) {
members.get({ id: blade.customerOrder.organizationId }, function (member) {
if (member && member.id) {
showCustomerDetailBlade(member);
}
});
}
};
blade.fetchEmployees = function (criteria) {
criteria.memberType = 'Employee';
criteria.deepSearch = true;
criteria.sort = 'name';
return members.search(criteria);
};
$scope.$on("blade.currentEntity.documentLoaded", function () {
blade.customInitialize();
}, true);
blade.customInitialize = function () {
if (!blade.currentEntity) {
return;
}
blade.isLocked = knownOperations.isLocked("CustomerOrder", blade.currentEntity);
};
blade.customInitialize();
}]);