From e39e00094edf30fb830ea12cc6335a8acae8f685 Mon Sep 17 00:00:00 2001 From: Michael Behlendorf Date: Thu, 17 Jan 2019 15:04:15 +0100 Subject: [PATCH 1/3] Create option for redirect endpoint #6 --- src/main/issues/issueController.js | 6 +++++- src/main/redmine.js | 1 + src/main/service.js | 7 ++++++- 3 files changed, 12 insertions(+), 2 deletions(-) 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 }; From 3685b89e0d9af43103d755334fa7e8a7dff01d33 Mon Sep 17 00:00:00 2001 From: Michael Behlendorf Date: Thu, 17 Jan 2019 15:10:38 +0100 Subject: [PATCH 2/3] Update dist #6 --- dist/adf-widget-redmine.js | 24 +++++++++++++++++------- dist/adf-widget-redmine.min.js | 2 +- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/dist/adf-widget-redmine.js b/dist/adf-widget-redmine.js index 4ae5446..8b93585 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'; @@ -87,10 +88,10 @@ angular.module('adf.widget.redmine', ['adf.provider', 'chart.js', 'ui.bootstrap. */ }]); -angular.module("adf.widget.redmine").run(["$templateCache", function($templateCache) {$templateCache.put("{widgetsPath}/redmine/src/main/chart/view.html","
Please configure the widget
"); -$templateCache.put("{widgetsPath}/redmine/src/main/issues/view.html","
Please configure the widget
No issues found
ID ↓TrackerStatusPrioritySubjectAssignee
#{{issue.id}}{{issue.tracker.name}}{{issue.status.name}}{{issue.priority.name}}{{issue.subject}}{{issue.author.name}}
"); -$templateCache.put("{widgetsPath}/redmine/src/main/chart/edit/edit.html","

Add Filter

can be used instead an ID to fetch all issues from the logged in user. Leave empty if you want to see all issues.\">
Show ideal line

