mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-27 12:28:48 +01:00
Merge pull request #1875 from C-Otto/tracks-1836
(2.3) Provide data needed for partial views
This commit is contained in:
commit
ebec4f089d
5 changed files with 23 additions and 5 deletions
|
|
@ -434,6 +434,8 @@ class TodosController < ApplicationController
|
|||
end
|
||||
|
||||
|
||||
provide_project_or_context_for_view
|
||||
|
||||
# this is set after save and cleared after reload, so save it here
|
||||
@removed_predecessors = @todo.removed_predecessors
|
||||
|
||||
|
|
@ -466,6 +468,15 @@ class TodosController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def provide_project_or_context_for_view
|
||||
# see application_helper:source_view_key, used in shown partials
|
||||
if source_view_is :project
|
||||
@project = @todo.project
|
||||
elsif source_view_is :context
|
||||
@context = @todo.context
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
@source_view = params['_source_view'] || 'todo'
|
||||
@todo = current_user.todos.find(params['id'])
|
||||
|
|
|
|||
|
|
@ -513,7 +513,7 @@ module TodosHelper
|
|||
def update_needs_to_remove_todo_from_container
|
||||
source_view do |page|
|
||||
page.context { return @context_changed || @todo_deferred_state_changed || @todo_pending_state_changed || @todo_should_be_hidden }
|
||||
page.project { return @todo_deferred_state_changed || @todo_pending_state_changed || @project_changed}
|
||||
page.project { return @context_changed || @todo_deferred_state_changed || @todo_pending_state_changed || @project_changed}
|
||||
page.deferred { return todo_moved_out_of_container || !(@todo.deferred? || @todo.pending?) }
|
||||
page.calendar { return @due_date_changed || !@todo.due }
|
||||
page.stats { return @todo.completed? }
|
||||
|
|
@ -547,7 +547,7 @@ module TodosHelper
|
|||
def append_updated_todo
|
||||
source_view do |page|
|
||||
page.context { return @todo_deferred_state_changed || @todo_pending_state_changed }
|
||||
page.project { return @todo_deferred_state_changed || @todo_pending_state_changed }
|
||||
page.project { return @context_changed || @todo_deferred_state_changed || @todo_pending_state_changed }
|
||||
page.deferred { return todo_moved_out_of_container && (@todo.deferred? || @todo.pending?) }
|
||||
page.calendar { return @due_date_changed && @todo.due }
|
||||
page.stats { return false }
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ function show_empty_messages() {
|
|||
}
|
||||
|
||||
function remove_todo_from_page() {
|
||||
<% if (@remaining_in_context == 0) && update_needs_to_hide_container
|
||||
<% if update_needs_to_hide_container
|
||||
# remove context with deleted todo
|
||||
-%>
|
||||
$('#<%=item_container_id(@todo)%>').fadeOut(400, function() {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ var <%= object_name %> = {
|
|||
redirect_to(path);
|
||||
},
|
||||
remove_todo: function(next_steps) {
|
||||
<% if (@remaining_in_context == 0) && update_needs_to_hide_container
|
||||
<% if update_needs_to_hide_container
|
||||
# remove context with deleted todo
|
||||
-%>
|
||||
$('#<%= item_container_id(@original_item)%>').slideUp(400, function() {
|
||||
|
|
|
|||
|
|
@ -326,7 +326,14 @@ Feature: Edit a next action from every page
|
|||
Given I have a deferred todo "moving" in context "@pc" with tags "tag"
|
||||
When I go to the tickler page
|
||||
And I edit the context of "moving" to "@new"
|
||||
And I should see the container for context "@new"
|
||||
Then I should see the container for context "@new"
|
||||
|
||||
@javascript
|
||||
Scenario: Editing the context of a todo in the project view to a new context will show new context
|
||||
Given I have a todo "something" in the context "@pc" in the project "project"
|
||||
When I go to the "project" project page
|
||||
And I edit the context of "something" to "@new"
|
||||
Then I should see the container for context "@new"
|
||||
|
||||
@javascript
|
||||
Scenario: Making an error when editing a todo will show error message
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue