Show More
@@ -2772,7 +2772,9 b' function kickstartAE(initialUserData) {' | |||
|
2772 | 2772 | |
|
2773 | 2773 | app.run(['$rootScope', '$timeout', 'stateHolder', '$state', '$location', '$transitions', '$window', 'AeConfig', |
|
2774 | 2774 | function ($rootScope, $timeout, stateHolder, $state, $location, $transitions, $window, AeConfig) { |
|
2775 | stateHolder.AeUser = buildUser(initialUserData || {"user_name": null, "id": null}); | |
|
2775 | if (initialUserData){ | |
|
2776 | stateHolder.AeUser.update(initialUserData); | |
|
2777 | } | |
|
2776 | 2778 | $rootScope.$state = $state; |
|
2777 | 2779 | $rootScope.stateHolder = stateHolder; |
|
2778 | 2780 | $rootScope.flash = stateHolder.flashMessages.list; |
@@ -12705,6 +12707,73 b" angular.module('appenlight.services.resources').factory('resourcesPropertyResour" | |||
|
12705 | 12707 | // # https://rhodecode.com/licenses/ |
|
12706 | 12708 | |
|
12707 | 12709 | angular.module('appenlight.services.stateHolder', []).factory('stateHolder', ['$timeout', 'AeConfig', function ($timeout, AeConfig) { |
|
12710 | ||
|
12711 | var AeUser = {"user_name": null, "id": null}; | |
|
12712 | AeUser.update = function (jsonData) { | |
|
12713 | jsonData = jsonData || {}; | |
|
12714 | this.applications_map = {}; | |
|
12715 | this.dashboards_map = {}; | |
|
12716 | this.user_name = jsonData.user_name || null; | |
|
12717 | this.id = jsonData.id; | |
|
12718 | this.assigned_reports = jsonData.assigned_reports || null; | |
|
12719 | this.latest_events = jsonData.latest_events || null; | |
|
12720 | this.permissions = jsonData.permissions || null; | |
|
12721 | this.groups = jsonData.groups || null; | |
|
12722 | this.applications = []; | |
|
12723 | this.dashboards = []; | |
|
12724 | _.each(jsonData.applications, function (item) { | |
|
12725 | this.addApplication(item); | |
|
12726 | }.bind(this)); | |
|
12727 | _.each(jsonData.dashboards, function (item) { | |
|
12728 | this.addDashboard(item); | |
|
12729 | }.bind(this)); | |
|
12730 | }; | |
|
12731 | AeUser.addApplication = function (item) { | |
|
12732 | this.applications.push(item); | |
|
12733 | this.applications_map[item.resource_id] = item; | |
|
12734 | }; | |
|
12735 | AeUser.addDashboard = function (item) { | |
|
12736 | this.dashboards.push(item); | |
|
12737 | this.dashboards_map[item.resource_id] = item; | |
|
12738 | }; | |
|
12739 | ||
|
12740 | AeUser.removeApplicationById = function (applicationId) { | |
|
12741 | this.applications = _.filter(this.applications, function (item) { | |
|
12742 | return item.resource_id != applicationId; | |
|
12743 | }); | |
|
12744 | delete this.applications_map[applicationId]; | |
|
12745 | }; | |
|
12746 | AeUser.removeDashboardById = function (dashboardId) { | |
|
12747 | this.dashboards = _.filter(this.dashboards, function (item) { | |
|
12748 | return item.resource_id != dashboardId; | |
|
12749 | }); | |
|
12750 | delete this.dashboards_map[dashboardId]; | |
|
12751 | }; | |
|
12752 | ||
|
12753 | AeUser.hasAppPermission = function (perm_name) { | |
|
12754 | if (this.permissions.indexOf('root_administration') !== -1) { | |
|
12755 | return true | |
|
12756 | } | |
|
12757 | return this.permissions.indexOf(perm_name) !== -1; | |
|
12758 | }; | |
|
12759 | ||
|
12760 | AeUser.hasContextPermission = function (permName, ACLList) { | |
|
12761 | var hasPerm = false; | |
|
12762 | _.each(ACLList, function (ACL) { | |
|
12763 | // is this the right perm? | |
|
12764 | if (ACL.perm_name == permName || | |
|
12765 | ACL.perm_name == '__all_permissions__') { | |
|
12766 | // perm for this user or a group user belongs to | |
|
12767 | if (ACL.user_name === this.user_name || | |
|
12768 | this.groups.indexOf(ACL.group_name) !== -1) { | |
|
12769 | hasPerm = true | |
|
12770 | } | |
|
12771 | } | |
|
12772 | }.bind(this)); | |
|
12773 | ||
|
12774 | return hasPerm; | |
|
12775 | }; | |
|
12776 | ||
|
12708 | 12777 | /** |
|
12709 | 12778 | * Holds some common stuff like flash messages, but important part is |
|
12710 | 12779 | * plugins property that is a registry that holds all information about |
@@ -12766,14 +12835,14 b" angular.module('appenlight.services.stateHolder', []).factory('stateHolder', ['$" | |||
|
12766 | 12835 | } |
|
12767 | 12836 | self.inclusions[name].push(inclusion); |
|
12768 | 12837 | } |
|
12769 | } | |
|
12838 | }; | |
|
12770 | 12839 | |
|
12771 | 12840 | var stateHolder = { |
|
12772 | 12841 | section: 'settings', |
|
12773 | 12842 | resource: null, |
|
12774 | 12843 | plugins: Plugins, |
|
12775 | 12844 | flashMessages: flashMessages, |
|
12776 | AeUser: {"user_name": null, "id": null} | |
|
12845 | AeUser: AeUser | |
|
12777 | 12846 | }; |
|
12778 | 12847 | return stateHolder; |
|
12779 | 12848 | }]); |
@@ -12892,90 +12961,3 b" var underscore = angular.module('underscore', []);" | |||
|
12892 | 12961 | underscore.factory('_', function () { |
|
12893 | 12962 | return window._; // assumes underscore has already been loaded on the page |
|
12894 | 12963 | }); |
|
12895 | ||
|
12896 | ;// # Copyright (C) 2010-2016 RhodeCode GmbH | |
|
12897 | // # | |
|
12898 | // # This program is free software: you can redistribute it and/or modify | |
|
12899 | // # it under the terms of the GNU Affero General Public License, version 3 | |
|
12900 | // # (only), as published by the Free Software Foundation. | |
|
12901 | // # | |
|
12902 | // # This program is distributed in the hope that it will be useful, | |
|
12903 | // # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
|
12904 | // # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
|
12905 | // # GNU General Public License for more details. | |
|
12906 | // # | |
|
12907 | // # You should have received a copy of the GNU Affero General Public License | |
|
12908 | // # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
|
12909 | // # | |
|
12910 | // # This program is dual-licensed. If you wish to learn more about the | |
|
12911 | // # AppEnlight Enterprise Edition, including its added features, Support | |
|
12912 | // # services, and proprietary license terms, please see | |
|
12913 | // # https://rhodecode.com/licenses/ | |
|
12914 | ||
|
12915 | function buildUser(jsonData){ | |
|
12916 | var AeUser = { | |
|
12917 | user_name: jsonData.user_name || null, | |
|
12918 | id: jsonData.id, | |
|
12919 | assigned_reports: jsonData.assigned_reports || null, | |
|
12920 | latest_events: jsonData.latest_events || null, | |
|
12921 | permissions: jsonData.permissions || null, | |
|
12922 | groups: jsonData.groups || null, | |
|
12923 | applications: [], | |
|
12924 | dashboards: [] | |
|
12925 | }; | |
|
12926 | AeUser.applications_map = {}; | |
|
12927 | AeUser.dashboards_map = {}; | |
|
12928 | AeUser.addApplication = function (item) { | |
|
12929 | AeUser.applications.push(item); | |
|
12930 | AeUser.applications_map[item.resource_id] = item; | |
|
12931 | }; | |
|
12932 | AeUser.addDashboard = function (item) { | |
|
12933 | AeUser.dashboards.push(item); | |
|
12934 | AeUser.dashboards_map[item.resource_id] = item; | |
|
12935 | }; | |
|
12936 | ||
|
12937 | AeUser.removeApplicationById = function (applicationId) { | |
|
12938 | AeUser.applications = _.filter(AeUser.applications, function (item) { | |
|
12939 | return item.resource_id != applicationId; | |
|
12940 | }); | |
|
12941 | delete AeUser.applications_map[applicationId]; | |
|
12942 | }; | |
|
12943 | AeUser.removeDashboardById = function (dashboardId) { | |
|
12944 | AeUser.dashboards = _.filter(AeUser.dashboards, function (item) { | |
|
12945 | return item.resource_id != dashboardId; | |
|
12946 | }); | |
|
12947 | delete AeUser.dashboards_map[dashboardId]; | |
|
12948 | }; | |
|
12949 | ||
|
12950 | AeUser.hasAppPermission = function (perm_name) { | |
|
12951 | if (AeUser.permissions.indexOf('root_administration') !== -1) { | |
|
12952 | return true | |
|
12953 | } | |
|
12954 | return AeUser.permissions.indexOf(perm_name) !== -1; | |
|
12955 | }; | |
|
12956 | ||
|
12957 | AeUser.hasContextPermission = function (permName, ACLList) { | |
|
12958 | var hasPerm = false; | |
|
12959 | _.each(ACLList, function (ACL) { | |
|
12960 | // is this the right perm? | |
|
12961 | if (ACL.perm_name == permName || | |
|
12962 | ACL.perm_name == '__all_permissions__') { | |
|
12963 | // perm for this user or a group user belongs to | |
|
12964 | if (ACL.user_name === AeUser.user_name || | |
|
12965 | AeUser.groups.indexOf(ACL.group_name) !== -1) { | |
|
12966 | hasPerm = true | |
|
12967 | } | |
|
12968 | } | |
|
12969 | }); | |
|
12970 | ||
|
12971 | return hasPerm; | |
|
12972 | }; | |
|
12973 | ||
|
12974 | _.each(jsonData.applications, function (item) { | |
|
12975 | AeUser.addApplication(item); | |
|
12976 | }); | |
|
12977 | _.each(jsonData.dashboards, function (item) { | |
|
12978 | AeUser.addDashboard(item); | |
|
12979 | }); | |
|
12980 | return AeUser; | |
|
12981 | } |
@@ -137,7 +137,9 b' function kickstartAE(initialUserData) {' | |||
|
137 | 137 | |
|
138 | 138 | app.run(['$rootScope', '$timeout', 'stateHolder', '$state', '$location', '$transitions', '$window', 'AeConfig', |
|
139 | 139 | function ($rootScope, $timeout, stateHolder, $state, $location, $transitions, $window, AeConfig) { |
|
140 | stateHolder.AeUser = buildUser(initialUserData || {"user_name": null, "id": null}); | |
|
140 | if (initialUserData){ | |
|
141 | stateHolder.AeUser.update(initialUserData); | |
|
142 | } | |
|
141 | 143 | $rootScope.$state = $state; |
|
142 | 144 | $rootScope.stateHolder = stateHolder; |
|
143 | 145 | $rootScope.flash = stateHolder.flashMessages.list; |
@@ -18,6 +18,73 b'' | |||
|
18 | 18 | // # https://rhodecode.com/licenses/ |
|
19 | 19 | |
|
20 | 20 | angular.module('appenlight.services.stateHolder', []).factory('stateHolder', ['$timeout', 'AeConfig', function ($timeout, AeConfig) { |
|
21 | ||
|
22 | var AeUser = {"user_name": null, "id": null}; | |
|
23 | AeUser.update = function (jsonData) { | |
|
24 | jsonData = jsonData || {}; | |
|
25 | this.applications_map = {}; | |
|
26 | this.dashboards_map = {}; | |
|
27 | this.user_name = jsonData.user_name || null; | |
|
28 | this.id = jsonData.id; | |
|
29 | this.assigned_reports = jsonData.assigned_reports || null; | |
|
30 | this.latest_events = jsonData.latest_events || null; | |
|
31 | this.permissions = jsonData.permissions || null; | |
|
32 | this.groups = jsonData.groups || null; | |
|
33 | this.applications = []; | |
|
34 | this.dashboards = []; | |
|
35 | _.each(jsonData.applications, function (item) { | |
|
36 | this.addApplication(item); | |
|
37 | }.bind(this)); | |
|
38 | _.each(jsonData.dashboards, function (item) { | |
|
39 | this.addDashboard(item); | |
|
40 | }.bind(this)); | |
|
41 | }; | |
|
42 | AeUser.addApplication = function (item) { | |
|
43 | this.applications.push(item); | |
|
44 | this.applications_map[item.resource_id] = item; | |
|
45 | }; | |
|
46 | AeUser.addDashboard = function (item) { | |
|
47 | this.dashboards.push(item); | |
|
48 | this.dashboards_map[item.resource_id] = item; | |
|
49 | }; | |
|
50 | ||
|
51 | AeUser.removeApplicationById = function (applicationId) { | |
|
52 | this.applications = _.filter(this.applications, function (item) { | |
|
53 | return item.resource_id != applicationId; | |
|
54 | }); | |
|
55 | delete this.applications_map[applicationId]; | |
|
56 | }; | |
|
57 | AeUser.removeDashboardById = function (dashboardId) { | |
|
58 | this.dashboards = _.filter(this.dashboards, function (item) { | |
|
59 | return item.resource_id != dashboardId; | |
|
60 | }); | |
|
61 | delete this.dashboards_map[dashboardId]; | |
|
62 | }; | |
|
63 | ||
|
64 | AeUser.hasAppPermission = function (perm_name) { | |
|
65 | if (this.permissions.indexOf('root_administration') !== -1) { | |
|
66 | return true | |
|
67 | } | |
|
68 | return this.permissions.indexOf(perm_name) !== -1; | |
|
69 | }; | |
|
70 | ||
|
71 | AeUser.hasContextPermission = function (permName, ACLList) { | |
|
72 | var hasPerm = false; | |
|
73 | _.each(ACLList, function (ACL) { | |
|
74 | // is this the right perm? | |
|
75 | if (ACL.perm_name == permName || | |
|
76 | ACL.perm_name == '__all_permissions__') { | |
|
77 | // perm for this user or a group user belongs to | |
|
78 | if (ACL.user_name === this.user_name || | |
|
79 | this.groups.indexOf(ACL.group_name) !== -1) { | |
|
80 | hasPerm = true | |
|
81 | } | |
|
82 | } | |
|
83 | }.bind(this)); | |
|
84 | console.log('AeUser.hasContextPermission', permName, hasPerm); | |
|
85 | return hasPerm; | |
|
86 | }; | |
|
87 | ||
|
21 | 88 | /** |
|
22 | 89 | * Holds some common stuff like flash messages, but important part is |
|
23 | 90 | * plugins property that is a registry that holds all information about |
@@ -79,14 +146,14 b" angular.module('appenlight.services.stateHolder', []).factory('stateHolder', ['$" | |||
|
79 | 146 | } |
|
80 | 147 | self.inclusions[name].push(inclusion); |
|
81 | 148 | } |
|
82 | } | |
|
149 | }; | |
|
83 | 150 | |
|
84 | 151 | var stateHolder = { |
|
85 | 152 | section: 'settings', |
|
86 | 153 | resource: null, |
|
87 | 154 | plugins: Plugins, |
|
88 | 155 | flashMessages: flashMessages, |
|
89 | AeUser: {"user_name": null, "id": null} | |
|
156 | AeUser: AeUser | |
|
90 | 157 | }; |
|
91 | 158 | return stateHolder; |
|
92 | 159 | }]); |
|
1 | NO CONTENT: file was removed |
General Comments 0
You need to be logged in to leave comments.
Login now