Skip to content

Commit

Permalink
Added Task Created column (#473)
Browse files Browse the repository at this point in the history
* Added Task Created column

* Updated to comments

* Added compiled js

* Added datetime checking + fixes
  • Loading branch information
Noah Picard authored and Aditya Bharadwaj committed Jan 22, 2021
1 parent f267d8f commit 445ca8f
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 5 deletions.
9 changes: 6 additions & 3 deletions orchestra/static/dist/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -55769,7 +55769,7 @@ function tasktable() {
/* 161 */
/***/ (function(module, exports) {

module.exports = "<section class=\"section-panel tasks-section\"\n st-table=\"displayedTasks\"\n st-safe-src=\"vm.tasktable.tasks\">\n <div class=\"container-fluid\">\n <div class=\"row section-header\">\n <div class=\"col-lg-10\">\n <h3>\n {{vm.tasktable.label}} ({{ vm.tasktable.tasks.length || 0 }})\n <button type=\"button\"\n ng-if=\"vm.enableNewTaskButtons\"\n ng-click=\"vm.newTask('entry_level')\"\n ng-class=\"{'disabled': vm.orchestraTasks.preventNew ||\n vm.noTaskTimer}\"\n class=\"btn btn-primary btn-new-entry-task\">\n New delivery task\n </button>\n <button type=\"button\"\n ng-if=\"vm.orchestraTasks.reviewerStatus &&\n vm.enableNewTaskButtons\"\n ng-click=\"vm.newTask('reviewer')\"\n ng-class=\"{'disabled': vm.orchestraTasks.preventNew ||\n vm.noTaskTimer}\"\n class=\"btn btn-primary btn-new-review-task\">\n New review task\n </button>\n <span class=\"warning-message\"\n ng-show=\"vm.newTaskError && !vm.orchestraTasks.preventNew\">\n No tasks available at the moment\n </span>\n <i class=\"fa fa-spinner fa-spin\" ng-show=\"vm.waiting\"></i>\n </h3>\n\n </div>\n <div class=\"tasks-search-bar-container col-lg-2\">\n <div class=\"tasks-search-bar\">\n <i class=\"fa fa-search\"></i>\n <input st-search=\"\" placeholder=\"Search...\" type=\"text\"/>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <table ng-if=\"vm.tasktable.tasks.length > 0\"\n class=\"table table-striped\">\n <thead>\n <tr>\n <th st-sort=\"project\">Project</th>\n <th st-sort=\"step\">Task</th>\n <th st-sort=\"detail\">Details</th>\n <th st-sort=\"next_todo_dict.description\">Next steps</th>\n <th st-sort=\"next_todo_dict.start_by_datetime\">Start by</th>\n <th st-sort=\"next_todo_dict.due_datetime\">Due on</th>\n </tr>\n </thead>\n <tbody>\n \n <tr\n ng-class=\"{'task-row':true, 'danger': vm.isInDanger(task)}\"\n ng-repeat=\"task in displayedTasks\"\n ng-click=\"vm.openTask(task)\">\n <td>{{task.project}}</td>\n <td>{{task.step}}</td>\n <td>{{task.detail|limitTo:50}}{{task.detail.length > 50 ? '...' : ''}}</td>\n <td>{{task.next_todo_dict.description|limitTo:50}}{{task.next_todo_dict.description.length > 50 ? '...' : ''}}</td>\n <td><datetime-display datetime=\"task.next_todo_dict.start_by_datetime\" show-time=\"false\" /></td>\n <td><datetime-display datetime=\"task.next_todo_dict.due_datetime\" show-time=\"false\" /></td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</section>\n";
module.exports = "<section class=\"section-panel tasks-section\"\n st-table=\"displayedTasks\"\n st-safe-src=\"vm.tasktable.tasks\">\n <div class=\"container-fluid\">\n <div class=\"row section-header\">\n <div class=\"col-lg-10\">\n <h3>\n {{vm.tasktable.label}} ({{ vm.tasktable.tasks.length || 0 }})\n <button type=\"button\"\n ng-if=\"vm.enableNewTaskButtons\"\n ng-click=\"vm.newTask('entry_level')\"\n ng-class=\"{'disabled': vm.orchestraTasks.preventNew ||\n vm.noTaskTimer}\"\n class=\"btn btn-primary btn-new-entry-task\">\n New delivery task\n </button>\n <button type=\"button\"\n ng-if=\"vm.orchestraTasks.reviewerStatus &&\n vm.enableNewTaskButtons\"\n ng-click=\"vm.newTask('reviewer')\"\n ng-class=\"{'disabled': vm.orchestraTasks.preventNew ||\n vm.noTaskTimer}\"\n class=\"btn btn-primary btn-new-review-task\">\n New review task\n </button>\n <span class=\"warning-message\"\n ng-show=\"vm.newTaskError && !vm.orchestraTasks.preventNew\">\n No tasks available at the moment\n </span>\n <i class=\"fa fa-spinner fa-spin\" ng-show=\"vm.waiting\"></i>\n </h3>\n\n </div>\n <div class=\"tasks-search-bar-container col-lg-2\">\n <div class=\"tasks-search-bar\">\n <i class=\"fa fa-search\"></i>\n <input st-search=\"\" placeholder=\"Search...\" type=\"text\"/>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <table ng-if=\"vm.tasktable.tasks.length > 0\"\n class=\"table table-striped\">\n <thead>\n <tr>\n <th st-sort=\"assignment_start_datetime\">Task assigned</th>\n <th st-sort=\"project\">Project</th>\n <th st-sort=\"step\">Task</th>\n <th st-sort=\"detail\">Details</th>\n <th st-sort=\"next_todo_dict.description\">Next steps</th>\n <th st-sort=\"next_todo_dict.start_by_datetime\">Start by</th>\n <th st-sort=\"next_todo_dict.due_datetime\">Due on</th>\n </tr>\n </thead>\n <tbody>\n \n <tr\n ng-class=\"{'task-row':true, 'danger': vm.isInDanger(task)}\"\n ng-repeat=\"task in displayedTasks\"\n ng-click=\"vm.openTask(task)\">\n <td><datetime-display datetime=\"task.assignment_start_datetime\" custom-format=\"'MM/DD/YYYY'\" /></td>\n <td>{{task.project}}</td>\n <td>{{task.step}}</td>\n <td>{{task.detail|limitTo:50}}{{task.detail.length > 50 ? '...' : ''}}</td>\n <td>{{task.next_todo_dict.description|limitTo:50}}{{task.next_todo_dict.description.length > 50 ? '...' : ''}}</td>\n <td><datetime-display datetime=\"task.next_todo_dict.start_by_datetime\" show-time=\"false\" /></td>\n <td><datetime-display datetime=\"task.next_todo_dict.due_datetime\" show-time=\"false\" /></td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</section>\n";

/***/ }),
/* 162 */
Expand Down Expand Up @@ -61868,15 +61868,18 @@ function datetimeDisplay() {
restrict: 'E',
scope: {
datetime: '=',
showTime: '='
showTime: '=',
customFormat: '='
},
link: function link(scope, elem, attrs) {
var getLocalTime = function getLocalTime(datetimeString) {
return datetimeString ? _momentTimezone2.default.utc(datetimeString).tz(_momentTimezone2.default.tz.guess()) : null;
};

var getPrettyDatetime = function getPrettyDatetime(datetime) {
if (scope.showTime) {
if (scope.customFormat) {
return datetime.format(scope.customFormat);
} else if (scope.showTime) {
return datetime.format('ddd, MMM D h:mm a');
} else {
return datetime.format('ddd, MMM D');
Expand Down
2 changes: 2 additions & 0 deletions orchestra/static/orchestra/dashboard/tasktable.html
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ <h3>
class="table table-striped">
<thead>
<tr>
<th st-sort="assignment_start_datetime">Task assigned</th>
<th st-sort="project">Project</th>
<th st-sort="step">Task</th>
<th st-sort="detail">Details</th>
Expand All @@ -57,6 +58,7 @@ <h3>
ng-class="{'task-row':true, 'danger': vm.isInDanger(task)}"
ng-repeat="task in displayedTasks"
ng-click="vm.openTask(task)">
<td><datetime-display datetime="task.assignment_start_datetime" custom-format="'MM/DD/YYYY'" /></td>
<td>{{task.project}}</td>
<td>{{task.step}}</td>
<td>{{task.detail|limitTo:50}}{{task.detail.length > 50 ? '...' : ''}}</td>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,18 @@ export default function datetimeDisplay () {
restrict: 'E',
scope: {
datetime: '=',
showTime: '='
showTime: '=',
customFormat: '='
},
link: (scope, elem, attrs) => {
const getLocalTime = (datetimeString) => {
return datetimeString ? moment.utc(datetimeString).tz(moment.tz.guess()) : null
}

const getPrettyDatetime = (datetime) => {
if (scope.showTime) {
if (scope.customFormat) {
return datetime.format(scope.customFormat)
} else if (scope.showTime) {
return datetime.format('ddd, MMM D h:mm a')
} else {
return datetime.format('ddd, MMM D')
Expand Down
1 change: 1 addition & 0 deletions orchestra/utils/task_lifecycle.py
Original file line number Diff line number Diff line change
Expand Up @@ -589,6 +589,7 @@ def tasks_assigned_to_worker(worker):
'detail': task_assignment.task.project.short_description,
'priority': task_assignment.task.project.priority,
'state': state,
'assignment_start_datetime': task_assignment.start_datetime,
'next_todo_dict': next_todo_dict,
'should_be_active': should_be_active})
return tasks_assigned
Expand Down

0 comments on commit 445ca8f

Please sign in to comment.