updating entries from overlay

This commit is contained in:
Jens Kraemer
2020-05-08 16:56:49 +08:00
parent 30bcd5ff8c
commit 5653845c28
5 changed files with 24 additions and 9 deletions

View File

@@ -1,6 +1,8 @@
# weiter
#
# - update title / menu item after starting new entry
# - update time entry row after context menu stop (reflect saved time)
# - 0:60 anstelle 1:00? Redmine-bug?
#
# - remember last activity, preselect that in 'new' form
# - same for project, unless we are in a project context
@@ -39,8 +41,11 @@ class StopwatchTimersController < ApplicationController
end
def update
# todo update entry
if params[:continue]
@time_entry.safe_attributes = params[:time_entry]
@success = @time_entry.save
if !@success
edit
elsif params[:continue]
new
end
end
@@ -89,8 +94,12 @@ class StopwatchTimersController < ApplicationController
end
def new_time_entry
TimeEntry.new(project: @project, issue: @issue,
user: User.current, spent_on: User.current.today)
entry = TimeEntry.new(project: @project, issue: @issue,
user: User.current, spent_on: User.current.today)
if entry.respond_to?(:author=) # Redmine 4
entry.author = User.current
end
entry
end
def find_optional_data

View File

@@ -2,9 +2,9 @@
<% time_entry = @time_entries.first %>
<li>
<% if User.current.is_running_timer? time_entry %>
<%= context_menu_link l(:label_stopwatch_stop), stop_stopwatch_timer_path(time_entry, context: '1'), class: 'icon-time', remote: true, method: :put %>
<%= context_menu_link l(:label_stopwatch_stop), stop_stopwatch_timer_path(time_entry, context: '1'), class: 'icon icon-time', remote: true, method: :put %>
<% else %>
<%= context_menu_link l(:label_stopwatch_start), start_stopwatch_timer_path(time_entry, context: '1'), class: 'icon-time', remote: true, method: :put %>
<%= context_menu_link l(:label_stopwatch_start), start_stopwatch_timer_path(time_entry, context: '1'), class: 'icon icon-time', remote: true, method: :put %>
<% end %>
</li>
<% end %>

View File

@@ -1 +1,4 @@
hideModal();
window.stopwatch.highlightRunningTimer(
<%= raw Stopwatch::Timer.new(User.current).to_json %>
);

View File

@@ -1,5 +1,9 @@
hideModal();
<% if @success %>
hideModal();
<% else %>
$('#ajax-modal').html('<%= j render partial: 'stopwatch_timers/edit' %>');
<% end %>
<% if params[:continue] %>
$('#ajax-modal').html('<%= j render partial: 'stopwatch_timers/new' %>');
showModal('ajax-modal', '600px');
showModal('ajax-modal', '700px');
<% end %>