diff --git a/dist/adf-widget-redmine.js b/dist/adf-widget-redmine.js
index 4ae5446..a996752 100644
--- a/dist/adf-widget-redmine.js
+++ b/dist/adf-widget-redmine.js
@@ -3,6 +3,7 @@
angular.module('adf.widget.redmine', ['adf.provider', 'chart.js', 'ui.bootstrap.datepicker'])
.constant('redmineEndpoint', 'http://www.redmine.org/')
+ .constant('redmineRedirectEndpoint', null)
.config(["dashboardProvider", function (dashboardProvider) {
var category = 'Redmine';
@@ -294,7 +295,11 @@ angular.module('adf.widget.redmine')
}
}
- vm.issueUrl = redmineService.getRedmineEndpoint() + 'issues/';
+ var redirectEndpoint = redmineService.getRedmineRedirectEndpoint();
+ if (!redirectEndpoint) {
+ redirectEndpoint = redmineService.getRedmineEndpoint();
+ }
+ vm.issueUrl = redirectEndpoint + 'issues/';
vm.order = 'id';
@@ -443,7 +448,7 @@ angular.module('adf.widget.redmine')
angular.module('adf.widget.redmine')
- .factory('redmineService', ["$http", "redmineEndpoint", "$q", function ($http, redmineEndpoint, $q) {
+ .factory('redmineService', ["$http", "redmineEndpoint", "redmineRedirectEndpoint", "$q", function ($http, redmineEndpoint, redmineRedirectEndpoint, $q) {
function extractData(response) {
return response.data;
@@ -586,6 +591,10 @@ angular.module('adf.widget.redmine')
return redmineEndpoint;
}
+ function getRedmineRedirectEndpoint(){
+ return redmineRedirectEndpoint;
+ }
+
function getTrackers() {
return request('trackers.json').then(function (data) {
return data.trackers;
@@ -606,8 +615,9 @@ angular.module('adf.widget.redmine')
getCustomQueries: getCustomQueries,
getIssuesByQueryId: getIssuesByQueryId,
getRedmineEndpoint: getRedmineEndpoint,
+ getRedmineRedirectEndpoint: getRedmineRedirectEndpoint,
getTrackers: getTrackers,
getMyIssues : getMyIssues
};
}]);
-})(window);
+})(window);
\ No newline at end of file
diff --git a/dist/adf-widget-redmine.min.js b/dist/adf-widget-redmine.min.js
index 1a389b9..972b792 100644
--- a/dist/adf-widget-redmine.min.js
+++ b/dist/adf-widget-redmine.min.js
@@ -1 +1 @@
-!function(e,t){"use strict";angular.module("adf.widget.redmine",["adf.provider","chart.js","ui.bootstrap.datepicker"]).constant("redmineEndpoint","http://www.redmine.org/").config(["dashboardProvider",function(e){var t="Redmine",n={templateUrl:"{widgetsPath}/redmine/src/main/issues/edit/edit.html",controller:"editIssuesController",controllerAs:"vm",resolve:{projects:["redmineService",function(e){return e.getProjects()}]}};e.widget("redmine-custom-queries",{title:"Redmine Custom Queries",description:"Displays Issues from a Custom Query",category:t,templateUrl:"{widgetsPath}/redmine/src/main/issues/view.html",controller:"IssueController",controllerAs:"vm",resolve:{issues:["redmineService","config",function(e,t){if(t.customQuery)return e.getIssuesByQueryId(t.customQuery.id,t.customQuery.project_id)}]},edit:n}),e.widget("redmine-my-issues",{title:"My Redmine Issues",description:"Displays all issues assigned to me",category:t,templateUrl:"{widgetsPath}/redmine/src/main/issues/view.html",controller:"IssueController",controllerAs:"vm",resolve:{issues:["redmineService",function(e){return e.getMyIssues()}]}})}]),angular.module("adf.widget.redmine").run(["$templateCache",function(e){e.put("{widgetsPath}/redmine/src/chart/view.html",'
Please configure the widget
'),e.put("{widgetsPath}/redmine/src/issues/view.html",'Please configure the widget
No issues found
'),e.put("{widgetsPath}/redmine/src/chart/edit/edit.html",''),e.put("{widgetsPath}/redmine/src/issues/edit/edit.html",'')}]),angular.module("adf.widget.redmine").controller("editIssuesController",["projects","config","redmineService",function(e,t,n){var i=this;i.possibleColumns={id:{name:"ID",show:!0},tracker:{name:"Tracker",show:!0},status:{name:"Status",show:!0},subject:{name:"Subject",show:!0},assignee:{name:"Assignee",show:!0},priority:{name:"Priority",show:!0}},n.getCustomQueries().then(function(e){e&&e.queries?i.customQueries=e.queries:i.customQueries=null}),angular.equals({},t)&&(t.columns=i.possibleColumns,t.project="",t.assigned_to_id="me",t.showClosed=!1),i.projects=e}]),angular.module("adf.widget.redmine").controller("editChartController",["projects","config","chartDataService","redmineService",function(e,t,n,i){function s(e){"version"===e?m.config.filterWithVersion=!0:"assigned"===e?m.config.filterWithAssigned=!0:"tracker"===e&&(m.config.filterWithTracker=!0),m.filterToAdd="none"}function o(){m.config.timespan.fromDateTime&&(m.config.timespan.fromDateTime=new Date(m.config.timespan.fromDateTime),m.config.timespan.toDateTime=new Date(m.config.timespan.toDateTime))}function r(){m.inlineOptions.minDate=m.inlineOptions.minDate?null:new Date,m.dateOptions.minDate=m.inlineOptions.minDate}function a(){if(m.config.project){if("All"===m.config.project)return void(m.versions=[]);i.getVersions(angular.fromJson(m.config.project).identifier).then(function(e){m.versions=e})}}function c(){m.config.filterWithVersion&&m.updateVersions()}function u(){m.config.timespan.toDateTime=new Date(angular.fromJson(m.config.version).due_date);var e=new Date(m.config.timespan.toDateTime);m.config.timespan.fromDateTime=e.setDate(e.getDate()-14)}function l(){i.getTrackers().then(function(e){m.trackers=e})}function d(e){var t=e.date,n=e.mode;if("day"===n)for(var i=new Date(t).setHours(0,0,0,0),s=0;s0?n.all(o).then(function(e){return angular.forEach(e,function(e){angular.forEach(e.issues,function(e){i.push(e)})}),i}):i})}function l(e,t){return s("issues.json"+e+"&offset="+t).then(function(e){return e})}function d(e){var t=p(e);t+="&status_id=*";var n=new Date(e.timespan.toDateTime);return t+="&created_on=<="+f(n),t+="&closed_on=>="+f(n)}function m(e){var t=p(e);t+="&status_id=open";var n=new Date(e.timespan.toDateTime);return t+="&created_on=<="+f(n)}function g(e){var t=p(e);t+="&status_id=*";var n=new Date(e.timespan.fromDateTime),i=new Date(e.timespan.toDateTime);return t+="&closed_on=><"+f(n)+"|"+f(i)}function p(e){var t="?limit=100&sort=created_on";return e.project&&"All"!==e.project&&(t+="&project_id="+angular.fromJson(e.project).id),e.filterWithAssigned&&e.assigned_to_id&&(t+="&assigned_to_id="+e.assigned_to_id),e.showClosed&&(t+="&status_id=*"),e.filterWithVersion&&e.version&&(t+="&fixed_version_id="+angular.fromJson(e.version).id),e.filterWithTracker&&e.tracker&&(t+="&tracker_id="+angular.fromJson(e.tracker).id),t}function f(e){var t=e.getDate(),n=e.getMonth()+1,i=e.getFullYear();return""+i+"-"+(n<=9?"0"+n:n)+"-"+(t<=9?"0"+t:t)}function h(){return s("queries.json?limit=100")}function v(e,t){return s("issues.json?query_id="+e+"&project_id="+t).then(function(e){return e.issues})}function y(){return t}function w(){return s("trackers.json").then(function(e){return e.trackers})}function b(){return s("issues.json?assigned_to_id=me").then(function(e){return e})}return{getIssues:a,getIssuesForChart:c,getProjects:o,getVersions:r,getCustomQueries:h,getIssuesByQueryId:v,getRedmineEndpoint:y,getTrackers:w,getMyIssues:b}}])}(window);
\ No newline at end of file
+!function(e,t){"use strict";angular.module("adf.widget.redmine",["adf.provider","chart.js","ui.bootstrap.datepicker"]).constant("redmineEndpoint","http://www.redmine.org/").constant("redmineRedirectEndpoint",null).config(["dashboardProvider",function(e){var t="Redmine",n={templateUrl:"{widgetsPath}/redmine/src/main/issues/edit/edit.html",controller:"editIssuesController",controllerAs:"vm",resolve:{projects:["redmineService",function(e){return e.getProjects()}]}};e.widget("redmine-custom-queries",{title:"Redmine Custom Queries",description:"Displays Issues from a Custom Query",category:t,templateUrl:"{widgetsPath}/redmine/src/main/issues/view.html",controller:"IssueController",controllerAs:"vm",resolve:{issues:["redmineService","config",function(e,t){if(t.customQuery)return e.getIssuesByQueryId(t.customQuery.id,t.customQuery.project_id)}]},edit:n}),e.widget("redmine-my-issues",{title:"My Redmine Issues",description:"Displays all issues assigned to me",category:t,templateUrl:"{widgetsPath}/redmine/src/main/issues/view.html",controller:"IssueController",controllerAs:"vm",resolve:{issues:["redmineService",function(e){return e.getMyIssues()}]}})}]),angular.module("adf.widget.redmine").run(["$templateCache",function(e){e.put("{widgetsPath}/redmine/src/main/chart/view.html",'Please configure the widget
'),e.put("{widgetsPath}/redmine/src/main/issues/view.html",'Please configure the widget
No issues found
'),e.put("{widgetsPath}/redmine/src/main/chart/edit/edit.html",''),e.put("{widgetsPath}/redmine/src/main/issues/edit/edit.html",'')}]),angular.module("adf.widget.redmine").controller("editIssuesController",["projects","config","redmineService",function(e,t,n){var i=this;i.possibleColumns={id:{name:"ID",show:!0},tracker:{name:"Tracker",show:!0},status:{name:"Status",show:!0},subject:{name:"Subject",show:!0},assignee:{name:"Assignee",show:!0},priority:{name:"Priority",show:!0}},n.getCustomQueries().then(function(e){e&&e.queries?i.customQueries=e.queries:i.customQueries=null}),angular.equals({},t)&&(t.columns=i.possibleColumns,t.project="",t.assigned_to_id="me",t.showClosed=!1),i.projects=e}]),angular.module("adf.widget.redmine").controller("editChartController",["projects","config","chartDataService","redmineService",function(e,t,n,i){function s(e){"version"===e?m.config.filterWithVersion=!0:"assigned"===e?m.config.filterWithAssigned=!0:"tracker"===e&&(m.config.filterWithTracker=!0),m.filterToAdd="none"}function r(){m.config.timespan.fromDateTime&&(m.config.timespan.fromDateTime=new Date(m.config.timespan.fromDateTime),m.config.timespan.toDateTime=new Date(m.config.timespan.toDateTime))}function o(){m.inlineOptions.minDate=m.inlineOptions.minDate?null:new Date,m.dateOptions.minDate=m.inlineOptions.minDate}function a(){if(m.config.project){if("All"===m.config.project)return void(m.versions=[]);i.getVersions(angular.fromJson(m.config.project).identifier).then(function(e){m.versions=e})}}function c(){m.config.filterWithVersion&&m.updateVersions()}function u(){m.config.timespan.toDateTime=new Date(angular.fromJson(m.config.version).due_date);var e=new Date(m.config.timespan.toDateTime);m.config.timespan.fromDateTime=e.setDate(e.getDate()-14)}function l(){i.getTrackers().then(function(e){m.trackers=e})}function d(e){var t=e.date,n=e.mode;if("day"===n)for(var i=new Date(t).setHours(0,0,0,0),s=0;s0?i.all(r).then(function(e){return angular.forEach(e,function(e){angular.forEach(e.issues,function(e){n.push(e)})}),n}):n})}function d(e,t){return r("issues.json"+e+"&offset="+t).then(function(e){return e})}function m(e){var t=f(e);t+="&status_id=*";var n=new Date(e.timespan.toDateTime);return t+="&created_on=<="+h(n),t+="&closed_on=>="+h(n)}function g(e){var t=f(e);t+="&status_id=open";var n=new Date(e.timespan.toDateTime);return t+="&created_on=<="+h(n)}function p(e){var t=f(e);t+="&status_id=*";var n=new Date(e.timespan.fromDateTime),i=new Date(e.timespan.toDateTime);return t+="&closed_on=><"+h(n)+"|"+h(i)}function f(e){var t="?limit=100&sort=created_on";return e.project&&"All"!==e.project&&(t+="&project_id="+angular.fromJson(e.project).id),e.filterWithAssigned&&e.assigned_to_id&&(t+="&assigned_to_id="+e.assigned_to_id),e.showClosed&&(t+="&status_id=*"),e.filterWithVersion&&e.version&&(t+="&fixed_version_id="+angular.fromJson(e.version).id),e.filterWithTracker&&e.tracker&&(t+="&tracker_id="+angular.fromJson(e.tracker).id),t}function h(e){var t=e.getDate(),n=e.getMonth()+1,i=e.getFullYear();return""+i+"-"+(n<=9?"0"+n:n)+"-"+(t<=9?"0"+t:t)}function v(){return r("queries.json?limit=100")}function y(e,t){return r("issues.json?query_id="+e+"&project_id="+t).then(function(e){return e.issues})}function w(){return t}function b(){return n}function k(){return r("trackers.json").then(function(e){return e.trackers})}function D(){return r("issues.json?assigned_to_id=me").then(function(e){return e})}return{getIssues:c,getIssuesForChart:u,getProjects:o,getVersions:a,getCustomQueries:v,getIssuesByQueryId:y,getRedmineEndpoint:w,getRedmineRedirectEndpoint:b,getTrackers:k,getMyIssues:D}}])}(window);
\ No newline at end of file
diff --git a/gulpfile.js b/gulpfile.js
index eb459b8..359a7c6 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -14,7 +14,7 @@ var annotateOptions = {
};
var templateOptions = {
- root: '{widgetsPath}/redmine/src',
+ root: '{widgetsPath}/redmine/src/main',
module: 'adf.widget.redmine'
};
diff --git a/src/main/issues/issueController.js b/src/main/issues/issueController.js
index 90154ea..6b6dae6 100644
--- a/src/main/issues/issueController.js
+++ b/src/main/issues/issueController.js
@@ -29,7 +29,11 @@ angular.module('adf.widget.redmine')
}
}
- vm.issueUrl = redmineService.getRedmineEndpoint() + 'issues/';
+ var redirectEndpoint = redmineService.getRedmineRedirectEndpoint();
+ if (!redirectEndpoint) {
+ redirectEndpoint = redmineService.getRedmineEndpoint();
+ }
+ vm.issueUrl = redirectEndpoint + 'issues/';
vm.order = 'id';
diff --git a/src/main/redmine.js b/src/main/redmine.js
index 9ac16e5..ae28b7f 100644
--- a/src/main/redmine.js
+++ b/src/main/redmine.js
@@ -2,6 +2,7 @@
angular.module('adf.widget.redmine', ['adf.provider', 'chart.js', 'ui.bootstrap.datepicker'])
.constant('redmineEndpoint', 'http://www.redmine.org/')
+ .constant('redmineRedirectEndpoint', null)
.config(function (dashboardProvider) {
var category = 'Redmine';
diff --git a/src/main/service.js b/src/main/service.js
index 927178e..5d22133 100644
--- a/src/main/service.js
+++ b/src/main/service.js
@@ -1,7 +1,7 @@
'use strict';
angular.module('adf.widget.redmine')
- .factory('redmineService', function ($http, redmineEndpoint, $q) {
+ .factory('redmineService', function ($http, redmineEndpoint, redmineRedirectEndpoint, $q) {
function extractData(response) {
return response.data;
@@ -144,6 +144,10 @@ angular.module('adf.widget.redmine')
return redmineEndpoint;
}
+ function getRedmineRedirectEndpoint(){
+ return redmineRedirectEndpoint;
+ }
+
function getTrackers() {
return request('trackers.json').then(function (data) {
return data.trackers;
@@ -164,6 +168,7 @@ angular.module('adf.widget.redmine')
getCustomQueries: getCustomQueries,
getIssuesByQueryId: getIssuesByQueryId,
getRedmineEndpoint: getRedmineEndpoint,
+ getRedmineRedirectEndpoint: getRedmineRedirectEndpoint,
getTrackers: getTrackers,
getMyIssues : getMyIssues
};