"); -$templateCache.put("{widgetsPath}/redmine/src/main/issues/edit/edit.html","
Show closed issues
  • {{entry.name}}
  • ");}]); +angular.module("adf.widget.redmine").run(["$templateCache", function($templateCache) {$templateCache.put("{widgetsPath}/redmine/src/chart/view.html","
    Please configure the widget
    "); +$templateCache.put("{widgetsPath}/redmine/src/issues/view.html","
    Please configure the widget
    No issues found
    ID ↓TrackerStatusPrioritySubjectAssignee
    #{{issue.id}}{{issue.tracker.name}}{{issue.status.name}}{{issue.priority.name}}{{issue.subject}}{{issue.author.name}}
    "); +$templateCache.put("{widgetsPath}/redmine/src/chart/edit/edit.html","

    Add Filter

    can be used instead an ID to fetch all issues from the logged in user. Leave empty if you want to see all issues.\">
    Show ideal line

    "); +$templateCache.put("{widgetsPath}/redmine/src/issues/edit/edit.html","
    Show closed issues
  • {{entry.name}}
  • ");}]); angular.module('adf.widget.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..3d0f593 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
    ID ↓TrackerStatusPrioritySubjectAssignee
    #{{issue.id}}{{issue.tracker.name}}{{issue.status.name}}{{issue.priority.name}}{{issue.subject}}{{issue.author.name}}
    '),e.put("{widgetsPath}/redmine/src/chart/edit/edit.html",'

    Add Filter

    Show ideal line

    '),e.put("{widgetsPath}/redmine/src/issues/edit/edit.html",'
    Show closed issues
  • {{entry.name}}
  • ')}]),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/chart/view.html",'
    Please configure the widget
    '),e.put("{widgetsPath}/redmine/src/issues/view.html",'
    Please configure the widget
    No issues found
    ID ↓TrackerStatusPrioritySubjectAssignee
    #{{issue.id}}{{issue.tracker.name}}{{issue.status.name}}{{issue.priority.name}}{{issue.subject}}{{issue.author.name}}
    '),e.put("{widgetsPath}/redmine/src/chart/edit/edit.html",'

    Add Filter

    Show ideal line

    '),e.put("{widgetsPath}/redmine/src/issues/edit/edit.html",'
    Show closed issues
  • {{entry.name}}
  • ')}]),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 From 721358e1b0dab9e0b3d7cde847bce06a57b1351a Mon Sep 17 00:00:00 2001 From: Michael Behlendorf Date: Thu, 17 Jan 2019 15:44:29 +0100 Subject: [PATCH 3/3] Change src path --- dist/adf-widget-redmine.js | 8 ++++---- dist/adf-widget-redmine.min.js | 2 +- gulpfile.js | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dist/adf-widget-redmine.js b/dist/adf-widget-redmine.js index 8b93585..a996752 100644 --- a/dist/adf-widget-redmine.js +++ b/dist/adf-widget-redmine.js @@ -88,10 +88,10 @@ angular.module('adf.widget.redmine', ['adf.provider', 'chart.js', 'ui.bootstrap. */ }]); -angular.module("adf.widget.redmine").run(["$templateCache", function($templateCache) {$templateCache.put("{widgetsPath}/redmine/src/chart/view.html","
    Please configure the widget
    "); -$templateCache.put("{widgetsPath}/redmine/src/issues/view.html","
    Please configure the widget
    No issues found
    ID ↓TrackerStatusPrioritySubjectAssignee
    #{{issue.id}}{{issue.tracker.name}}{{issue.status.name}}{{issue.priority.name}}{{issue.subject}}{{issue.author.name}}
    "); -$templateCache.put("{widgetsPath}/redmine/src/chart/edit/edit.html","

    Add Filter

    can be used instead an ID to fetch all issues from the logged in user. Leave empty if you want to see all issues.\">
    Show ideal line

    "); -$templateCache.put("{widgetsPath}/redmine/src/issues/edit/edit.html","
    Show closed issues
  • {{entry.name}}
  • ");}]); +angular.module("adf.widget.redmine").run(["$templateCache", function($templateCache) {$templateCache.put("{widgetsPath}/redmine/src/main/chart/view.html","
    Please configure the widget
    "); +$templateCache.put("{widgetsPath}/redmine/src/main/issues/view.html","
    Please configure the widget
    No issues found
    ID ↓TrackerStatusPrioritySubjectAssignee
    #{{issue.id}}{{issue.tracker.name}}{{issue.status.name}}{{issue.priority.name}}{{issue.subject}}{{issue.author.name}}
    "); +$templateCache.put("{widgetsPath}/redmine/src/main/chart/edit/edit.html","

    Add Filter

    can be used instead an ID to fetch all issues from the logged in user. Leave empty if you want to see all issues.\">
    Show ideal line

    "); +$templateCache.put("{widgetsPath}/redmine/src/main/issues/edit/edit.html","
    Show closed issues
  • {{entry.name}}
  • ");}]); angular.module('adf.widget.redmine') diff --git a/dist/adf-widget-redmine.min.js b/dist/adf-widget-redmine.min.js index 3d0f593..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/").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/chart/view.html",'
    Please configure the widget
    '),e.put("{widgetsPath}/redmine/src/issues/view.html",'
    Please configure the widget
    No issues found
    ID ↓TrackerStatusPrioritySubjectAssignee
    #{{issue.id}}{{issue.tracker.name}}{{issue.status.name}}{{issue.priority.name}}{{issue.subject}}{{issue.author.name}}
    '),e.put("{widgetsPath}/redmine/src/chart/edit/edit.html",'

    Add Filter

    Show ideal line

    '),e.put("{widgetsPath}/redmine/src/issues/edit/edit.html",'
    Show closed issues
  • {{entry.name}}
  • ')}]),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 +!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
    ID ↓TrackerStatusPrioritySubjectAssignee
    #{{issue.id}}{{issue.tracker.name}}{{issue.status.name}}{{issue.priority.name}}{{issue.subject}}{{issue.author.name}}
    '),e.put("{widgetsPath}/redmine/src/main/chart/edit/edit.html",'

    Add Filter

    Show ideal line

    '),e.put("{widgetsPath}/redmine/src/main/issues/edit/edit.html",'
    Show closed issues
  • {{entry.name}}
  • ')}]),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' };