Skip to content

Commit

Permalink
Merged the add-checklist frontend-support
Browse files Browse the repository at this point in the history
  • Loading branch information
userify-Aditya Bharadwaj committed Jun 26, 2018
2 parents 398dbd1 + 2d08146 commit 21a6bef
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 7 deletions.
4 changes: 2 additions & 2 deletions orchestra/static/dist/main.js
Expand Up @@ -61534,7 +61534,7 @@ function todoList(orchestraApi) {
/* 209 */
/***/ (function(module, exports) {

module.exports = "<section class=\"section-panel todo-list\">\n <div class=\"container-fluid\">\n <div class=\"row section-header\">\n <div class=\"col-lg-12 col-md-12 col-sm-12\">\n <h3>\n Todo List\n </h3>\n </div>\n </div>\n\n <div class=\"row section-body new-todo\">\n <div class=\"col-lg-2\">\n <select class=\"form-control input-sm\" name=\"todoList\" id=\"todoList\" ng-model=\"todoList.newTodoTaskId\">\n <option value=\"\" selected>Select owner</option>\n <option value=\"{{task.id}}\" ng-repeat=\"task in todoList.possibleTasks\">{{todoList.steps[task.step_slug].name}}</option>\n </select>\n </div>\n <div class=\"col-lg-5\">\n <input class=\"form-control input-sm\"\n type=\"text\"\n ng-model=\"todoList.newTodoDescription\"\n placeholder=\"Add a todo item\">\n <div class=\"pull-right\">\n <div class=\"new-todo__datetime\">\n <label>Start</label>\n <date-picker\n date=\"todoList.newTodoStartDate\"\n callback=\"todoList.setTimeOfDate\"></date-picker>\n <time-input\n datetime=\"todoList.newTodoStartDate\"\n default-hour=\"8\"\n ></time-input>\n </div>\n <div class=\"new-todo__datetime\">\n <label>Due</label>\n <date-picker\n date=\"todoList.newTodoDueDate\"\n callback=\"todoList.setTimeOfDate\"></date-picker>\n <time-input\n datetime=\"todoList.newTodoDueDate\"\n default-hour=\"18\"\n ></time-input>\n </div>\n </div>\n </div>\n <div class=\"col-lg-1\">\n <button type=\"submit\"\n class=\"btn btn-primary btn-sm btn-block edit-save-handle\"\n ng-disabled=\"!todoList.canAddTodo()\"\n ng-click=\"todoList.addTodo()\">\n Add todo\n </button>\n </div>\n <div class=\"col-lg-2\">\n <div class=\"btn-group\">\n <button type=\"button\" class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"\n ng-disabled=\"!todoList.newTodoTaskId\">\n Add todos from a template <span class=\"caret\"></span>\n </button>\n <ul class=\"dropdown-menu\">\n <li ng-repeat=\"template in todoList.templates\" ng-click=\"todoList.updateTodoListFromTemplate(template.slug)\">\n <a href=\"\">{{template.name}}</a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n\n <div class=\"row section-body\" ng-if=\"todoList.ready\">\n <div class=\"col-lg-6 col-md-6 col-sm-12\">\n <div class=\"todolist-pane\">\n <p class=\"todolist-pane__heading col-sm-3\">Todo items</p>\n <todo-checklist\n title=\"Todos\"\n todos=\"todoList.todos\"\n show-skipped=\"false\"\n update-todo=\"todoList.updateTodo\"\n remove-todo=\"todoList.removeTodo\"\n skip-todo=\"todoList.skipTodo\"\n unskip-todo=\"todoList.unskipTodo\"\n steps=\"todoList.steps\"\n task-slugs=\"todoList.taskSlugs\"\n ></todo-checklist>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-6 col-sm-12\">\n <div class=\"todolist-pane\">\n <p class=\"todolist-pane__heading col-sm-4\">Skipped todo items</p>\n <todo-checklist\n title=\"Todos\"\n todos=\"todoList.todos\"\n show-skipped=\"true\"\n update-todo=\"todoList.updateTodo\"\n steps=\"todoList.steps\"\n skip-todo=\"todoList.skipTodo\"\n unskip-todo=\"todoList.unskipTodo\"\n task-slugs=\"todoList.taskSlugs\"\n ></todo-checklist>\n </div>\n </div>\n </div>\n\n </div>\n</section>\n";
module.exports = "<section class=\"section-panel todo-list\">\n <div class=\"container-fluid\">\n <div class=\"row section-header\">\n <div class=\"col-lg-12 col-md-12 col-sm-12\">\n <h3>\n Todo List\n </h3>\n </div>\n </div>\n\n <div class=\"row section-body new-todo\">\n <div class=\"col-lg-2\">\n <select class=\"form-control input-sm\" name=\"todoList\" id=\"todoList\" ng-model=\"todoList.newTodoTaskId\">\n <option value=\"\" selected>Select owner</option>\n <option value=\"{{task.id}}\" ng-repeat=\"task in todoList.possibleTasks\">{{todoList.steps[task.step_slug].name}}</option>\n </select>\n </div>\n <div class=\"col-lg-5\">\n <input class=\"form-control input-sm\"\n type=\"text\"\n ng-model=\"todoList.newTodoDescription\"\n placeholder=\"Add a todo item\">\n <div class=\"pull-right\">\n <div class=\"new-todo__datetime\">\n <label>Start</label>\n <date-picker\n date=\"todoList.newTodoStartDate\"\n callback=\"todoList.setTimeOfDate\"></date-picker>\n <time-input\n datetime=\"todoList.newTodoStartDate\"\n default-hour=\"8\"\n ></time-input>\n </div>\n <div class=\"new-todo__datetime\">\n <label>Due</label>\n <date-picker\n date=\"todoList.newTodoDueDate\"\n callback=\"todoList.setTimeOfDate\"></date-picker>\n <time-input\n datetime=\"todoList.newTodoDueDate\"\n default-hour=\"18\"\n ></time-input>\n </div>\n </div>\n </div>\n <div class=\"col-lg-1\">\n <button type=\"submit\"\n class=\"btn btn-primary btn-sm btn-block edit-save-handle\"\n ng-disabled=\"!todoList.canAddTodo()\"\n ng-click=\"todoList.addTodo()\">\n Add todo\n </button>\n </div>\n <div class=\"col-lg-2\" ng-if=\"todoList.templates.length > 0\">\n <div class=\"btn-group\">\n <button type=\"button\" class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"\n ng-disabled=\"!todoList.newTodoTaskId\">\n Add todos from a template <span class=\"caret\"></span>\n </button>\n <ul class=\"dropdown-menu\">\n <li ng-repeat=\"template in todoList.templates\" ng-click=\"todoList.updateTodoListFromTemplate(template.slug)\">\n <a href=\"\">{{template.name}}</a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n\n <div class=\"row section-body\" ng-if=\"todoList.ready\">\n <div class=\"col-lg-6 col-md-6 col-sm-12\">\n <div class=\"todolist-pane\">\n <p class=\"todolist-pane__heading col-sm-3\">Todo items</p>\n <todo-checklist\n title=\"Todos\"\n todos=\"todoList.todos\"\n show-skipped=\"false\"\n update-todo=\"todoList.updateTodo\"\n remove-todo=\"todoList.removeTodo\"\n skip-todo=\"todoList.skipTodo\"\n unskip-todo=\"todoList.unskipTodo\"\n steps=\"todoList.steps\"\n task-slugs=\"todoList.taskSlugs\"\n ></todo-checklist>\n </div>\n </div>\n <div class=\"col-lg-6 col-md-6 col-sm-12\">\n <div class=\"todolist-pane\" ng-if=\"todoList.templates.length > 0\">\n <p class=\"todolist-pane__heading col-sm-4\">Skipped todo items</p>\n <todo-checklist\n title=\"Todos\"\n todos=\"todoList.todos\"\n show-skipped=\"true\"\n update-todo=\"todoList.updateTodo\"\n steps=\"todoList.steps\"\n skip-todo=\"todoList.skipTodo\"\n unskip-todo=\"todoList.unskipTodo\"\n task-slugs=\"todoList.taskSlugs\"\n ></todo-checklist>\n </div>\n </div>\n </div>\n\n </div>\n</section>\n";

/***/ }),
/* 210 */
Expand Down Expand Up @@ -61623,7 +61623,7 @@ function todoChecklist() {
/* 212 */
/***/ (function(module, exports) {

module.exports = "<script type=\"text/ng-template\" id=\"todoItemTemplate\">\n <div ui-tree-handle class=\"tree-node tree-node-content\">\n <input type=\"checkbox\"\n ng-hide=\"showSkipped\"\n ng-model=\"todo.completed\"\n ng-change=\"updateTodo(todo)\">\n <label ng-class=\"{'text-danger': isInDanger(todo)}\">\n <span ng-click=\"toggle(this)\">\n <i aria-hidden=\"true\" ng-if=\"todo.items && todo.items.length > 0\" data-nodrag\n class=\"fa\"\n ng-class=\"{\n 'skipped-todos': showSkipped,\n 'fa-caret-right': collapsed,\n 'fa-caret-down': !collapsed\n }\"></i>\n <i class=\"fa fa-circle-o\" aria-hidden=\"true\" ng-if=\"(!todo.items || todo.items.length === 0) && showSkipped\" data-nodrag></i>\n <span ng-hide=\"!todo.items || todo.items.length < 1 || showSkipped\">[{{ ( todo.items | filter: { completed: true, skipped_datetime: '!' } ).length }}/{{ ( todo.items | filter: { skipped_datetime: '!' } ).length }}] </span>\n <span class=\"todo__role\">{{steps[taskSlugs[todo.task]].name}}:&nbsp;</span>\n <span class=\"todo__description\" ng-bind-html=\"todo.description\"></span>\n <span ng-class=\"{'todo__dates': true, 'todo__dates-danger': isInDanger(todo)}\">\n <span ng-if=\"isNonEmptyString(todo.start_by_datetime)\">\n Start <datetime-display datetime=\"todo.start_by_datetime\" show-time=\"true\"/>\n </span>\n <span ng-if=\"isNonEmptyString(todo.start_by_datetime) && isNonEmptyString(todo.due_datetime)\" class=\"todo__dates-separator\">|</span>\n <span ng-if=\"isNonEmptyString(todo.due_datetime)\">\n Due <datetime-display datetime=\"todo.due_datetime\" show-time=\"true\"/></span>\n </span>\n </span>\n <span>\n &nbsp;&nbsp;\n <a href=\"#\" ng-hide=\"!showSkipped\" ng-click=\"unskipTodo(todo)\">[add]</a>\n <a href=\"#\" ng-hide=\"showSkipped\" ng-click=\"skipTodo(todo)\">[skip]</a>\n <a href=\"#\" ng-hide=\"todo.parent_todo\" ng-click=\"removeTodo(todo)\">[remove]</a>\n </span>\n </label>\n </div>\n <ol ui-tree-nodes ng-model=\"todo.items\" ng-class=\"{hidden: collapsed}\">\n <li ng-repeat=\"todo in filterTodoList(todo.items, showSkipped)\" ui-tree-node data-collapsed=\"true\" ng-include=\"'todoItemTemplate'\"></li>\n </ol>\n</script>\n\n\n<div class=\"list-by-status\" ng-if=\"todos.length > 0\">\n <div class=\"todo\">\n <div ui-tree data-drag-enabled=\"false\" id=\"tree-root\">\n <ol ui-tree-nodes ng-model=\"todos\">\n <li ng-repeat=\"todo in filterTodoList(todos, showSkipped)\" ui-tree-node data-collapsed=\"true\" ng-include=\"'todoItemTemplate'\"></li>\n </ol>\n </div>\n </div>\n</div>\n";
module.exports = "<script type=\"text/ng-template\" id=\"todoItemTemplate\">\n <div ui-tree-handle class=\"tree-node tree-node-content\">\n <input type=\"checkbox\"\n ng-hide=\"showSkipped\"\n ng-model=\"todo.completed\"\n ng-change=\"updateTodo(todo)\">\n <label ng-class=\"{'text-danger': isInDanger(todo)}\">\n <span ng-click=\"toggle(this)\">\n <i aria-hidden=\"true\" ng-if=\"todo.items && todo.items.length > 0\" data-nodrag\n class=\"fa\"\n ng-class=\"{\n 'skipped-todos': showSkipped,\n 'fa-caret-right': collapsed,\n 'fa-caret-down': !collapsed\n }\"></i>\n <i class=\"fa fa-circle-o\" aria-hidden=\"true\" ng-if=\"(!todo.items || todo.items.length === 0) && showSkipped\" data-nodrag></i>\n <span ng-hide=\"!todo.items || todo.items.length < 1 || showSkipped\">[{{ ( todo.items | filter: { completed: true, skipped_datetime: '!' } ).length }}/{{ ( todo.items | filter: { skipped_datetime: '!' } ).length }}] </span>\n <span class=\"todo__role\">{{steps[taskSlugs[todo.task]].name}}:&nbsp;</span>\n <span class=\"todo__description\" ng-bind-html=\"todo.description\"></span>\n <span ng-class=\"{'todo__dates': true, 'todo__dates-danger': isInDanger(todo)}\">\n <span ng-if=\"isNonEmptyString(todo.start_by_datetime)\">\n Start <datetime-display datetime=\"todo.start_by_datetime\" show-time=\"true\"/>\n </span>\n <span ng-if=\"isNonEmptyString(todo.start_by_datetime) && isNonEmptyString(todo.due_datetime)\" class=\"todo__dates-separator\">|</span>\n <span ng-if=\"isNonEmptyString(todo.due_datetime)\">\n Due <datetime-display datetime=\"todo.due_datetime\" show-time=\"true\"/></span>\n </span>\n </span>\n <span ng-if=\"todoList.templates.length > 0\">\n &nbsp;&nbsp;\n <a href=\"#\" ng-hide=\"!showSkipped\" ng-click=\"unskipTodo(todo)\">[add]</a>\n <a href=\"#\" ng-hide=\"showSkipped\" ng-click=\"skipTodo(todo)\">[skip]</a>\n <a href=\"#\" ng-hide=\"todo.parent_todo\" ng-click=\"removeTodo(todo)\">[remove]</a>\n </span>\n </label>\n </div>\n <ol ui-tree-nodes ng-model=\"todo.items\" ng-class=\"{hidden: collapsed}\">\n <li ng-repeat=\"todo in filterTodoList(todo.items, showSkipped)\" ui-tree-node data-collapsed=\"true\" ng-include=\"'todoItemTemplate'\"></li>\n </ol>\n</script>\n\n\n<div class=\"list-by-status\" ng-if=\"todos.length > 0\">\n <div class=\"todo\">\n <div ui-tree data-drag-enabled=\"false\" id=\"tree-root\">\n <ol ui-tree-nodes ng-model=\"todos\">\n <li ng-repeat=\"todo in filterTodoList(todos, showSkipped)\" ui-tree-node data-collapsed=\"true\" ng-include=\"'todoItemTemplate'\"></li>\n </ol>\n </div>\n </div>\n</div>\n";

/***/ }),
/* 213 */
Expand Down
2 changes: 1 addition & 1 deletion orchestra/static/orchestra/todos/todo-checklist.html
Expand Up @@ -26,7 +26,7 @@
Due <datetime-display datetime="todo.due_datetime" show-time="true"/></span>
</span>
</span>
<span>
<span ng-if="todoList.templates.length > 0">
&nbsp;&nbsp;
<a href="#" ng-hide="!showSkipped" ng-click="unskipTodo(todo)">[add]</a>
<a href="#" ng-hide="showSkipped" ng-click="skipTodo(todo)">[skip]</a>
Expand Down
4 changes: 2 additions & 2 deletions orchestra/static/orchestra/todos/todo-list.directive.es6.js
Expand Up @@ -91,8 +91,8 @@ export default function todoList (orchestraApi) {
}

todoList.removeTodo = (todo) => {
var index = todoList.todos.indexOf(todo);
todoList.todos.splice(index, 1);
var index = todoList.todos.indexOf(todo)
todoList.todos.splice(index, 1)
todoApi.delete(todo)
}

Expand Down
4 changes: 2 additions & 2 deletions orchestra/static/orchestra/todos/todo-list.html
Expand Up @@ -51,7 +51,7 @@ <h3>
Add todo
</button>
</div>
<div class="col-lg-2">
<div class="col-lg-2" ng-if="todoList.templates.length > 0">
<div class="btn-group">
<button type="button" class="btn btn-primary btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"
ng-disabled="!todoList.newTodoTaskId">
Expand Down Expand Up @@ -84,7 +84,7 @@ <h3>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-12">
<div class="todolist-pane">
<div class="todolist-pane" ng-if="todoList.templates.length > 0">
<p class="todolist-pane__heading col-sm-4">Skipped todo items</p>
<todo-checklist
title="Todos"
Expand Down
8 changes: 8 additions & 0 deletions orchestra/todos/views.py
Expand Up @@ -98,3 +98,11 @@ class TodoListTemplateList(generics.ListCreateAPIView):

serializer_class = TodoListTemplateSerializer
queryset = TodoListTemplate.objects.all()

def get_queryset(self):
if self.request.user.groups.filter(name='todolist_feature').exists():
queryset = TodoListTemplate.objects.all()
queryset = queryset.order_by('-created_at')
else:
queryset = TodoListTemplate.objects.none()
return queryset

0 comments on commit 21a6bef

Please sign in to comment.