mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-28 12:58:48 +01:00
Merge branch 'master' of git://github.com/bsag/tracks into bsag
This commit is contained in:
commit
0a889177b9
33 changed files with 1126 additions and 1018 deletions
|
|
@ -7,7 +7,7 @@ class LoginController < ApplicationController
|
|||
before_filter :login_optional
|
||||
before_filter :get_current_user
|
||||
|
||||
protect_from_forgery :except => :check_expiry
|
||||
protect_from_forgery :except => [:check_expiry, :login]
|
||||
|
||||
if ( SITE_CONFIG['authentication_schemes'].include? 'cas')
|
||||
# This will allow the user to view the index page without authentication
|
||||
|
|
|
|||
|
|
@ -107,6 +107,7 @@ class TodosController < ApplicationController
|
|||
end
|
||||
|
||||
@todo.reload if @saved
|
||||
@todo_was_created_deferred = @todo.deferred?
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to :action => "index" }
|
||||
|
|
@ -415,7 +416,8 @@ class TodosController < ApplicationController
|
|||
@original_item_due = @todo.due
|
||||
@context_id = @todo.context_id
|
||||
@project_id = @todo.project_id
|
||||
|
||||
@todo_was_destroyed_from_deferred_state = @todo.deferred?
|
||||
|
||||
# activate successors if they only depend on this todo
|
||||
activated_successor_count = 0
|
||||
@pending_to_activate = []
|
||||
|
|
|
|||
|
|
@ -234,7 +234,9 @@ module TodosHelper
|
|||
}
|
||||
page.project {
|
||||
return (@todo.active? && @todo.project && @todo.project.id == @default_project.id) ||
|
||||
(@todo.project.hidden? && @todo.project_hidden?) || @todo.deferred? || @todo.pending?
|
||||
(@todo.project.hidden? && @todo.project_hidden?) ||
|
||||
( @todo.deferred? && (@todo.project.id == @default_project.id) ) ||
|
||||
@todo.pending?
|
||||
}
|
||||
end
|
||||
|
||||
|
|
@ -354,11 +356,11 @@ module TodosHelper
|
|||
|
||||
source_view do |page|
|
||||
page.project {
|
||||
return "tickler-empty-nd" if @todo_was_deferred_from_active_state || @todo_was_blocked_from_active_state
|
||||
return "tickler-empty-nd" if @todo_was_deferred_from_active_state || @todo_was_blocked_from_active_state || @todo_was_destroyed_from_deferred_state || @todo_was_created_deferred
|
||||
return "p#{todo.project_id}empty-nd"
|
||||
}
|
||||
page.tag {
|
||||
return "tickler-empty-nd" if @todo_was_deferred_from_active_state
|
||||
return "tickler-empty-nd" if @todo_was_deferred_from_active_state || @todo_was_destroyed_from_deferred_state || @todo_was_created_deferred
|
||||
return "hidden-empty-nd" if @todo.hidden?
|
||||
return "c#{todo.context_id}empty-nd"
|
||||
}
|
||||
|
|
@ -389,7 +391,10 @@ module TodosHelper
|
|||
(@original_item_was_deferred && @remaining_deferred_or_pending_count == 0 && (@todo.completed? || @tag_was_removed))
|
||||
container_id = "empty-d" if @completed_count && @completed_count == 0 && !@todo.completed?
|
||||
}
|
||||
page.context { container_id = "c#{@original_item_context_id}empty-nd" if @remaining_in_context == 0 }
|
||||
page.context {
|
||||
container_id = "c#{@original_item_context_id}empty-nd" if @remaining_in_context == 0
|
||||
container_id = "empty-d" if @completed_count && @completed_count == 0 && !@todo.completed?
|
||||
}
|
||||
page.todo { container_id = "c#{@original_item_context_id}empty-nd" if @remaining_in_context == 0 }
|
||||
end
|
||||
return container_id.blank? ? "" : "$(\"##{container_id}\").slideDown(100);"
|
||||
|
|
@ -402,7 +407,7 @@ module TodosHelper
|
|||
html += step + "({ go: function() {\r\n"
|
||||
end
|
||||
end
|
||||
html += "}}) " * animation.count
|
||||
html += "}}) " * animation.size
|
||||
return html + ";"
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<%= stylesheet_link_tag "scaffold" %>
|
||||
<%= javascript_include_tag 'jquery-1.5.1.min', 'jquery.cookie' %>
|
||||
<%= javascript_include_tag 'jquery-1.5.2.min', 'jquery.cookie' %>
|
||||
|
||||
<title><%= @page_title -%></title>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<%= stylesheet_link_tag 'standard','superfish','niftyCorners', 'jquery-ui-1.8.11.custom', :cache => 'tracks-cached' %>
|
||||
<%= stylesheet_link_tag "print", :media => "print" %>
|
||||
<%= javascript_include_tag 'jquery-1.5.1.min', 'jquery-ui-1.8.11.custom.min',
|
||||
<%= javascript_include_tag 'jquery-1.5.2.min', 'jquery-ui-1.8.11.custom.min',
|
||||
'jquery.truncator','jquery.jeditable.mini', 'jquery.cookie', 'jquery.blockUI',
|
||||
'jquery.form','jquery.ui.autocomplete.selectFirst',
|
||||
'jquery.form',
|
||||
:cache => 'jquery-cached' %>
|
||||
<%= javascript_tag_for_i18n_datepicker %>
|
||||
<%= javascript_include_tag 'hoverIntent','superfish','application',
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
s
|
||||
end
|
||||
|
||||
def row_with_select_field(pref_name, collection = [true,false], nowrap_label = false)
|
||||
def row_with_select_field(pref_name, collection = [ [t('preferences.is_true'),true], [t('preferences.is_false'), false] ], nowrap_label = false)
|
||||
table_row(pref_name, nowrap_label) { select('prefs', pref_name, collection) }
|
||||
end
|
||||
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
<%= row_with_select_field("show_project_on_todo_done") %>
|
||||
|
||||
<% if current_user.is_admin? %> <%= row_with_text_field('admin_email') %> <% end %>
|
||||
<%= row_with_text_field('staleness_starts', true) %>
|
||||
<%= row_with_text_field('staleness_starts', false) %>
|
||||
<%= row_with_text_field('show_number_completed') %>
|
||||
<%= row_with_text_field('refresh') %>
|
||||
<%= row_with_select_field("verbose_action_descriptors") %>
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
<div id="todo_multi_add" style="display:none">
|
||||
<% form_for(todo, :html=> { :id=>'todo-form-multi-new-action', :name=>'todo', :class => 'inline-form' }) do |t| %>
|
||||
<input id="default_project_name_id" name="default_project_name" type="hidden" value="<%=@initial_project_name-%>" />
|
||||
<input id="default_context_name_id" name="default_context_name" type="hidden" value="<%=@initial_context_name-%>" />
|
||||
<input id="default_project_name_id" name="default_project_name" type="hidden" value="<%=h @initial_project_name-%>" />
|
||||
<input id="default_context_name_id" name="default_context_name" type="hidden" value="<%=h @initial_context_name-%>" />
|
||||
|
||||
<div id="multiple_error_status"><%= error_messages_for("item", :object_name => 'action') %></div>
|
||||
|
||||
|
|
@ -11,11 +11,11 @@
|
|||
<%= text_area_tag( "todo[multiple_todos]", "", :cols => 29, :rows => 6, :tabindex => 2) %>
|
||||
|
||||
<label for="todo_project_name"><%= t('shared.project_for_all_actions') %></label>
|
||||
<input id="multi_todo_project_name" name="project_name" autocomplete="off" tabindex="3" size="30" type="text" value="<%= @initial_project_name %>" />
|
||||
<input id="multi_todo_project_name" name="project_name" autocomplete="off" tabindex="3" size="30" type="text" value="<%=h @initial_project_name %>" />
|
||||
<div class="page_name_auto_complete" id="project_list" style="display:none"></div>
|
||||
|
||||
<label for="todo_context_name"><%= t('shared.context_for_all_actions') %></label>
|
||||
<input id="multi_todo_context_name" name="context_name" autocomplete="off" tabindex="4" size="30" type="text" value="<%= @initial_context_name %>" />
|
||||
<input id="multi_todo_context_name" name="context_name" autocomplete="off" tabindex="4" size="30" type="text" value="<%=h @initial_context_name %>" />
|
||||
<div class="page_name_auto_complete" id="context_list" style="display:none"></div>
|
||||
|
||||
<label for="tag_list"><%= t('shared.tags_for_all_actions') %></label>
|
||||
|
|
|
|||
|
|
@ -31,8 +31,10 @@ function insert_new_context_with_new_todo() {
|
|||
|
||||
function add_todo_to_existing_context() {
|
||||
<% if source_view_is_one_of(:todo, :deferred, :tag) -%>
|
||||
$('#c<%= @todo.context_id %>').fadeIn(500, function() {});
|
||||
$('#no_todos_in_view').slideUp(100);
|
||||
<% unless source_view_is_one_of(:todo, :tag) && @todo.deferred? -%>
|
||||
$('#c<%= @todo.context_id %>').fadeIn(500, function() {});
|
||||
$('#no_todos_in_view').slideUp(100);
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
$('#<%=empty_container_msg_div_id%>').hide();
|
||||
$('#<%=item_container_id(@todo)%>').append(html_for_new_todo());
|
||||
|
|
|
|||
|
|
@ -26,9 +26,9 @@ function set_notification() {
|
|||
|
||||
function clear_form() {
|
||||
$('#todo-form-multi-new-action').clearForm();
|
||||
TracksForm.set_context_name_for_multi_add('<%=@initial_context_name%>');
|
||||
TracksForm.set_project_name_for_multi_add('<%=@initial_project_name%>');
|
||||
TracksForm.set_tag_list_for_multi_add('<%=@default_tags%>');
|
||||
TracksForm.set_context_name_for_multi_add('<%=escape_javascript @initial_context_name%>');
|
||||
TracksForm.set_project_name_for_multi_add('<%=escape_javascript @initial_project_name%>');
|
||||
TracksForm.set_tag_list_for_multi_add('<%=escape_javascript @default_tags%>');
|
||||
$('#todo-form-multi-new-action input:text:first').focus();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,18 +31,20 @@ function show_empty_messages() {
|
|||
}
|
||||
|
||||
function remove_todo_from_page() {
|
||||
<% if (@remaining_in_context == 0)
|
||||
<% if (@remaining_in_context == 0) && update_needs_to_hide_context
|
||||
# remove context with deleted todo
|
||||
-%>
|
||||
$('#c<%=@todo.context_id%>').fadeOut(1000, function() {
|
||||
$('#c<%=@todo.context_id%>').fadeOut(400, function() {
|
||||
$('#<%=dom_id(@todo)%>').remove();
|
||||
});
|
||||
<% else
|
||||
<%= show_empty_message_in_source_container -%>
|
||||
<% else
|
||||
# remove only the todo
|
||||
-%>
|
||||
$('#<%=dom_id(@todo)%>').slideUp(1000, function() {
|
||||
<%= show_empty_message_in_source_container %>
|
||||
$('#<%=dom_id(@todo)%>').slideUp(400, function() {
|
||||
$('#<%=dom_id(@todo)%>').remove();
|
||||
});
|
||||
});
|
||||
<% end -%>
|
||||
}
|
||||
|
||||
|
|
@ -54,7 +56,7 @@ function show_new_todo_if_todo_was_recurring() {
|
|||
$('#<%= dom_id(@new_recurring_todo, 'line')%>').effect('highlight', {}, 2000 );
|
||||
TracksPages.page_notify('notice', "<%=t('todos.recurring_action_deleted')%>", 5);
|
||||
<% else -%>
|
||||
<% if @todo.recurring_todo.todos.active.count == 0 && @new_recurring_todo.nil? -%>
|
||||
<% if @todo.recurring_todo.todos.active.count(:all) == 0 && @new_recurring_todo.nil? -%>
|
||||
TracksPages.page_notify('notice', "<%=t('todos.completed_recurrence_completed')%>", 5);
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
|
|
@ -88,4 +90,4 @@ function html_for_new_recurring_todo() {
|
|||
|
||||
<% end
|
||||
# if @saved
|
||||
-%>
|
||||
-%>
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ function remove_todo(next_steps) {
|
|||
|
||||
function add_to_completed_container(next_steps) {
|
||||
<% unless current_user.prefs.hide_completed_actions? -%>
|
||||
$('#<%= item_container_id(@todo) %>').append(html_for_todo());
|
||||
$('#<%= item_container_id(@todo) %>').prepend(html_for_todo());
|
||||
$("#empty-d").slideUp(100);
|
||||
highlight_updated_todo(next_steps);
|
||||
<% end -%>
|
||||
|
|
@ -76,7 +76,7 @@ function add_new_recurring_todo(next_steps) {
|
|||
highlight_updated_recurring_todo(next_steps);
|
||||
});
|
||||
<% else
|
||||
if @todo.recurring_todo.todos.active.count == 0 && @new_recurring_todo.nil? -%>
|
||||
if @todo.recurring_todo.todos.active.count(:all) == 0 && @new_recurring_todo.nil? -%>
|
||||
TracksPages.page_notify('notice', "<%=t('todos.recurrence_completed')%>", 6);
|
||||
<% end -%>
|
||||
next_steps.go();
|
||||
|
|
@ -158,9 +158,13 @@ function remove_source_container(next_steps) {
|
|||
}
|
||||
|
||||
function html_for_todo() {
|
||||
return "<%= @saved ? escape_javascript(render(:partial => @todo, :locals => { :parent_container_type => "completed" })) : "" %>";
|
||||
return "<%= @saved ? escape_javascript(render(:partial => @todo, :locals => {
|
||||
:parent_container_type => parent_container_type,
|
||||
:suppress_project => source_view_is(:project),
|
||||
:suppress_context => source_view_is(:context)
|
||||
})) : "" %>";
|
||||
}
|
||||
|
||||
function html_for_recurring_todo() {
|
||||
return "<%= @saved ? escape_javascript(render(:partial => @new_recurring_todo, :locals => { :parent_container_type => parent_container_type })) : "" %>";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,99 @@
|
|||
---
|
||||
de:
|
||||
common:
|
||||
back: "Zur\xC3\xBCck"
|
||||
actions: Aktionen
|
||||
third: Dritte
|
||||
go_back: "Zur\xC3\xBCck"
|
||||
add: "Hinzuf\xC3\xBCgen"
|
||||
logout: Abmelden
|
||||
none: Keine
|
||||
cancel: Abbrechen
|
||||
optional: optional
|
||||
second: Zweite
|
||||
notes: Notizen
|
||||
server_error: Auf dem Server ist ein Fehler aufgetreten.
|
||||
forum: Forum
|
||||
action: Aktion
|
||||
last: Letzte
|
||||
projects: Projekte
|
||||
project: Projekt
|
||||
ok: Ok
|
||||
contribute: Mitwirken
|
||||
numbered_step: Schritt %{number}
|
||||
first: Erste
|
||||
website: Website
|
||||
drag_handle: Verschieben
|
||||
sort:
|
||||
by_task_count_title: Nach Anzahl der Aufgaben sortieren
|
||||
by_task_count_title_confirm: Sollen diese Projekte wirklich nach Anzahl der Aufgaben sortiert werden? Die bisherige Sortier-Reihenfolge wird damit überschrieben.
|
||||
alphabetically: Alphabetisch
|
||||
sort: Sortieren
|
||||
alphabetically_title: Projekte alphabetisch sortieren
|
||||
alphabetically_confirm: Sollen diese Projekte wirklich alphabetisch sortiert werden? Die bisherige Sortier-Reihenfolge wird damit überschrieben.
|
||||
by_task_count: Nach Anzahl der Aufgaben
|
||||
create: Erstellen
|
||||
contexts: Kontexte
|
||||
fourth: Vierte
|
||||
context: Kontext
|
||||
errors_with_fields: "Mit folgenden Feldern sind Probleme aufgetreten:"
|
||||
description: Beschreibung
|
||||
update: Aktualisieren
|
||||
bugs: Bugs
|
||||
wiki: Wiki
|
||||
ajaxError: Fehler beim Empfangen vom Server
|
||||
email: E-Mail
|
||||
search: Suchen
|
||||
layouts:
|
||||
toggle_notes: Notizen umschalten
|
||||
next_actions_rss_feed: RSS-Feed kommende Aufgaben
|
||||
toggle_notes_title: Alle Notizen umschalten
|
||||
mobile_navigation:
|
||||
logout: Abmelden
|
||||
feeds: Feeds
|
||||
new_action: 0-Neue Aufgabe
|
||||
starred: 4-Markiert
|
||||
projects: 3-Projekte
|
||||
tickler: Notizbuch
|
||||
contexts: 2-Kontexte
|
||||
home: 1-Home
|
||||
navigation:
|
||||
recurring_todos: Sich wiederholende To-Dos
|
||||
manage_users_title: "Benutzer hinzuf\xC3\xBCgen oder entfernen"
|
||||
api_docs: REST API Docs
|
||||
feeds: Feeds
|
||||
starred: Markiert
|
||||
notes_title: Alle Notizen anzeigen
|
||||
stats: Statistiken
|
||||
tickler_title: Notizbuch
|
||||
manage_users: Benutzer verwalten
|
||||
preferences: Einstellungen
|
||||
export_title: Daten importieren und exportieren
|
||||
integrations_: Tracks integrieren
|
||||
calendar_title: "Kalender mit \xC3\xBCberf\xC3\xA4lligen Aufgaben"
|
||||
feeds_title: "Liste der verf\xC3\xBCgbaren Feeds anzeigen"
|
||||
recurring_todos_title: Sich wiederholende To-Dos verwalten
|
||||
completed_tasks: Erledigt
|
||||
stats_title: Statistiken anzeigen
|
||||
tickler: Notizbuch
|
||||
home_title: Start
|
||||
starred_title: Markierte Aufgaben betrachten
|
||||
organize: Organisieren
|
||||
view: Betrachten
|
||||
completed_tasks_title: "Vollst\xC3\xA4ndig"
|
||||
home: Start
|
||||
export: Export
|
||||
contexts_title: Kontexte
|
||||
projects_title: Projekte
|
||||
preferences_title: Meine Einstellungen
|
||||
calendar: Kalender
|
||||
search: "Alle Eintr\xC3\xA4ge durchsuchen"
|
||||
integrations:
|
||||
opensearch_description: In Tracks suchen
|
||||
gmail_description: "Gadget, um Tracks als Gadget zu Googlemail hinzuzuf\xC3\xBCgen"
|
||||
applescript_next_action_prompt: "Beschreibung der n\xC3\xA4chsten Aufgabe:"
|
||||
applescript_success_after_id: erstellt
|
||||
applescript_success_before_id: "N\xC3\xA4chste neue Aufgabe mit ID"
|
||||
number:
|
||||
format:
|
||||
separator: ","
|
||||
|
|
@ -22,9 +116,6 @@ de:
|
|||
percentage:
|
||||
format:
|
||||
delimiter: ""
|
||||
precision:
|
||||
format:
|
||||
delimiter: ""
|
||||
currency:
|
||||
format:
|
||||
format: "%n%u"
|
||||
|
|
@ -34,100 +125,9 @@ de:
|
|||
separator: .
|
||||
precision:
|
||||
delimiter: ","
|
||||
integrations:
|
||||
opensearch_description: In Tracks suchen
|
||||
gmail_description: "Gadget, um Tracks als Gadget zu Googlemail hinzuzuf\xC3\xBCgen"
|
||||
applescript_next_action_prompt: "Beschreibung der n\xC3\xA4chsten Aufgabe:"
|
||||
applescript_success_after_id: erstellt
|
||||
applescript_success_before_id: "N\xC3\xA4chste neue Aufgabe mit ID"
|
||||
common:
|
||||
third: Dritte
|
||||
actions: Aktionen
|
||||
back: "Zur\xC3\xBCck"
|
||||
add: "Hinzuf\xC3\xBCgen"
|
||||
logout: Abmelden
|
||||
go_back: "Zur\xC3\xBCck"
|
||||
none: Keine
|
||||
second: Zweite
|
||||
cancel: Abbrechen
|
||||
optional: optional
|
||||
notes: Notizen
|
||||
server_error: Auf dem Server ist ein Fehler aufgetreten.
|
||||
forum: Forum
|
||||
last: Letzte
|
||||
action: Aktion
|
||||
projects: Projekte
|
||||
project: Projekt
|
||||
ok: Ok
|
||||
contribute: Mitwirken
|
||||
first: Erste
|
||||
numbered_step: Schritt %{number}
|
||||
website: Website
|
||||
context: Kontext
|
||||
fourth: Vierte
|
||||
errors_with_fields: "Mit folgenden Feldern sind Probleme aufgetreten:"
|
||||
sort:
|
||||
by_task_count_title: Nach Anzahl der Aufgaben sortieren
|
||||
by_task_count_title_confirm: Sollen diese Projekte wirklich nach Anzahl der Aufgaben sortiert werden? Die bisherige Sortier-Reihenfolge wird damit überschrieben.
|
||||
alphabetically: Alphabetisch
|
||||
alphabetically_title: Projekte alphabetisch sortieren
|
||||
sort: Sortieren
|
||||
alphabetically_confirm: Sollen diese Projekte wirklich alphabetisch sortiert werden? Die bisherige Sortier-Reihenfolge wird damit überschrieben.
|
||||
by_task_count: Nach Anzahl der Aufgaben
|
||||
create: Erstellen
|
||||
drag_handle: Verschieben
|
||||
description: Beschreibung
|
||||
contexts: Kontexte
|
||||
update: Aktualisieren
|
||||
bugs: Bugs
|
||||
wiki: Wiki
|
||||
email: E-Mail
|
||||
ajaxError: Fehler beim Empfangen vom Server
|
||||
search: Suchen
|
||||
layouts:
|
||||
toggle_notes: Notizen umschalten
|
||||
next_actions_rss_feed: RSS-Feed kommende Aufgaben
|
||||
toggle_notes_title: Alle Notizen umschalten
|
||||
mobile_navigation:
|
||||
logout: Abmelden
|
||||
feeds: Feeds
|
||||
new_action: 0-Neue Aufgabe
|
||||
starred: 4-Markiert
|
||||
projects: 3-Projekte
|
||||
tickler: Notizbuch
|
||||
contexts: 2-Kontexte
|
||||
home: 1-Home
|
||||
navigation:
|
||||
recurring_todos: Sich wiederholende To-Dos
|
||||
manage_users_title: "Benutzer hinzuf\xC3\xBCgen oder entfernen"
|
||||
api_docs: REST API Docs
|
||||
feeds: Feeds
|
||||
notes_title: Alle Notizen anzeigen
|
||||
stats: Statistiken
|
||||
starred: Markiert
|
||||
tickler_title: Notizbuch
|
||||
manage_users: Benutzer verwalten
|
||||
export_title: Daten importieren und exportieren
|
||||
integrations_: Tracks integrieren
|
||||
preferences: Einstellungen
|
||||
calendar_title: "Kalender mit \xC3\xBCberf\xC3\xA4lligen Aufgaben"
|
||||
feeds_title: "Liste der verf\xC3\xBCgbaren Feeds anzeigen"
|
||||
stats_title: Statistiken anzeigen
|
||||
home_title: Start
|
||||
starred_title: Markierte Aufgaben betrachten
|
||||
recurring_todos_title: Sich wiederholende To-Dos verwalten
|
||||
tickler: Notizbuch
|
||||
completed_tasks: Erledigt
|
||||
view: Betrachten
|
||||
organize: Organisieren
|
||||
completed_tasks_title: "Vollst\xC3\xA4ndig"
|
||||
export: Export
|
||||
contexts_title: Kontexte
|
||||
home: Start
|
||||
projects_title: Projekte
|
||||
preferences_title: Meine Einstellungen
|
||||
calendar: Kalender
|
||||
search: "Alle Eintr\xC3\xA4ge durchsuchen"
|
||||
precision:
|
||||
format:
|
||||
delimiter: ""
|
||||
models:
|
||||
project:
|
||||
feed_title: Tracks-Projekte
|
||||
|
|
@ -160,44 +160,44 @@ de:
|
|||
description: Beschreibung
|
||||
due: Fällig
|
||||
preference:
|
||||
sms_context: Standard-E-Mail-Kontext
|
||||
mobile_todos_per_page: Aufgaben pro Seite (Mobile Version)
|
||||
sms_context: Standard-E-Mail-Kontext
|
||||
refresh: Aktualisierungsintverall (in Minuten)
|
||||
week_starts: Woche startet am
|
||||
sms_email: Per E-Mail
|
||||
show_project_on_todo_done: Zur Projektseite wechseln, wenn To-Do abgeschlossen
|
||||
sms_email: Per E-Mail
|
||||
user:
|
||||
last_name: Nachname
|
||||
first_name: Vorname
|
||||
errors:
|
||||
messages:
|
||||
greater_than_or_equal_to: "muss gr\xC3\xB6\xC3\x9Fer oder gleich %{count} sein"
|
||||
record_invalid: "Validierung fehlgeschlagen: %{Fehler}"
|
||||
confirmation: "stimmt nicht mit der Best\xC3\xA4tigung \xC3\xBCberein"
|
||||
less_than_or_equal_to: muss kleiner oder gleich %{count} sein
|
||||
blank: "muss ausgef\xC3\xBCllt werden"
|
||||
exclusion: "ist nicht verf\xC3\xBCgbar"
|
||||
invalid: "ist nicht g\xC3\xBCltig"
|
||||
odd: muss ungerade sein
|
||||
empty: "muss ausgef\xC3\xBCllt werden"
|
||||
wrong_length: "hat die falsche L\xC3\xA4nge (muss genau %{count} Zeichen haben)"
|
||||
even: muss gerade sein
|
||||
too_short: ist zu kurz (nicht weniger als %{count} Zeichen)
|
||||
less_than: muss kleiner als %{count} sein
|
||||
equal_to: muss genau %{count} sein
|
||||
greater_than: "muss gr\xC3\xB6\xC3\x9Fer als %{count} sein"
|
||||
taken: ist bereits vergeben
|
||||
accepted: muss akzeptiert werden
|
||||
too_long: ist zu lang (nicht mehr als %{count} Zeichen)
|
||||
not_a_number: ist keine Zahl
|
||||
inclusion: "ist kein g\xC3\xBCltiger Wert"
|
||||
models:
|
||||
project:
|
||||
attributes:
|
||||
name:
|
||||
blank: Projekt muss einen Namen haben
|
||||
taken: existiert bereits
|
||||
too_long: Projektname muss weniger als 256 Zeichen haben
|
||||
taken: existiert bereits
|
||||
messages:
|
||||
record_invalid: "Validierung fehlgeschlagen: %{Fehler}"
|
||||
greater_than_or_equal_to: "muss gr\xC3\xB6\xC3\x9Fer oder gleich %{count} sein"
|
||||
less_than_or_equal_to: muss kleiner oder gleich %{count} sein
|
||||
confirmation: "stimmt nicht mit der Best\xC3\xA4tigung \xC3\xBCberein"
|
||||
blank: "muss ausgef\xC3\xBCllt werden"
|
||||
invalid: "ist nicht g\xC3\xBCltig"
|
||||
exclusion: "ist nicht verf\xC3\xBCgbar"
|
||||
odd: muss ungerade sein
|
||||
too_short: ist zu kurz (nicht weniger als %{count} Zeichen)
|
||||
wrong_length: "hat die falsche L\xC3\xA4nge (muss genau %{count} Zeichen haben)"
|
||||
empty: "muss ausgef\xC3\xBCllt werden"
|
||||
even: muss gerade sein
|
||||
less_than: muss kleiner als %{count} sein
|
||||
equal_to: muss genau %{count} sein
|
||||
greater_than: "muss gr\xC3\xB6\xC3\x9Fer als %{count} sein"
|
||||
too_long: ist zu lang (nicht mehr als %{count} Zeichen)
|
||||
accepted: muss akzeptiert werden
|
||||
taken: ist bereits vergeben
|
||||
not_a_number: ist keine Zahl
|
||||
inclusion: "ist kein g\xC3\xBCltiger Wert"
|
||||
template:
|
||||
body: "Bitte \xC3\xBCberpr\xC3\xBCfen Sie die folgenden Felder:"
|
||||
header:
|
||||
|
|
@ -205,128 +205,36 @@ de:
|
|||
other: "Konnte dieses %{model} Objekt nicht speichern: %{count} Fehler."
|
||||
full_messages:
|
||||
format: "%{attribute} %{message}"
|
||||
stats:
|
||||
tag_cloud_90days_title: Tag-Cloud-Aktionen in den letzten 90 Tagen
|
||||
totals_active_project_count: Von diesen sind %{count} aktive Projekte
|
||||
actions: Aktionen
|
||||
tag_cloud_title: Tag-Cloud aller Aktionen
|
||||
tag_cloud_description: Diese Tag-Cloud beinhaltet Tags aller Aktionen (abgeschlossen, nicht abgeschlossen, sichtbar und/oder unsichtbar)
|
||||
totals_first_action: Seit deiner ersten Aktion am %{date}
|
||||
actions_avg_completion_time: Durchschnittlich hast du %{count} Tage gebraucht, um eine Aktion abzuschliessen.
|
||||
actions_last_year_legend:
|
||||
number_of_actions: Anzahl Aktionen
|
||||
months_ago: Monate zuvor
|
||||
top10_longrunning: "Top 10 der am l\xC3\xA4ngsten laufenden Projekte"
|
||||
actions_dow_30days_title: Wochentag (letzte 30 Tage)
|
||||
current_running_time_of_incomplete_visible_actions: "Aktuelle Laufzeit unvollst\xC3\xA4ndiger sichtbarer Aufgaben"
|
||||
running_time_legend:
|
||||
actions: Aufgaben
|
||||
percentage: Prozentsatz
|
||||
weeks: "Vergangene Zeit einer Aktion (Wochen). Klick auf eine Leiste f\xC3\xBCr mehr Informationen."
|
||||
totals_action_count: hattest du insgesamt %{count} Aktionen
|
||||
legend:
|
||||
number_of_days: Anzahl vergangene Tage
|
||||
actions: Aktionen
|
||||
number_of_actions: Anzahl Aktionen
|
||||
day_of_week: Wochentag
|
||||
running_time: Laufzeit einer Aktion (Wochen)
|
||||
percentage: Prozentsatz
|
||||
months_ago: Monate zuvor
|
||||
totals_deferred_actions: "von denen %{count} im Notizbuch zur\xC3\xBCckgestellt sind"
|
||||
totals_unique_tags: Von diesen Tags sind %{count} einmalig..
|
||||
actions_avg_completed_30days: und %{count} durchschnittlich davon erledigt.
|
||||
top5_contexts: Top 5 aller Kontexte
|
||||
actions_lastyear_title: Aktionen der letzten 12 Monate
|
||||
totals_actions_completed: "%{count} davon sind abgeschlossen."
|
||||
totals_incomplete_actions: "Du hast %{count} unvollst\xC3\xA4ndige Aktionen"
|
||||
totals_context_count: Du hast %{count} Kontexte.
|
||||
totals_visible_context_count: Von diesen sind %{count} sichtbare Kontexte
|
||||
totals_blocked_actions: "%{count} h\xC3\xA4ngen vom Abschluss anderer Aktionen ab."
|
||||
action_completion_time_title: Fertigstellungszeit (alle abgeschlossenen Aktionen)
|
||||
projects: Projekte
|
||||
actions_last_year: Aktionen im letzten Jahr
|
||||
totals_project_count: Du hast %{count} Projekte.
|
||||
actions_min_max_completion_days: "Das Minimum/Maximum an Tagen einer Vervollst\xC3\xA4ndigung ist %{min}/%{max}."
|
||||
actions_min_completion_time: "Die minimale Zeit betr\xC3\xA4gt %{time}."
|
||||
no_tags_available: "keine Tags verf\xC3\xBCgbar"
|
||||
tags: Tags
|
||||
actions_day_of_week_title: Wochentag (alle Aktionen)
|
||||
top5_visible_contexts_with_incomplete_actions: "Top 5 der sichtbaren Kontexte mit unvollst\xC3\xA4ndigen Aktionen"
|
||||
actions_further: und danach
|
||||
tod30: Tageszeit (letzte 30 Tage)
|
||||
tag_cloud_90days_description: Diese Tag-Cloud beinhaltet Tags der Aktionen, die in den letzten 90 Tagen erstellt oder abgeschlossen wurden.
|
||||
running_time_all: "Aktuelle Laufzeit aller unvollst\xC3\xA4ndigen Aktionen."
|
||||
totals_tag_count: Du hast %{count} Tags in Aktionen.
|
||||
time_of_day: Tageszeit (alle Aktionen)
|
||||
actions_30days_title: _Aktionen der letzten 30 Tage
|
||||
totals_hidden_project_count: "%{count} sind versteckt"
|
||||
more_stats_will_appear: "Weitere Statistiken werden verf\xC3\xBCgbar, wenn einige Aufgaben hinzugef\xC3\xBCgt wurden."
|
||||
actions_avg_created: In den letzten 12 Monaten hast du im Durchschnitt %{count} Aktionen erstellt
|
||||
click_to_show_actions_from_week: Klick auf %{link} um die Aktionen von Woche %{week} und danach anzuzeigen.
|
||||
other_actions_label: (andere)
|
||||
totals_completed_project_count: und %{count} sind abgeschlossene Projekte.
|
||||
click_to_return: "Klick auf %{link} um zur Statistikseite zur\xC3\xBCckzukehren."
|
||||
top10_projects_30days: Top-10-Projekt der letzten 30 Tage
|
||||
actions_selected_from_week: "Aktionen ausgew\xC3\xA4hlt ab Woche"
|
||||
top10_projects: Top 10 aller Projekte
|
||||
spread_of_running_actions_for_visible_contexts: Verteilung der laufenden Aufgaben aller sichtbaren Kontexte
|
||||
spread_of_actions_for_all_context: Aufgabenverteilung aller Kontexte
|
||||
actions_avg_completed: und %{count} durchschnittlich davon monatlich erledigt
|
||||
totals: Ingesamt
|
||||
time_of_day_legend:
|
||||
number_of_actions: Anzahl Aufgaben
|
||||
time_of_day: Tageszeit
|
||||
contexts: Kontexte
|
||||
click_to_return_link: hier
|
||||
totals_hidden_context_count: und %{count} sind versteckte Kontexte.
|
||||
labels:
|
||||
month_avg_completed: "%{months} Monat durchschnittlich fertig gestellt"
|
||||
completed: Erledigt
|
||||
month_avg_created: "%{months} Monat durchschnittlich erstellt"
|
||||
avg_created: Durchschnittlich erstellt
|
||||
avg_completed: Durchschnittlich fertiggestellt
|
||||
created: Erstellt
|
||||
no_actions_selected: "Es sind keine Aufgaben ausgew\xC3\xA4hlt."
|
||||
click_to_update_actions: Klicke auf eine Leiste in der Grafik um die Aktionen unten zu aktualisieren.
|
||||
running_time_all_legend:
|
||||
actions: Aktionen
|
||||
running_time: "Laufzeit einer Aktion (Wochen). Klick auf eine Leiste f\xC3\xBCr mehr Informationen."
|
||||
percentage: Prozentsatz
|
||||
tod30_legend:
|
||||
number_of_actions: Anzahl Aufgaben
|
||||
time_of_day: Tageszeit
|
||||
action_selection_title: TRACKS::Aktionsauswahl
|
||||
actions_actions_avg_created_30days: In den letzten 30 Tagen hast du im Durchschnitt %{count} Aktionen erstellt
|
||||
todos:
|
||||
completed_actions: Erledigte Aufgaben
|
||||
show_from: Anzeigen ab dem
|
||||
error_starring_recurring: Konnte die Hervorhebung der wiederkehrenden Aufgabe \'%{description}\' nicht durchführen
|
||||
show_from: Anzeigen ab dem
|
||||
recurring_action_deleted: Die Aktion wurde gelöscht. Da dies eine wiederkehrende Aktion ist, wurde eine neue erstellt.
|
||||
completed_actions: Erledigte Aufgaben
|
||||
completed_recurring: Abgeschlossene wiederkehrende To-Dos
|
||||
added_new_next_action: Neue Aktion angelegt
|
||||
blocked_by: Blockiert durch %{predecessors}
|
||||
done: Erledigt?
|
||||
star_action: Aktion markieren
|
||||
completed_recurrence_completed: Es gibt keine weitere Aktion nach der soeben gelöschten. Die Wiederholung ist abgeschlossen.
|
||||
defer_date_after_due_date: "Zur\xC3\xBCckstellungsdatum nach Ablaufdatum. Bitte passe das Ablaufdatum an, dass es vor dem Zur\xC3\xBCckstellungsdatum liegt."
|
||||
unable_to_add_dependency: Abhängigkeit nicht hinzufügbar
|
||||
done: Erledigt?
|
||||
star_action_with_description: Aktion '%{description}' markieren
|
||||
tagged_with: getagged mit ‘%{tag_name}’
|
||||
completed: Erledigt
|
||||
no_deferred_actions_with: "Keine zur\xC3\xBCckgestellten Aktionen mit dem Tag '%{tag_name}'"
|
||||
no_hidden_actions: Momentan sind keine versteckten Aufgaben vorhanden
|
||||
action_due_on: "(Aktion f\xC3\xA4llig am %{date})"
|
||||
edit_action_with_description: Aktion '%{description}' bearbeiten
|
||||
remove_dependency: Abhängigkeit löschen (löscht nicht die Aufgabe)
|
||||
archived_tasks_title: TRACKS::Archivierte erledigte Aufgaben
|
||||
action_due_on: "(Aktion f\xC3\xA4llig am %{date})"
|
||||
list_incomplete_next_actions: Unerledigte Folge-Aufgaben anzeigen
|
||||
archived_tasks_title: TRACKS::Archivierte erledigte Aufgaben
|
||||
remove_dependency: Abhängigkeit löschen (löscht nicht die Aufgabe)
|
||||
action_deleted_success: Die nächste Aktion erfolgreich gelöscht
|
||||
tags: Tags (Komma-separiert)
|
||||
delete_recurring_action_title: "Wiederkehrende Aktion '%{description}' l\xC3\xB6schen"
|
||||
new_related_todo_created: "Eine neue To-Do wurde hinzugef\xC3\xBCgt, die zu dieser wiederkehrenden To-Do geh\xC3\xB6rt"
|
||||
context_changed: Kontext zu %{name} gewechselt
|
||||
add_another_dependency: "F\xC3\xBCgen Sie eine andere Abh\xC3\xA4ngigkeit"
|
||||
new_related_todo_created: "Eine neue To-Do wurde hinzugef\xC3\xBCgt, die zu dieser wiederkehrenden To-Do geh\xC3\xB6rt"
|
||||
mobile_todos_page_title: Alle Aufgaben
|
||||
add_another_dependency: "F\xC3\xBCgen Sie eine andere Abh\xC3\xA4ngigkeit"
|
||||
delete_recurring_action_title: "Wiederkehrende Aktion '%{description}' l\xC3\xB6schen"
|
||||
removed_predecessor: "%{successor} entfernt als Abh\xC3\xA4ngigkeit von %{predecessor}."
|
||||
recurring_actions_title: TRACKS::Wiederkehrende Aktionen
|
||||
next_action_needed: Es muss mindestens eine folgende Aktion angelegt werden
|
||||
|
|
@ -336,8 +244,8 @@ de:
|
|||
edit_action: Aktion bearbeiten
|
||||
added_new_context: "Neuer Kontext hinzugef\xC3\xBCgt"
|
||||
next_actions_description: "Filter:"
|
||||
list_incomplete_next_actions_with_limit: Zeige die letzten %{count} unerledigten Folge-Aufgaben
|
||||
set_to_pending: "%{task} als ausstehend markiert"
|
||||
list_incomplete_next_actions_with_limit: Zeige die letzten %{count} unerledigten Folge-Aufgaben
|
||||
added_new_project: "Neues Projekt hinzugef\xC3\xBCgt"
|
||||
next_actions_title_additions:
|
||||
completed: Aufgaben erledigt
|
||||
|
|
@ -352,27 +260,27 @@ de:
|
|||
error_completing_todo: Beim Abschliessen/Aktivieren der wiederkehrenden To-Do %{description} ist ein Fehler aufgetreten
|
||||
convert_to_project: In Projekt umwandeln
|
||||
no_deferred_pending_actions: Momentan sind keine aufgeschobenen oder ausstehenden Aufgaben vorhanden.
|
||||
delete_recurring_action_confirm: Soll die wiederkehrende Aktion '%{description}' wirklich gelöscht werden?
|
||||
completed_last_day: In den letzten 24 Stunden erledigt
|
||||
delete_recurring_action_confirm: Soll die wiederkehrende Aktion '%{description}' wirklich gelöscht werden?
|
||||
new_related_todo_created_short: hat einen neuen todo
|
||||
show_in_days: Anzeigen in %{days} Tagen
|
||||
no_project: --Kein Projekt--
|
||||
error_saving_recurring: Es gab einen Fehler beim Speichern der wiederkehrenden todo '%{description}'
|
||||
completed_more_than_x_days_ago: Vor mehr als %{count} Tagen erledigt
|
||||
new_related_todo_created_short: hat einen neuen todo
|
||||
feed_title_in_context: im Kontext '%{context}'
|
||||
completed_actions_with: Abgeschlossene Aktionen mit dem Tag %{tag_name}
|
||||
older_than_days: "Älter als %{count} Tage"
|
||||
edit: Bearbeiten
|
||||
pending: Ausstehend
|
||||
completed_actions_with: Abgeschlossene Aktionen mit dem Tag %{tag_name}
|
||||
deleted_success: "Die Aktion wurde erfolgreich gel\xC3\xB6scht."
|
||||
completed_tasks_title: TRACKS::Erledigte Aufgaben
|
||||
feed_title_in_project: im Projekt '%{project}'
|
||||
clear_due_date: Fälligkeitsdatum leeren
|
||||
error_removing_dependency: "Beim Entfernen der Abh\xC3\xA4ngigkeit ist ein Fehler aufgetreten"
|
||||
hidden_actions: Verstecke Aufgaben
|
||||
recurrence_period: Wiederholungszeitraum
|
||||
was_due_on_date: war am %{date} fällig
|
||||
show_on_date: Anzeigen am %{date}
|
||||
recurrence_period: Wiederholungszeitraum
|
||||
deferred_actions_with: "Zur\xC3\xBCckgestellte Aktionen mit dem Tag '%{tag_name}'"
|
||||
confirm_delete: "Bist du sicher, dass du die Aktion '%{description}' l\xC3\xB6schen m\xC3\xB6chtest?"
|
||||
recurring_deleted_success: "Die wiederkehrende Aktion wurde erfolgreich gel\xC3\xB6scht."
|
||||
|
|
@ -381,8 +289,8 @@ de:
|
|||
deferred_tasks_title: TRACKS::Notizbuch
|
||||
no_completed_actions_with: Keine abgeschlossenen Aktionen mit dem Tag '%{tag_name}'
|
||||
clear_show_from_date: Datum leeren
|
||||
calendar_page_title: TRACKS::Kalender
|
||||
in_hidden_state: als versteckt markiert
|
||||
calendar_page_title: TRACKS::Kalender
|
||||
show_today: Heute anzeigen
|
||||
no_actions_found_title: Keine Aktionen gefunden
|
||||
completed_last_x_days: In den letzten %{count} Tagen erledigt
|
||||
|
|
@ -422,12 +330,13 @@ de:
|
|||
due_next_week: Nächste Woche fällig
|
||||
due_this_week: Die restliche Woche zu erledigen
|
||||
no_actions_due_next_week: Keine Aufgaben für die kommende Woche
|
||||
no_actions_due_today: Heute sind keine Aufgaben fällig
|
||||
due_today: Heute zu erledigen
|
||||
no_actions_due_today: Heute sind keine Aufgaben fällig
|
||||
due_next_month_and_later: Im %{month} und später fällig
|
||||
no_actions_due_after_this_month: Nach diesem Monat sind keine Aufgaben fällig
|
||||
due_this_month: Im %{month} fällig
|
||||
no_actions_due_this_month: Keine Aktionen für den Rest des Monats
|
||||
tagged_page_title: TRACKS::Als '%{tag_name}' markiert
|
||||
recurrence:
|
||||
every_work_day: Jeden Arbeitstag
|
||||
ends_on_number_times: Endet nach %{number} Mal
|
||||
|
|
@ -436,9 +345,9 @@ de:
|
|||
weekly_options: "Einstellungen f\xC3\xBCr sich w\xC3\xB6chentlich wiederholende Aktionen"
|
||||
weekly: "W\xC3\xB6chentlich"
|
||||
monthly_options: "Einstellungen f\xC3\xBCr sich monatlich wiederholende Aktionen"
|
||||
monthly: Monatlich
|
||||
starts_on: Beginnt am
|
||||
daily_options: "Einstellungen f\xC3\xBCr sich t\xC3\xA4glich wiederholenden Aktionen"
|
||||
monthly: Monatlich
|
||||
daily: "T\xC3\xA4glich"
|
||||
show_option_always: immer
|
||||
recurrence_on_options: Setze Wiederholung auf
|
||||
|
|
@ -447,28 +356,26 @@ de:
|
|||
ends_on: Endet am
|
||||
weekly_every_number_week: Kehrt jede %{number}. Woche wieder am
|
||||
show_options: To-Do anzeigen
|
||||
day_x_on_every_x_month: Tag %{day} in jedem %{month}. Monat
|
||||
yearly_options: "Einstellungen f\xC3\xBCr sich j\xC3\xA4hrlich wiederholende Aktionen"
|
||||
yearly_every_xth_day: Den %{day} %{day_of_week} des %{month}
|
||||
show_days_before: "%{days} Tage bevor die To-Do f\xC3\xA4llig ist"
|
||||
yearly_every_xth_day: Den %{day} %{day_of_week} des %{month}
|
||||
from_tickler: the date todo comes from tickler (no due date set)
|
||||
no_end_date: Kein Enddatum
|
||||
day_x_on_every_x_month: Tag %{day} in jedem %{month}. Monat
|
||||
monthly_every_xth_day: Der %{day} %{day_of_week} eines jeden %{month}. Monats
|
||||
yearly: "J\xC3\xA4hrlich"
|
||||
tagged_page_title: TRACKS::Als '%{tag_name}' markiert
|
||||
no_completed_recurring: Im Augenblick gibt es keine abgeschlossenen wiederkehrenden To-Dos
|
||||
added_dependency: "%{dependency} als Abhängigkeit hinzugefügt."
|
||||
no_deferred_actions: Zur Zeit sind keine zurückgestellten Aktionen vorhanden.
|
||||
recurrence_completed: Nach dieser wiederkehrenden Aktion, die du gerade abgeschlossen hast, folgt keine mehr. Die Wiederholung endet hiermit
|
||||
action_marked_complete_error: Die Aktion <strong>'%{description}'</strong> wurde aufgrund eines Fehlers NICHT als <strong>%{completed}</strong> markiert.
|
||||
no_actions_found: "Momentan gibt es keine unvollst\xC3\xA4ndigen Aktionen."
|
||||
in_pending_state: und als ausstehend markiert
|
||||
error_toggle_complete: "K\xC3\xB6nnte nicht diese Marke todo komplett"
|
||||
due: Fällig
|
||||
recurring_action_saved: Wiederkehrende Aktion gespeichert
|
||||
overdue: "Überfällig"
|
||||
action_marked_complete_error: Die Aktion <strong>'%{description}'</strong> wurde aufgrund eines Fehlers NICHT als <strong>%{completed}</strong> markiert.
|
||||
action_saved_to_tickler: Aktion im Notizbuch gespeichert
|
||||
depends_on_separate_with_commas: Hängt ab von (Komma-separiert)
|
||||
recurring_action_saved: Wiederkehrende Aktion gespeichert
|
||||
completed_in_archive:
|
||||
one: Es befindet sich eine erledigte Aufgabe im Archiv.
|
||||
other: Es befinden sich %{count} erledigte Aufgaben im Archiv.
|
||||
|
|
@ -476,31 +383,113 @@ de:
|
|||
next_actions_description_additions:
|
||||
completed: In den letzten %{count} Tagen
|
||||
due_date: mit einem Datum %{due_date} oder früher
|
||||
no_incomplete_actions: Es gibt keine unerledigten Aufgaben
|
||||
overdue: "Überfällig"
|
||||
add_new_recurring: "F\xC3\xBCge eine neue wiederkehrende Aktion hinzu"
|
||||
no_incomplete_actions: Es gibt keine unerledigten Aufgaben
|
||||
stats:
|
||||
tag_cloud_description: Diese Tag-Cloud beinhaltet Tags aller Aktionen (abgeschlossen, nicht abgeschlossen, sichtbar und/oder unsichtbar)
|
||||
tag_cloud_90days_title: Tag-Cloud-Aktionen in den letzten 90 Tagen
|
||||
actions: Aktionen
|
||||
totals_active_project_count: Von diesen sind %{count} aktive Projekte
|
||||
tag_cloud_title: Tag-Cloud aller Aktionen
|
||||
actions_last_year_legend:
|
||||
number_of_actions: Anzahl Aktionen
|
||||
months_ago: Monate zuvor
|
||||
totals_first_action: Seit deiner ersten Aktion am %{date}
|
||||
actions_avg_completion_time: Durchschnittlich hast du %{count} Tage gebraucht, um eine Aktion abzuschliessen.
|
||||
totals_action_count: hattest du insgesamt %{count} Aktionen
|
||||
legend:
|
||||
number_of_days: Anzahl vergangene Tage
|
||||
actions: Aktionen
|
||||
number_of_actions: Anzahl Aktionen
|
||||
day_of_week: Wochentag
|
||||
running_time: Laufzeit einer Aktion (Wochen)
|
||||
percentage: Prozentsatz
|
||||
months_ago: Monate zuvor
|
||||
top10_longrunning: "Top 10 der am l\xC3\xA4ngsten laufenden Projekte"
|
||||
actions_dow_30days_title: Wochentag (letzte 30 Tage)
|
||||
totals_deferred_actions: "von denen %{count} im Notizbuch zur\xC3\xBCckgestellt sind"
|
||||
current_running_time_of_incomplete_visible_actions: "Aktuelle Laufzeit unvollst\xC3\xA4ndiger sichtbarer Aufgaben"
|
||||
running_time_legend:
|
||||
actions: Aufgaben
|
||||
percentage: Prozentsatz
|
||||
weeks: "Vergangene Zeit einer Aktion (Wochen). Klick auf eine Leiste f\xC3\xBCr mehr Informationen."
|
||||
totals_incomplete_actions: "Du hast %{count} unvollst\xC3\xA4ndige Aktionen"
|
||||
totals_unique_tags: Von diesen Tags sind %{count} einmalig..
|
||||
actions_avg_completed_30days: und %{count} durchschnittlich davon erledigt.
|
||||
top5_contexts: Top 5 aller Kontexte
|
||||
actions_lastyear_title: Aktionen der letzten 12 Monate
|
||||
totals_actions_completed: "%{count} davon sind abgeschlossen."
|
||||
actions_last_year: Aktionen im letzten Jahr
|
||||
totals_context_count: Du hast %{count} Kontexte.
|
||||
totals_visible_context_count: Von diesen sind %{count} sichtbare Kontexte
|
||||
totals_blocked_actions: "%{count} h\xC3\xA4ngen vom Abschluss anderer Aktionen ab."
|
||||
projects: Projekte
|
||||
action_completion_time_title: Fertigstellungszeit (alle abgeschlossenen Aktionen)
|
||||
actions_day_of_week_title: Wochentag (alle Aktionen)
|
||||
tags: Tags
|
||||
totals_project_count: Du hast %{count} Projekte.
|
||||
actions_min_max_completion_days: "Das Minimum/Maximum an Tagen einer Vervollst\xC3\xA4ndigung ist %{min}/%{max}."
|
||||
actions_min_completion_time: "Die minimale Zeit betr\xC3\xA4gt %{time}."
|
||||
no_tags_available: "keine Tags verf\xC3\xBCgbar"
|
||||
totals_hidden_project_count: "%{count} sind versteckt"
|
||||
tag_cloud_90days_description: Diese Tag-Cloud beinhaltet Tags der Aktionen, die in den letzten 90 Tagen erstellt oder abgeschlossen wurden.
|
||||
more_stats_will_appear: "Weitere Statistiken werden verf\xC3\xBCgbar, wenn einige Aufgaben hinzugef\xC3\xBCgt wurden."
|
||||
running_time_all: "Aktuelle Laufzeit aller unvollst\xC3\xA4ndigen Aktionen."
|
||||
totals_tag_count: Du hast %{count} Tags in Aktionen.
|
||||
top5_visible_contexts_with_incomplete_actions: "Top 5 der sichtbaren Kontexte mit unvollst\xC3\xA4ndigen Aktionen"
|
||||
time_of_day: Tageszeit (alle Aktionen)
|
||||
actions_further: und danach
|
||||
actions_30days_title: _Aktionen der letzten 30 Tage
|
||||
tod30: Tageszeit (letzte 30 Tage)
|
||||
top10_projects: Top 10 aller Projekte
|
||||
other_actions_label: (andere)
|
||||
spread_of_running_actions_for_visible_contexts: Verteilung der laufenden Aufgaben aller sichtbaren Kontexte
|
||||
totals_completed_project_count: und %{count} sind abgeschlossene Projekte.
|
||||
spread_of_actions_for_all_context: Aufgabenverteilung aller Kontexte
|
||||
click_to_return: "Klick auf %{link} um zur Statistikseite zur\xC3\xBCckzukehren."
|
||||
top10_projects_30days: Top-10-Projekt der letzten 30 Tage
|
||||
actions_avg_created: In den letzten 12 Monaten hast du im Durchschnitt %{count} Aktionen erstellt
|
||||
actions_selected_from_week: "Aktionen ausgew\xC3\xA4hlt ab Woche"
|
||||
click_to_show_actions_from_week: Klick auf %{link} um die Aktionen von Woche %{week} und danach anzuzeigen.
|
||||
totals: Ingesamt
|
||||
time_of_day_legend:
|
||||
number_of_actions: Anzahl Aufgaben
|
||||
time_of_day: Tageszeit
|
||||
click_to_return_link: hier
|
||||
totals_hidden_context_count: und %{count} sind versteckte Kontexte.
|
||||
contexts: Kontexte
|
||||
actions_avg_completed: und %{count} durchschnittlich davon monatlich erledigt
|
||||
no_actions_selected: "Es sind keine Aufgaben ausgew\xC3\xA4hlt."
|
||||
click_to_update_actions: Klicke auf eine Leiste in der Grafik um die Aktionen unten zu aktualisieren.
|
||||
running_time_all_legend:
|
||||
actions: Aktionen
|
||||
running_time: "Laufzeit einer Aktion (Wochen). Klick auf eine Leiste f\xC3\xBCr mehr Informationen."
|
||||
percentage: Prozentsatz
|
||||
labels:
|
||||
month_avg_completed: "%{months} Monat durchschnittlich fertig gestellt"
|
||||
completed: Erledigt
|
||||
month_avg_created: "%{months} Monat durchschnittlich erstellt"
|
||||
avg_created: Durchschnittlich erstellt
|
||||
avg_completed: Durchschnittlich fertiggestellt
|
||||
created: Erstellt
|
||||
tod30_legend:
|
||||
number_of_actions: Anzahl Aufgaben
|
||||
time_of_day: Tageszeit
|
||||
action_selection_title: TRACKS::Aktionsauswahl
|
||||
actions_actions_avg_created_30days: In den letzten 30 Tagen hast du im Durchschnitt %{count} Aktionen erstellt
|
||||
notes:
|
||||
delete_note_title: Notiz '%{id}' löschen
|
||||
delete_confirmation: "Bist du sicher, dass du die Notiz '%{id}' l\xC3\xB6schen m\xC3\xB6chtest?"
|
||||
delete_item_title: Eintrag löschen
|
||||
note_link_title: Notiz %{id} anzeigen
|
||||
show_note_title: Notiz anzeigen
|
||||
deleted_note: "Notiz '%{id}' l\xC3\xB6schen"
|
||||
note_link_title: Notiz %{id} anzeigen
|
||||
note_location_link: "In:"
|
||||
edit_item_title: Eintrag bearbeiten
|
||||
note_header: Notiz %{id}
|
||||
no_notes_available: "Derzeit gibt es keine Notizen: f\xC3\xBCge Notizen von der jeweiligen Projektseite hinzu."
|
||||
delete_note_confirm: Soll die Notiz '%{id}' wirklich gelöscht werden?
|
||||
errors:
|
||||
user_unauthorized: "401 Unauthorized: Nur administrative Benutzer d\xC3\xBCrfen auf diese Funktion zugreifen."
|
||||
states:
|
||||
hidden_plural: Versteckte
|
||||
completed: Erledigt
|
||||
completed_plural: Erledigte
|
||||
visible_plural: Sichtbare
|
||||
active_plural: Aktive
|
||||
visible: Sichtbar
|
||||
active: Aktiv
|
||||
hidden: Versteckt
|
||||
time:
|
||||
am: vormittags
|
||||
formats:
|
||||
|
|
@ -511,71 +500,84 @@ de:
|
|||
pm: nachmittags
|
||||
preferences:
|
||||
open_id_url: "Deine OpenID-URL lautet:"
|
||||
staleness_starts_after: Staleness starts after %{days} days
|
||||
change_identity_url: "\xC3\x84ndere deine Identit\xC3\xA4ts-URL"
|
||||
staleness_starts_after: Staleness starts after %{days} days
|
||||
page_title: TRACKS::Einstellungen
|
||||
change_password: "Passwort \xC3\xA4ndern"
|
||||
token_description: "Token (f\xC3\xBCr die Verwendung in Feeds und der API)"
|
||||
title: Deine Einstellungen
|
||||
token_description: "Token (f\xC3\xBCr die Verwendung in Feeds und der API)"
|
||||
show_number_completed: "Zeige %{number} erledigte Eintr\xC3\xA4ge"
|
||||
is_false: Nein
|
||||
edit_preferences: Einstellungen bearbeiten
|
||||
page_title_edit: "TRACKS::Einstellungen \xC3\xA4ndern"
|
||||
generate_new_token: Neues Token generieren
|
||||
is_true: Ja
|
||||
sms_context_none: Keine
|
||||
generate_new_token: Neues Token generieren
|
||||
token_header: Dein Token
|
||||
current_authentication_type: Dein Authentifizierungsart ist %{auth_type}
|
||||
authentication_header: Deine Authentifizierung
|
||||
current_authentication_type: Dein Authentifizierungsart ist %{auth_type}
|
||||
change_authentication_type: "Authentifzierungsart \xC3\xA4ndern"
|
||||
generate_new_token_confirm: "Bist du sicher? Wenn du ein neues Token generierst, wird dies das alte Token ersetzen und jegliche externe Nutzung st\xC3\xB6ren, die das alte Token verwendet."
|
||||
projects:
|
||||
default_tags_removed_notice: Standard-Tags entfernt
|
||||
default_context_set: Standard-Kontext des Projekts auf %{default_context} gesetzt
|
||||
no_actions_in_project: "Momentan gibt es keine unvollst\xC3\xA4ndigen Aktionen in diesem Projekt"
|
||||
deferred_actions: "Aufgeschobene Aufgaben f\xC3\xBCr dieses Projekt"
|
||||
was_marked_hidden: wurde als verborgen markiert
|
||||
edit_project_title: Projekt bearbeiten
|
||||
default_tags_removed_notice: Standard-Tags entfernt
|
||||
hide_form: Fomular verstecken
|
||||
page_title: "TRACKS::Projekt: %{project}"
|
||||
no_notes_attached: "Im Augenblick sind keine Notizen mit diesem Projekt verkn\xC3\xBCpft."
|
||||
deferred_actions_empty: "Es gibt keine aufgeschobenen Aufgaben f\xC3\xBCr dieses Projekt"
|
||||
this_project: Dieses Projekt
|
||||
project_state: Projekt ist %{state}
|
||||
show_form_title: Neues Projekt anlegen
|
||||
to_new_project_page: Zu neuem Projekt weiterleiten
|
||||
todos_append: an dieses Projekt
|
||||
no_notes_attached: "Im Augenblick sind keine Notizen mit diesem Projekt verkn\xC3\xBCpft."
|
||||
deferred_actions_empty: "Es gibt keine aufgeschobenen Aufgaben f\xC3\xBCr dieses Projekt"
|
||||
this_project: Dieses Projekt
|
||||
notes: Notizen
|
||||
todos_append: an dieses Projekt
|
||||
hide_form_title: Formular verstecken
|
||||
notes_empty: "Es gibt keine Notizen f\xC3\xBCr dieses Projekt"
|
||||
no_projects: Keine Projekte vorhanden
|
||||
hide_form_title: Formular verstecken
|
||||
completed_actions_empty: "Es gibt keine erledigten Aufgaben f\xC3\xBCr dieses Projekt"
|
||||
with_no_default_context: hat keinen Standardwert Kontext
|
||||
delete_project: Projekt löschen
|
||||
delete_project_confirmation: Soll das Projekt '%{name}' wirklich gelöscht werden?
|
||||
with_default_context: mit einem Standard-Rahmen von '%{context_name}'
|
||||
show_form: Projekt erstellen
|
||||
actions_in_project_title: Die Aktionen in diesem Projekt
|
||||
delete_project_confirmation: Soll das Projekt '%{name}' wirklich gelöscht werden?
|
||||
list_projects: TRACKS::Projektliste
|
||||
add_project: Projekt hinzufügen
|
||||
with_default_tags: und mit '%{tags}' als Standard-Tags
|
||||
set_default_tags_notice: Standard-Tags des Projekts auf %{default_tags} setzen
|
||||
completed_projects: Abgeschlossene Projekte
|
||||
add_note: "Notiz hinzuf\xC3\xBCgen"
|
||||
is_active: ist aktiv
|
||||
project_saved_status: Projekt gespeichert
|
||||
list_projects: TRACKS::Projektliste
|
||||
settings: Einstellungen
|
||||
with_default_tags: und mit '%{tags}' als Standard-Tags
|
||||
completed_projects: Abgeschlossene Projekte
|
||||
hidden_projects: Versteckte Projekte
|
||||
delete_project_title: Projekt löschen
|
||||
was_marked_complete: wurde als erledigt markiert
|
||||
completed_actions: "Erledigte Aufgaben f\xC3\xBCr dieses Projekt"
|
||||
default_context_removed: Standard-Kontext entfernt
|
||||
completed_actions: "Erledigte Aufgaben f\xC3\xBCr dieses Projekt"
|
||||
add_note_submit: "Notiz hinzuf\xC3\xBCgen"
|
||||
edit_project_settings: ""
|
||||
was_marked_complete: wurde als erledigt markiert
|
||||
edit_project_settings: Edit Project Settings
|
||||
state: Dieses Projekt ist %{state}
|
||||
status_project_name_changed: "Projektname ge\xC3\xA4ndert"
|
||||
default_context: Der Standard-Kontext dieses Projektes ist %{context}
|
||||
no_default_context: Dieses Projekt hat keinen Standard-Kontext
|
||||
active_projects: Aktive Projekte
|
||||
state: Dieses Projekt ist %{state}
|
||||
with_no_default_tags: und hat keinen Standardwert Tags
|
||||
states:
|
||||
hidden_plural: Versteckte
|
||||
completed: Erledigt
|
||||
completed_plural: Erledigte
|
||||
visible_plural: Sichtbare
|
||||
active_plural: Aktive
|
||||
visible: Sichtbar
|
||||
active: Aktiv
|
||||
hidden: Versteckt
|
||||
errors:
|
||||
user_unauthorized: "401 Unauthorized: Nur administrative Benutzer d\xC3\xBCrfen auf diese Funktion zugreifen."
|
||||
date:
|
||||
month_names:
|
||||
-
|
||||
|
|
@ -593,6 +595,10 @@ de:
|
|||
- Oktober
|
||||
- November
|
||||
- Dezember
|
||||
order:
|
||||
- :day
|
||||
- :month
|
||||
- :year
|
||||
abbr_day_names:
|
||||
- So
|
||||
- Mo
|
||||
|
|
@ -601,10 +607,6 @@ de:
|
|||
- Do
|
||||
- Fr
|
||||
- Sa
|
||||
order:
|
||||
- :day
|
||||
- :month
|
||||
- :year
|
||||
formats:
|
||||
only_day: "%e"
|
||||
default: "%d.%m.%Y"
|
||||
|
|
@ -636,8 +638,8 @@ de:
|
|||
- Dez
|
||||
support:
|
||||
array:
|
||||
last_word_connector: " und "
|
||||
words_connector: ", "
|
||||
last_word_connector: " und "
|
||||
two_words_connector: " und "
|
||||
select:
|
||||
prompt: "Bitte w\xC3\xA4hlen Sie"
|
||||
|
|
@ -650,102 +652,71 @@ de:
|
|||
add_action: "Aufgabe hinzuf\xC3\xBCgen"
|
||||
add_actions: "Aufgaben hinzuf\xC3\xBCgen"
|
||||
tags_for_all_actions: "Tags f\xC3\xBCr alle Aufgaben (mit Kommas trennen)"
|
||||
project_for_all_actions: "Projekt f\xC3\xBCr alle Aufgaben"
|
||||
context_for_all_actions: "Kontext f\xC3\xBCr alle Aufgaben"
|
||||
toggle_multi: "Mehrere neue Aufgabeneintr\xC3\xA4ge hinzuf\xC3\xBCgen"
|
||||
toggle_single_title: Eine weitere Aktion hinzufügen
|
||||
project_for_all_actions: "Projekt f\xC3\xBCr alle Aufgaben"
|
||||
separate_tags_with_commas: mit Kommas trennen
|
||||
toggle_multi_title: "Zwischen Einzel- und Mehrfachformular f\xC3\xBCr neue Aufgaben umschalten"
|
||||
hide_action_form_title: "Formular f\xC3\xBCr neue Aufgaben verstecken"
|
||||
feedlist:
|
||||
choose_context: "Kontext f\xC3\xBCr den Feed w\xC3\xA4hlen"
|
||||
actions_due_today: "Heute oder fr\xC3\xBCher f\xC3\xA4llig"
|
||||
ical_feed: iCal-Feed
|
||||
all_contexts: Alle Kontexte
|
||||
rss_feed: RSS-Feed
|
||||
legend: "Legende:"
|
||||
all_projects: Alle Projekte
|
||||
choose_project: "Projekt f\xC3\xBCr den Feed w\xC3\xA4hlen"
|
||||
project_needed: Es muss mindestens ein Projekt existieren, bevor ein Feed abonniert werden kann.
|
||||
select_feed_for_project: "Feed f\xC3\xBCr dieses Projekt ausw\xC3\xA4hlen"
|
||||
active_projects_wo_next: Aktive Projekte ohne ausstehende Aufgaben
|
||||
active_starred_actions: Alle markierten, aktiven Aufgaben
|
||||
projects_and_actions: Aktive Projekte und deren Aufgaben
|
||||
context_needed: Es muss mindestens ein Kontext existieren, bevor ein Feed abonniert werden kann.
|
||||
select_feed_for_context: "Feed f\xC3\xBCr diesen Kontext ausw\xC3\xA4hlen"
|
||||
actions_due_next_week: "In den n\xC3\xA4chsten 7 Tagen oder fr\xC3\xBCher f\xC3\xA4llige Aufgaben"
|
||||
notice_incomplete_only: "Hinweis: Alle Feeds zeigen nur Aufgaben, die noch nicht als erledigt markiert wurden."
|
||||
all_actions: Alle Aufgaben
|
||||
actions_completed_last_week: In den letzten 7 Tagen abgeschlossene Aufgaben
|
||||
context_centric_actions: "Feeds f\xC3\xBCr unvollst\xC3\xA4ndige Aufgaben in einem bestimmten Kontext"
|
||||
plain_text_feed: Plain-Text-Feed
|
||||
last_fixed_number: Die letzten %{number} Aufgaben
|
||||
project_centric: "Feeds f\xC3\xBCr unvollst\xC3\xA4ndige Aufgaben in einem bestimmten Kontext"
|
||||
users:
|
||||
auth_type_update_error: "Beim Ändern der Authentifizierung trat ein Fehler auf: %{error_messages}"
|
||||
total_contexts: Alle Kontexte
|
||||
successfully_deleted_user: Benutzer %{username} erfolgreich gelöscht.
|
||||
first_user_heading: "Willkommen bei TRACKS. Als erstes legen Sie bitte einen Administrator-Zugang an:"
|
||||
failed_to_delete_user: Löschen des Benutzers %{username} fehlgeschlagen
|
||||
openid_url_verified: Die URL %{url} wurde erfolgreich als Identität verifiziert und Deine Authentifizierung auf OpenID umgestellt.
|
||||
destroy_successful: "Benutzer %{login} wurde erfolgreich gel\xC3\xB6scht"
|
||||
auth_type_update_error: "Beim Ändern der Authentifizierung trat ein Fehler auf: %{error_messages}"
|
||||
total_contexts: Alle Kontexte
|
||||
first_user_heading: "Willkommen bei TRACKS. Als erstes legen Sie bitte einen Administrator-Zugang an:"
|
||||
total_projects: Alle Projekte
|
||||
signup_successful: Benutzer %{username} erfolgreich angelegt.
|
||||
new_token_generated: Neuer Token erfolgreich generiert
|
||||
total_projects: Alle Projekte
|
||||
change_password_submit: "Passwort \xC3\xA4ndern"
|
||||
no_signups_title: TRACKS::Anmeldung nicht erlaubt
|
||||
user_created: Benutzer angelegt.
|
||||
account_signup: Accounteinrichtung
|
||||
password_updated: Passwort aktualisiert.
|
||||
manage_users: Benutzer verwalten
|
||||
total_actions: Alle Aufgaben
|
||||
account_signup: Accounteinrichtung
|
||||
signup: Registrieren
|
||||
total_actions: Alle Aufgaben
|
||||
desired_login: "Gew\xC3\xBCnschter Benutzername"
|
||||
confirm_password: "Passwort best\xC3\xA4tigen"
|
||||
new_user_heading: "Einen neuen Benutzer anlegen:"
|
||||
auth_type_updated: Authentifizierungs-Art erfolgreich geändert.
|
||||
change_password_prompt: "Gib dein neues Passwort in die unten stehenden Felder ein und klicke auf 'Passwort \xC3\xA4ndern' um dein altes Passwort durch das neue zu ersetzen."
|
||||
password_confirmation_label: "Passwort best\xC3\xA4tigen"
|
||||
destroy_error: "Beim L\xC3\xB6schen des Benutzers %{login} ist ein Fehler aufgetreten."
|
||||
choose_password: "Passwort w\xC3\xA4hlen"
|
||||
change_password_title: TRACKS::Passwort ändern
|
||||
change_auth_type_title: TRACKS::Authentifizierungstyp ändern
|
||||
change_password_prompt: "Gib dein neues Passwort in die unten stehenden Felder ein und klicke auf 'Passwort \xC3\xA4ndern' um dein altes Passwort durch das neue zu ersetzen."
|
||||
new_password_label: Neues Passwort
|
||||
register_with_cas: Mit deinem CAS-Benutzernamen
|
||||
label_auth_type: Authentifizierungsart
|
||||
destroy_user: "Benutzer l\xC3\xB6schen"
|
||||
total_users_count: Derzeit existieren %{count} Benutzer
|
||||
new_user_title: TRACKS::Als Administrator anmelden
|
||||
destroy_user: "Benutzer l\xC3\xB6schen"
|
||||
signup_new_user: Neuen Benutzer anlegen
|
||||
destroy_confirmation: "Achtung: der Benutzer '%{login}' wird mit all seinen Aufgaben, Kontexten, Projekten und Notizen gel\xC3\xB6scht. Bist du sicher, dass du fortfahren m\xC3\xB6chtest?"
|
||||
identity_url: Identity-URL
|
||||
change_authentication_type: "Authentifizierungsart \xC3\xA4ndern"
|
||||
auth_change_submit: "Authentifizierungsart \xC3\xA4ndern"
|
||||
openid_ok_pref_failed: Die URL %{url} wurde erfolgreich als Identität verifiziert, beim Speichern der Einstellungen trat jedoch ein Fehler auf.
|
||||
change_authentication_type: "Authentifizierungsart \xC3\xA4ndern"
|
||||
select_authentication_type: "W\xC3\xA4hle deine neue Authentifizierungsart und klicke 'Authentifizierungsart \xC3\xA4ndern' an, um deine aktuellen Einstellungen zu \xC3\xBCberschreiben."
|
||||
total_notes: Alle Notizen
|
||||
sidebar:
|
||||
list_name_active_contexts: Aktive Kontexte
|
||||
list_name_active_projects: Aktive Projekte
|
||||
list_empty: Keine
|
||||
list_name_completed_projects: Abgeschlossene Projekte
|
||||
list_name_hidden_projects: Versteckte Projekte
|
||||
list_name_hidden_contexts: Versteckte Kontexte
|
||||
contexts:
|
||||
delete_context_title: Kontext löschen
|
||||
hide_form: Formular verstecken
|
||||
show_form_title: Neuen Kontext erstellen
|
||||
delete_context: Kontext löschen
|
||||
delete_context_confirmation: Soll der Kontext '%{name}' wirklich gelöscht werden? Alle (wiederholenden) Aufgaben dieses Kontexts werden hierdurch ebenfalls gelöscht.
|
||||
delete_context: Kontext löschen
|
||||
hide_form_title: Formular für neuen Kontext verstecken
|
||||
edit_context: Kontext bearbeiten
|
||||
context_hide: Auf Startseite ausblenden?
|
||||
hidden_contexts: Versteckte Kontexte
|
||||
no_contexts_active: Derzeit gibt es keine aktiven Kontexte
|
||||
add_context: "Kontext hinzuf\xC3\xBCgen"
|
||||
visible_contexts: Sichtbare Kontexte
|
||||
save_status_message: Kontext gespeichert
|
||||
show_form: Neuen Kontext erstellen
|
||||
add_context: "Kontext hinzuf\xC3\xBCgen"
|
||||
visible_contexts: Sichtbare Kontexte
|
||||
context_name: Kontextname
|
||||
update_status_message: "Kontextname wurde ge\xC3\xA4ndert"
|
||||
status_active: Kontext ist aktiv
|
||||
|
|
@ -756,11 +727,42 @@ de:
|
|||
new_context_pre: Der neue Kontext '
|
||||
no_actions: "Momentan gibt es keine unvollst\xC3\xA4ndigen Aufgaben in diesem Kontext"
|
||||
status_hidden: Kontext ist versteckt
|
||||
feedlist:
|
||||
choose_context: "Kontext f\xC3\xBCr den Feed w\xC3\xA4hlen"
|
||||
actions_due_today: "Heute oder fr\xC3\xBCher f\xC3\xA4llig"
|
||||
all_contexts: Alle Kontexte
|
||||
legend: "Legende:"
|
||||
rss_feed: RSS-Feed
|
||||
ical_feed: iCal-Feed
|
||||
all_projects: Alle Projekte
|
||||
choose_project: "Projekt f\xC3\xBCr den Feed w\xC3\xA4hlen"
|
||||
select_feed_for_project: "Feed f\xC3\xBCr dieses Projekt ausw\xC3\xA4hlen"
|
||||
active_projects_wo_next: Aktive Projekte ohne ausstehende Aufgaben
|
||||
project_needed: Es muss mindestens ein Projekt existieren, bevor ein Feed abonniert werden kann.
|
||||
active_starred_actions: Alle markierten, aktiven Aufgaben
|
||||
projects_and_actions: Aktive Projekte und deren Aufgaben
|
||||
context_needed: Es muss mindestens ein Kontext existieren, bevor ein Feed abonniert werden kann.
|
||||
select_feed_for_context: "Feed f\xC3\xBCr diesen Kontext ausw\xC3\xA4hlen"
|
||||
notice_incomplete_only: "Hinweis: Alle Feeds zeigen nur Aufgaben, die noch nicht als erledigt markiert wurden."
|
||||
actions_due_next_week: "In den n\xC3\xA4chsten 7 Tagen oder fr\xC3\xBCher f\xC3\xA4llige Aufgaben"
|
||||
actions_completed_last_week: In den letzten 7 Tagen abgeschlossene Aufgaben
|
||||
context_centric_actions: "Feeds f\xC3\xBCr unvollst\xC3\xA4ndige Aufgaben in einem bestimmten Kontext"
|
||||
plain_text_feed: Plain-Text-Feed
|
||||
last_fixed_number: Die letzten %{number} Aufgaben
|
||||
all_actions: Alle Aufgaben
|
||||
project_centric: "Feeds f\xC3\xBCr unvollst\xC3\xA4ndige Aufgaben in einem bestimmten Kontext"
|
||||
sidebar:
|
||||
list_name_active_contexts: Aktive Kontexte
|
||||
list_name_active_projects: Aktive Projekte
|
||||
list_empty: Keine
|
||||
list_name_completed_projects: Abgeschlossene Projekte
|
||||
list_name_hidden_projects: Versteckte Projekte
|
||||
list_name_hidden_contexts: Versteckte Kontexte
|
||||
datetime:
|
||||
prompts:
|
||||
minute: Minuten
|
||||
second: Sekunden
|
||||
month: Monat
|
||||
second: Sekunden
|
||||
hour: Stunden
|
||||
day: Tag
|
||||
year: Jahr
|
||||
|
|
@ -778,6 +780,9 @@ de:
|
|||
x_seconds:
|
||||
one: 1 Sekunde
|
||||
other: "%{count} Sekunden"
|
||||
about_x_hours:
|
||||
one: etwa 1 Stunde
|
||||
other: etwa %{count} Stunden
|
||||
less_than_x_seconds:
|
||||
one: weniger als 1 Sekunde
|
||||
other: weniger als %{count} Sekunden
|
||||
|
|
@ -788,9 +793,6 @@ de:
|
|||
x_minutes:
|
||||
one: 1 Minute
|
||||
other: "%{count} Minuten"
|
||||
about_x_hours:
|
||||
one: etwa 1 Stunde
|
||||
other: etwa %{count} Stunden
|
||||
about_x_months:
|
||||
one: etwa 1 Monat
|
||||
other: etwa %{count} Monate
|
||||
|
|
@ -803,9 +805,9 @@ de:
|
|||
half_a_minute: eine halbe Minute
|
||||
login:
|
||||
openid_identity_url_not_found: "Sorry, aber es existiert kein Benutzer mit der Identit\xC3\xA4ts-URL (%{identity_url})"
|
||||
login_cas: zum CAS gehen
|
||||
user_no_expiry: Angemeldet bleiben
|
||||
sign_in: Anmeldung
|
||||
login_cas: zum CAS gehen
|
||||
cas_login: CAS-Anmeldung
|
||||
successful_with_session_info: "Anmeldung erfolgreich:"
|
||||
please_login: Bitte melde dich an, um Tracks zu nutzen
|
||||
|
|
@ -822,14 +824,14 @@ de:
|
|||
session_will_expire: "Sitzung wird nach %{hours} Stunde(n) der Inaktivit\xC3\xA4t ablaufen."
|
||||
option_separator: oder,
|
||||
login_standard: "zur\xC3\xBCck zum Standard-Login"
|
||||
login_with_openid: Mit einer OpenID anmelden
|
||||
unsuccessful: Anmeldung war nicht erfolgreich.
|
||||
log_in_again: Erneut anmelden.
|
||||
logged_out: Sie wurden von Tracks abgemeldet.
|
||||
login_with_openid: Mit einer OpenID anmelden
|
||||
search:
|
||||
contexts_matching_query: Kontexte entsprechen der Suche
|
||||
tags_matching_query: Tags entsprechen der Suche
|
||||
notes_matching_query: Notizen entsprechen der Suche
|
||||
no_results: Die Suche ergab kein Ergebnis.
|
||||
todos_matching_query: Todos entsprechen der Suche
|
||||
projects_matching_query: Projekte entsprechen der Suche
|
||||
notes_matching_query: Notizen entsprechen der Suche
|
||||
|
|
|
|||
|
|
@ -240,6 +240,8 @@ en:
|
|||
change_identity_url: "Change Your Identity URL"
|
||||
page_title: "TRACKS::Preferences"
|
||||
page_title_edit: "TRACKS::Edit Preferences"
|
||||
is_true: "true"
|
||||
is_false: "false"
|
||||
projects:
|
||||
status_project_name_changed: "Name of project was changed"
|
||||
default_tags_removed_notice: "Removed the default tags"
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -12,7 +12,7 @@ Feature: Edit a context
|
|||
@selenium
|
||||
Scenario: In place edit of context name
|
||||
Given I have a context called "Errands"
|
||||
When I visit the context page for "Errands"
|
||||
When I go to the context page for "Errands"
|
||||
And I edit the context name in place to be "OutAndAbout"
|
||||
Then I should see the context name is "OutAndAbout"
|
||||
When I go to the contexts page
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ Feature: dependencies
|
|||
Scenario: Adding dependency to dependency by drag and drop
|
||||
Given I have a project "dependencies" with 3 todos
|
||||
And "Todo 2" depends on "Todo 1"
|
||||
When I visit the "dependencies" project
|
||||
When I go to the "dependencies" project
|
||||
And I drag "Todo 3" to "Todo 2"
|
||||
Then the successors of "Todo 1" should include "Todo 2"
|
||||
And the successors of "Todo 2" should include "Todo 3"
|
||||
|
|
@ -31,7 +31,7 @@ Feature: dependencies
|
|||
| test 1 | @pc |
|
||||
| test 2 | @pc |
|
||||
| test 3 | @pc |
|
||||
When I visit the "dependencies" project
|
||||
When I go to the "dependencies" project
|
||||
When I edit the dependency of "test 1" to add "test 2" as predecessor
|
||||
Then I should see "test 1" within the dependencies of "test 2"
|
||||
And I should see "test 1" in the deferred container
|
||||
|
|
@ -51,7 +51,7 @@ Feature: dependencies
|
|||
| test 1 | @pc |
|
||||
| test 2 | @pc |
|
||||
And "test 1" depends on "test 2"
|
||||
When I visit the "dependencies" project
|
||||
When I go to the "dependencies" project
|
||||
Then I should see "test 1" in the deferred container
|
||||
When I edit the dependency of "test 1" to remove "test 2" as predecessor
|
||||
Then I should not see "test 1" within the dependencies of "test 2"
|
||||
|
|
@ -66,7 +66,7 @@ Feature: dependencies
|
|||
| test 2 | @pc |
|
||||
| test 3 | @pc |
|
||||
And "test 2" depends on "test 1"
|
||||
When I visit the "dependencies" project
|
||||
When I go to the "dependencies" project
|
||||
Then I should see "test 2" in the deferred container
|
||||
And I should see "test 1" in the action container
|
||||
When I mark "test 1" as complete
|
||||
|
|
@ -84,7 +84,7 @@ Feature: dependencies
|
|||
| test 2 | @pc |
|
||||
| test 3 | @pc |
|
||||
And "test 2" depends on "test 1"
|
||||
When I visit the "dependencies" project
|
||||
When I go to the "dependencies" project
|
||||
Then I should see "test 2" in the deferred container
|
||||
And I should see "test 1" in the action container
|
||||
When I delete the action "test 1"
|
||||
|
|
@ -95,7 +95,7 @@ Feature: dependencies
|
|||
Scenario: Deleting a successor will update predecessor
|
||||
Given this is a pending scenario
|
||||
|
||||
@selenium @wip
|
||||
@selenium
|
||||
Scenario: Dragging an action to a completed action will not add it as a dependency
|
||||
Given I have a context called "@pc"
|
||||
And I have a project "dependencies" that has the following todos
|
||||
|
|
@ -103,7 +103,7 @@ Feature: dependencies
|
|||
| test 1 | @pc | no |
|
||||
| test 2 | @pc | no |
|
||||
| test 3 | @pc | yes |
|
||||
When I visit the "dependencies" project
|
||||
When I go to the "dependencies" project
|
||||
And I drag "test 1" to "test 3"
|
||||
Then I should see an error flash message saying "Cannot add this action as a dependency to a completed action!"
|
||||
And I should see "test 1" in project container for "dependencies"
|
||||
|
|
@ -20,11 +20,44 @@ Feature: Edit a next action from every page
|
|||
When I delete the action "delete me"
|
||||
Then I should not see "delete me"
|
||||
|
||||
Scenario: Removing the last todo in context will hide context # delete, edit
|
||||
Given this is a pending scenario
|
||||
@selenium
|
||||
Scenario: Removing the last todo in context will hide context
|
||||
Given I have a todo "delete me" in the context "@home"
|
||||
And I have a context called "@pc"
|
||||
When I go to the home page
|
||||
Then I should see the container for context "@home"
|
||||
And I should see "delete me" in the context container for "@home"
|
||||
When I mark "delete me" as complete
|
||||
Then I should not see the container for context "@home"
|
||||
When I mark "delete me" as uncompleted
|
||||
Then I should see the container for context "@home"
|
||||
When I edit the context of "delete me" to "@pc"
|
||||
Then I should not see the container for context "@home"
|
||||
When I delete the todo "delete me"
|
||||
Then I should not see "delete me"
|
||||
And I should not see the container for context "@home"
|
||||
And I should not see the container for context "@pc"
|
||||
|
||||
Scenario: Deleting the last todo in container will show empty message # only project, context, tag, not todo
|
||||
Given this is a pending scenario
|
||||
@selenium
|
||||
Scenario Outline: Deleting the last todo in container will show empty message # only project, context, tag, not todo
|
||||
Given I have a context called "@home"
|
||||
And I have a project "my project" that has the following todos
|
||||
| context | description | tags |
|
||||
| @home | first action | test, bla |
|
||||
| @home | second action | bla |
|
||||
When I go to the <page>
|
||||
Then I should not see "<empty message>"
|
||||
And I should see "first action"
|
||||
When I delete the todo "first action"
|
||||
Then I should not see "<empty message>"
|
||||
When I delete the todo "second action"
|
||||
Then I should see "<empty message>"
|
||||
|
||||
Scenarios:
|
||||
| page | empty message |
|
||||
| "my project" project | Currently there are no incomplete actions in this project |
|
||||
| context page for "@home" | Currently there are no incomplete actions in this context |
|
||||
| tag page for "bla" | No actions found |
|
||||
|
||||
@selenium
|
||||
Scenario Outline: I can mark an active todo complete and it will update empty messages
|
||||
|
|
@ -46,23 +79,23 @@ Feature: Edit a next action from every page
|
|||
| tag page for "starred" | No actions found |
|
||||
| context page for "visible context" | Currently there are no incomplete actions in this context |
|
||||
|
||||
@selenium @wip
|
||||
@selenium
|
||||
Scenario Outline: I can mark a deferred todo complete and it will update empty messages
|
||||
When I go to the <page> # not for home page because it does not show deferred todos
|
||||
Given I have a context called "visible context"
|
||||
And I have a project called "visible project"
|
||||
When I go to the <page>
|
||||
Then I should see "<empty message>"
|
||||
When I submit a new deferred action with description "visible todo" to project "visible project" with tags "test" in the context "visible context"
|
||||
When I submit a new deferred action with description "visible todo" to project "visible project" with tags "starred" in the context "visible context"
|
||||
Then I should see "visible todo"
|
||||
And I should not see "<empty message>"
|
||||
When I mark "visible todo" complete
|
||||
Then I should not see "visible context"
|
||||
When I mark "visible todo" as complete
|
||||
And I should see "<empty message>"
|
||||
And I should see "visible todo" in the completed todos container
|
||||
And I should see "visible todo" in the completed container
|
||||
|
||||
Scenarios:
|
||||
Scenarios:
|
||||
| page | empty message |
|
||||
| tag page for "starred" | Currently there are no deferred or pending actions |
|
||||
| context page for "visible context" | Currently there are no deferred or pending actions |
|
||||
| project page for "visible project" | Currently there are no deferred or pending actions |
|
||||
| "visible project" project | Currently there are no deferred or pending actions |
|
||||
|
||||
@selenium @wip
|
||||
Scenario Outline: I can mark a completed todo active and it will update empty messages
|
||||
|
|
@ -74,7 +107,7 @@ Feature: Edit a next action from every page
|
|||
When I mark the complete todo "visible todo" active
|
||||
Then I should see "visible context"
|
||||
And I should see "<empty completed message>"
|
||||
And I should see "visible todo" in context container for "visible context"
|
||||
And I should see "visible todo" in the context container for "visible context"
|
||||
And I should not see "<empty message>"
|
||||
|
||||
Scenarios:
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ Feature: View, add, remove notes
|
|||
|
||||
Scenario: Link to note
|
||||
Given I have a project "Pass Final Exam" with 1 note
|
||||
When I visit the "Pass Final Exam" project
|
||||
When I go to the "Pass Final Exam" project
|
||||
And I click the icon next to the note
|
||||
Then I should see the note text
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ Feature: Edit a project
|
|||
Given I have a project "test" with 1 todos
|
||||
When I go to the projects page
|
||||
Then the badge should show 2 # "manage me" and "test"
|
||||
When I visit the "manage me" project
|
||||
When I go to the "manage me" project
|
||||
And I try to edit the project name to "test"
|
||||
Then I should see "Name already exists"
|
||||
|
||||
|
|
|
|||
|
|
@ -13,22 +13,22 @@ Feature: Add new next action from every page
|
|||
|
||||
@selenium
|
||||
Scenario Outline: I can hide the input form for single next action on a page
|
||||
When I <action> the <page>
|
||||
When I go to the <page>
|
||||
Then the single action form should be visible
|
||||
When I follow "Hide form"
|
||||
Then the single action form should not be visible
|
||||
|
||||
Scenarios:
|
||||
| action | page |
|
||||
| go to | home page |
|
||||
| go to | tickler page |
|
||||
| visit | project page for "test project" |
|
||||
| visit | context page for "test context" |
|
||||
| go to | tag page for "starred" |
|
||||
| page |
|
||||
| home page |
|
||||
| tickler page |
|
||||
| "test project" project |
|
||||
| context page for "test context" |
|
||||
| tag page for "starred" |
|
||||
|
||||
@selenium
|
||||
Scenario Outline: I can hide the input form for multiple next actions
|
||||
When I <action> the <page>
|
||||
When I go to the <page>
|
||||
Then the single action form should be visible
|
||||
When I follow "Add multiple next actions"
|
||||
Then the multiple action form should be visible
|
||||
|
|
@ -37,16 +37,16 @@ Feature: Add new next action from every page
|
|||
And the multiple action form should not be visible
|
||||
|
||||
Scenarios:
|
||||
| action | page |
|
||||
| go to | home page |
|
||||
| go to | tickler page |
|
||||
| visit | project page for "test project" |
|
||||
| visit | context page for "test context" |
|
||||
| go to | tag page for "starred" |
|
||||
| page |
|
||||
| home page |
|
||||
| tickler page |
|
||||
| "test project" project |
|
||||
| context page for "test context" |
|
||||
| tag page for "starred" |
|
||||
|
||||
@selenium
|
||||
Scenario Outline: I can hide the input form and then choose both input forms
|
||||
When I <action> the <page>
|
||||
When I go to the <page>
|
||||
Then the single action form should be visible
|
||||
When I follow "Hide form"
|
||||
Then the single action form should not be visible
|
||||
|
|
@ -57,16 +57,16 @@ Feature: Add new next action from every page
|
|||
And the multiple action form should not be visible
|
||||
|
||||
Scenarios:
|
||||
| action | page |
|
||||
| go to | home page |
|
||||
| go to | tickler page |
|
||||
| visit | project page for "test project" |
|
||||
| visit | context page for "test context" |
|
||||
| go to | tag page for "starred" |
|
||||
| page |
|
||||
| home page |
|
||||
| tickler page |
|
||||
| "test project" project |
|
||||
| context page for "test context" |
|
||||
| tag page for "starred" |
|
||||
|
||||
@selenium
|
||||
Scenario Outline: I can switch forms for single next action to multiple next actions
|
||||
When I <action> the <page>
|
||||
When I go to the <page>
|
||||
Then the single action form should be visible
|
||||
When I follow "Add multiple next actions"
|
||||
Then the single action form should not be visible
|
||||
|
|
@ -76,30 +76,30 @@ Feature: Add new next action from every page
|
|||
And the multiple action form should not be visible
|
||||
|
||||
Scenarios:
|
||||
| action | page |
|
||||
| go to | home page |
|
||||
| go to | tickler page |
|
||||
| visit | project page for "test project" |
|
||||
| visit | context page for "test context" |
|
||||
| go to | tag page for "starred" |
|
||||
| page |
|
||||
| home page |
|
||||
| tickler page |
|
||||
| "test project" project |
|
||||
| context page for "test context" |
|
||||
| tag page for "starred" |
|
||||
|
||||
@selenium
|
||||
Scenario Outline: I can add a todo from several pages
|
||||
When I <action> the <page>
|
||||
When I go to the <page>
|
||||
And I submit a new action with description "a new next action"
|
||||
Then I should <see> "a new next action"
|
||||
|
||||
Scenarios:
|
||||
| action | page | see |
|
||||
| go to | home page | see |
|
||||
| go to | tickler page | not see |
|
||||
| visit | project page for "test project" | see |
|
||||
| visit | context page for "test context" | see |
|
||||
| go to | tag page for "starred" | not see |
|
||||
| page | see |
|
||||
| home page | see |
|
||||
| tickler page | not see |
|
||||
| "test project" project | see |
|
||||
| context page for "test context" | see |
|
||||
| tag page for "starred" | not see |
|
||||
|
||||
@selenium
|
||||
Scenario Outline: I can add multiple todos from several pages
|
||||
When I <action> the <page>
|
||||
When I go to the <page>
|
||||
And I follow "Add multiple next actions"
|
||||
And I submit multiple actions with using
|
||||
"""
|
||||
|
|
@ -112,36 +112,49 @@ Feature: Add new next action from every page
|
|||
And the number of actions should be <count>
|
||||
|
||||
Scenarios:
|
||||
| action | page | see | badge | count |
|
||||
| go to | home page | see | 3 | 3 |
|
||||
| go to | tickler page | not see | 0 | 3 |
|
||||
| visit | project page for "test project" | see | 3 | 3 |
|
||||
| visit | context page for "test context" | see | 2 | 3 |
|
||||
| go to | tag page for "starred" | not see | 0 | 3 |
|
||||
| page | see | badge | count |
|
||||
| home page | see | 3 | 3 |
|
||||
| tickler page | not see | 0 | 3 |
|
||||
| "test project" project | see | 3 | 3 |
|
||||
| context page for "test context" | see | 2 | 3 |
|
||||
| tag page for "starred" | not see | 0 | 3 |
|
||||
|
||||
@selenium
|
||||
Scenario: Adding a todo to another project does not show the todo
|
||||
Given this is a pending scenario
|
||||
Given I have a project called "another project"
|
||||
When I go to the "test project" project
|
||||
And I submit a new action with description "can you see me?" to project "another project" in the context "test context"
|
||||
Then I should not see "can you see me?"
|
||||
When I go to the "another project" project
|
||||
Then I should see "can you see me?"
|
||||
|
||||
Scenario: Adding a todo to a hidden project does not show the todo
|
||||
Given this is a pending scenario
|
||||
@selenium
|
||||
Scenario: Adding a deferred todo to another project does not show the todo
|
||||
# scenario for #1146
|
||||
Given I have a project called "another project"
|
||||
When I go to the "test project" project
|
||||
And I submit a deferred new action with description "a new next action" to project "another project" in the context "test context"
|
||||
Then I should not see "a new next action"
|
||||
And I submit a deferred new action with description "another new next action" to project "test project" in the context "test context"
|
||||
Then I should see "another new next action"
|
||||
|
||||
@selenium
|
||||
Scenario Outline: Adding a todo with a new context shows the new context
|
||||
When I <action> the <page>
|
||||
When I go to the <page>
|
||||
And I submit a new <todo> with description "do at new context" and the tags "starred" in the context "New"
|
||||
Then a confirmation for adding a new context "New" should be asked
|
||||
And the container for the context "New" should <visible>
|
||||
And the badge should show <badge>
|
||||
|
||||
Scenarios:
|
||||
| action | page | todo | badge | visible |
|
||||
| go to | home page | action | 2 | be visible |
|
||||
| go to | tickler page | deferred action | 1 | be visible |
|
||||
| visit | project page for "test project" | action | 2 | not be visible |
|
||||
| visit | context page for "test context" | action | 1 | not be visible |
|
||||
| go to | tag page for "starred" | action | 1 | be visible |
|
||||
| page | todo | badge | visible |
|
||||
| home page | action | 2 | be visible |
|
||||
| tickler page | deferred action | 1 | be visible |
|
||||
| "test project" project | action | 2 | not be visible |
|
||||
| context page for "test context" | action | 1 | not be visible |
|
||||
| tag page for "starred" | action | 1 | be visible |
|
||||
|
||||
@selenium
|
||||
@selenium
|
||||
Scenario Outline: Adding a todo to a hidden project does not show the todo
|
||||
Given I have a hidden project called "hidden project"
|
||||
And I have a project called "visible project"
|
||||
|
|
@ -174,7 +187,7 @@ Feature: Add new next action from every page
|
|||
When I submit a new action with description "another new todo" in the context "hidden context"
|
||||
Then I should not see "another new todo"
|
||||
|
||||
@selenium
|
||||
@selenium
|
||||
Scenario: Adding a todo to a context show the todo in that context page
|
||||
Given I have a context called "visible context"
|
||||
And I have a hidden context called "hidden context"
|
||||
|
|
|
|||
58
features/step_definitions/container_steps.rb
Normal file
58
features/step_definitions/container_steps.rb
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
Then /^I should not see the context "([^"]*)"$/ do |context_name|
|
||||
context = @current_user.contexts.find_by_name(context_name)
|
||||
context.should_not be_nil
|
||||
|
||||
xpath = "//div[@id='c#{context.id}']"
|
||||
|
||||
if selenium.is_element_present(xpath) # only check visibility if it is present
|
||||
wait_for :timeout => 5 do
|
||||
!selenium.is_visible("xpath=#{xpath}")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Then /^I should not see the container for context "([^"]*)"$/ do |context_name|
|
||||
Then "I should not see the context \"#{context_name}\""
|
||||
end
|
||||
|
||||
Then /^the container for the context "([^"]*)" should not be visible$/ do |context_name|
|
||||
Then "I should not see the context \"#{context_name}\""
|
||||
end
|
||||
|
||||
Then /^I should see the container for context "([^"]*)"$/ do |context_name|
|
||||
context = @current_user.contexts.find_by_name(context_name)
|
||||
context.should_not be_nil
|
||||
|
||||
xpath = "xpath=//div[@id='c#{context.id}']"
|
||||
|
||||
selenium.wait_for_element(xpath, :timeout_in_seconds => 5)
|
||||
selenium.is_visible(xpath).should be_true
|
||||
end
|
||||
|
||||
Then /^the container for the context "([^"]*)" should be visible$/ do |context_name|
|
||||
Then "I should see the container for context \"#{context_name}\""
|
||||
end
|
||||
|
||||
Then /^I should see "([^"]*)" in the context container for "([^"]*)"$/ do |todo_description, context_name|
|
||||
context = @current_user.contexts.find_by_name(context_name)
|
||||
context.should_not be_nil
|
||||
todo = @current_user.todos.find_by_description(todo_description)
|
||||
todo.should_not be_nil
|
||||
|
||||
xpath = "xpath=//div[@id=\"c#{context.id}\"]//div[@id='line_todo_#{todo.id}']"
|
||||
selenium.wait_for_element(xpath, :timeout_in_seconds => 5)
|
||||
selenium.is_visible(xpath).should be_true
|
||||
end
|
||||
|
||||
Then /^I should see "([^"]*)" in project container for "([^"]*)"$/ do |todo_description, project_name|
|
||||
todo = @current_user.todos.find_by_description(todo_description)
|
||||
todo.should_not be_nil
|
||||
|
||||
project = @current_user.projects.find_by_name(project_name)
|
||||
project.should_not be_nil
|
||||
|
||||
xpath = "//div[@id='p#{project.id}items']//div[@id='line_todo_#{todo.id}']"
|
||||
|
||||
selenium.wait_for_element("xpath=#{xpath}", :timeout_in_seconds => 5)
|
||||
selenium.is_visible(xpath).should be_true
|
||||
end
|
||||
|
|
@ -55,13 +55,6 @@ Given /^I have the following contexts$/ do |table|
|
|||
end
|
||||
end
|
||||
|
||||
# TODO: refactor this to paths.rb
|
||||
When /^I visit the context page for "([^\"]*)"$/ do |context_name|
|
||||
context = @current_user.contexts.find_by_name(context_name)
|
||||
context.should_not be_nil
|
||||
visit "/contexts/#{context.id}"
|
||||
end
|
||||
|
||||
When /^I edit the context name in place to be "([^\"]*)"$/ do |new_context_name|
|
||||
selenium.click "context_name"
|
||||
fill_in "value", :with => new_context_name
|
||||
|
|
|
|||
|
|
@ -28,40 +28,8 @@ Then /^I should see the empty message in the deferred container$/ do
|
|||
end
|
||||
end
|
||||
|
||||
Then /^I should not see the context "([^"]*)"$/ do |context_name|
|
||||
context = @current_user.contexts.find_by_name(context_name)
|
||||
wait_for :timeout => 5 do
|
||||
!selenium.is_visible("xpath=//div[@id='c#{context.id}']")
|
||||
end
|
||||
end
|
||||
|
||||
Then /^I should see an error flash message saying "([^"]*)"$/ do |message|
|
||||
xpath = "//div[@id='message_holder']/h4[@id='flash']"
|
||||
text = response.selenium.get_text("xpath=#{xpath}")
|
||||
text.should == message
|
||||
end
|
||||
|
||||
Then /^I should see "([^"]*)" in context container for "([^"]*)"$/ do |todo_description, context_name|
|
||||
context = @current_user.contexts.find_by_name(context_name)
|
||||
context.should_not be_nil
|
||||
todo = @current_user.todos.find_by_description(todo_description)
|
||||
todo.should_not be_nil
|
||||
|
||||
xpath = "xpath=//div[@id=\"c#{context.id}\"]//div[@id='line_todo_#{todo.id}']"
|
||||
selenium.wait_for_element(xpath, :timeout_in_seconds => 5)
|
||||
selenium.is_visible(xpath).should be_true
|
||||
end
|
||||
|
||||
Then /^I should see "([^"]*)" in project container for "([^"]*)"$/ do |todo_description, project_name|
|
||||
todo = @current_user.todos.find_by_description(todo_description)
|
||||
todo.should_not be_nil
|
||||
|
||||
project = @current_user.projects.find_by_name(project_name)
|
||||
project.should_not be_nil
|
||||
|
||||
xpath = "//div[@id='p#{project.id}items']//div[@id='line_todo_#{todo.id}']"
|
||||
|
||||
selenium.wait_for_element("xpath=#{xpath}", :timeout_in_seconds => 5)
|
||||
selenium.is_visible(xpath).should be_true
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -46,16 +46,6 @@ Given /^I have a hidden project called "([^"]*)"$/ do |project_name|
|
|||
@project.hide!
|
||||
end
|
||||
|
||||
When /^I visit the "([^\"]*)" project$/ do |project_name|
|
||||
@project = Project.find_by_name(project_name)
|
||||
@project.should_not be_nil
|
||||
visit project_path(@project)
|
||||
end
|
||||
|
||||
When /^I visit the project page for "([^"]*)"$/ do |project_name|
|
||||
When "I visit the \"#{project_name}\" project"
|
||||
end
|
||||
|
||||
When /^I edit the project description to "([^\"]*)"$/ do |new_description|
|
||||
click_link "link_edit_project_#{@project.id}"
|
||||
fill_in "project[description]", :with => new_description
|
||||
|
|
|
|||
92
features/step_definitions/todo_create_steps.rb
Normal file
92
features/step_definitions/todo_create_steps.rb
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
When /^I submit a new action with description "([^"]*)"$/ do |description|
|
||||
fill_in "todo[description]", :with => description
|
||||
submit_next_action_form
|
||||
end
|
||||
|
||||
When /^I submit a new action with description "([^"]*)" and the tags "([^"]*)" in the context "([^"]*)"$/ do |description, tags, context_name|
|
||||
fill_in "todo[description]", :with => description
|
||||
fill_in "tag_list", :with => tags
|
||||
|
||||
# fill_in does not seem to work when the field is prefilled with something. Empty the field first
|
||||
clear_context_name_from_next_action_form
|
||||
fill_in "todo_context_name", :with => context_name
|
||||
submit_next_action_form
|
||||
end
|
||||
|
||||
When /^I submit a new deferred action with description "([^"]*)" and the tags "([^"]*)" in the context "([^"]*)"$/ do |description, tags, context_name|
|
||||
fill_in "todo[description]", :with => description
|
||||
|
||||
clear_context_name_from_next_action_form
|
||||
fill_in "todo_context_name", :with => context_name
|
||||
|
||||
fill_in "tag_list", :with => tags
|
||||
fill_in "todo[show_from]", :with => format_date(@current_user.time + 1.week)
|
||||
submit_next_action_form
|
||||
end
|
||||
|
||||
When /^I submit a new deferred action with description "([^"]*)" to project "([^"]*)" with tags "([^"]*)" in the context "([^"]*)"$/ do |description, project_name, tags, context_name|
|
||||
fill_in "todo[description]", :with => description
|
||||
|
||||
clear_project_name_from_next_action_form
|
||||
clear_context_name_from_next_action_form
|
||||
|
||||
fill_in "todo_project_name", :with => project_name
|
||||
fill_in "todo_context_name", :with => context_name
|
||||
fill_in "tag_list", :with => tags
|
||||
fill_in "todo[show_from]", :with => format_date(@current_user.time + 1.week)
|
||||
|
||||
submit_next_action_form
|
||||
end
|
||||
|
||||
When /^I submit a deferred new action with description "([^"]*)" to project "([^"]*)" in the context "([^"]*)"$/ do |description, project_name, context_name|
|
||||
When "I submit a new deferred action with description \"#{description}\" to project \"#{project_name}\" with tags \"\" in the context \"#{context_name}\""
|
||||
end
|
||||
|
||||
When /^I submit a new action with description "([^"]*)" to project "([^"]*)" with tags "([^"]*)" in the context "([^"]*)"$/ do |description, project_name, tags, context_name|
|
||||
fill_in "todo[description]", :with => description
|
||||
|
||||
clear_project_name_from_next_action_form
|
||||
clear_context_name_from_next_action_form
|
||||
|
||||
fill_in "todo_project_name", :with => project_name
|
||||
fill_in "todo_context_name", :with => context_name
|
||||
fill_in "tag_list", :with => tags
|
||||
|
||||
submit_next_action_form
|
||||
end
|
||||
|
||||
When /^I submit a new action with description "([^"]*)" to project "([^"]*)" in the context "([^"]*)"$/ do |description, project_name, context_name|
|
||||
When "I submit a new action with description \"#{description}\" to project \"#{project_name}\" with tags \"\" in the context \"#{context_name}\""
|
||||
end
|
||||
|
||||
|
||||
When /^I submit a new action with description "([^"]*)" in the context "([^"]*)"$/ do |description, context_name|
|
||||
fill_in "todo[description]", :with => description
|
||||
|
||||
clear_context_name_from_next_action_form
|
||||
fill_in "todo_context_name", :with => context_name
|
||||
|
||||
submit_next_action_form
|
||||
end
|
||||
|
||||
When /^I submit multiple actions with using$/ do |multiple_actions|
|
||||
fill_in "todo[multiple_todos]", :with => multiple_actions
|
||||
submit_multiple_next_action_form
|
||||
end
|
||||
|
||||
When /^I fill the multiple actions form with "([^"]*)", "([^"]*)", "([^"]*)", "([^"]*)"$/ do |descriptions, project_name, context_name, tags|
|
||||
fill_in "todo[multiple_todos]", :with => descriptions
|
||||
fill_in "multi_todo_project_name", :with => project_name
|
||||
fill_in "multi_todo_context_name", :with => context_name
|
||||
fill_in "multi_tag_list", :with => tags
|
||||
end
|
||||
|
||||
When /^I submit the new multiple actions form with "([^"]*)", "([^"]*)", "([^"]*)", "([^"]*)"$/ do |descriptions, project_name, context_name, tags|
|
||||
When "I fill the multiple actions form with \"#{descriptions}\", \"#{project_name}\", \"#{context_name}\", \"#{tags}\""
|
||||
submit_multiple_next_action_form
|
||||
end
|
||||
|
||||
When /^I submit the new multiple actions form with$/ do |multi_line_descriptions|
|
||||
fill_in "todo[multiple_todos]", :with => multi_line_descriptions
|
||||
submit_multiple_next_action_form
|
||||
end
|
||||
36
features/step_definitions/todo_edit_steps.rb
Normal file
36
features/step_definitions/todo_edit_steps.rb
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
When /I change the (.*) field of "([^\"]*)" to "([^\"]*)"$/ do |field_name, todo_name, new_value|
|
||||
todo = @current_user.todos.find_by_description(todo_name)
|
||||
todo.should_not be_nil
|
||||
|
||||
open_edit_form_for(todo)
|
||||
selenium.type("css=form.edit_todo_form input[name=#{field_name}]", new_value)
|
||||
submit_edit_todo_form(todo)
|
||||
end
|
||||
|
||||
When /^I edit the context of "([^"]*)" to "([^"]*)"$/ do |context_old_name, context_new_name|
|
||||
When "I change the context_name field of \"#{context_old_name}\" to \"#{context_new_name}\""
|
||||
end
|
||||
|
||||
When /^I edit the due date of "([^"]*)" to tomorrow$/ do |action_description|
|
||||
todo = @current_user.todos.find_by_description(action_description)
|
||||
todo.should_not be_nil
|
||||
open_edit_form_for(todo)
|
||||
fill_in "due_todo_#{todo.id}", :with => format_date(todo.created_at + 1.day)
|
||||
submit_edit_todo_form(todo)
|
||||
end
|
||||
|
||||
When /^I edit the due date of "([^"]*)" to next month$/ do |action_description|
|
||||
todo = @current_user.todos.find_by_description(action_description)
|
||||
todo.should_not be_nil
|
||||
open_edit_form_for(todo)
|
||||
fill_in "due_todo_#{todo.id}", :with => format_date(todo.created_at + 1.month)
|
||||
submit_edit_todo_form(todo)
|
||||
end
|
||||
|
||||
When /^I clear the due date of "([^"]*)"$/ do |action_description|
|
||||
todo = @current_user.todos.find_by_description(action_description)
|
||||
todo.should_not be_nil
|
||||
open_edit_form_for(todo)
|
||||
selenium.click("//div[@id='edit_todo_#{todo.id}']//a[@id='due_x_todo_#{todo.id}']/img", :wait_for => :ajax, :javascript_framework => :jquery)
|
||||
submit_edit_todo_form(todo)
|
||||
end
|
||||
|
|
@ -71,116 +71,35 @@ Given /^I have a project "([^"]*)" that has the following todos$/ do |project_na
|
|||
end
|
||||
end
|
||||
|
||||
When /I change the (.*) field of "([^\"]*)" to "([^\"]*)"$/ do |field_name, todo_name, new_value|
|
||||
todo = @current_user.todos.find_by_description(todo_name)
|
||||
todo.should_not be_nil
|
||||
|
||||
open_edit_form_for(todo)
|
||||
selenium.type("css=form.edit_todo_form input[name=#{field_name}]", new_value)
|
||||
submit_edit_todo_form(todo)
|
||||
end
|
||||
|
||||
When /^I submit a new action with description "([^"]*)"$/ do |description|
|
||||
fill_in "todo[description]", :with => description
|
||||
submit_next_action_form
|
||||
end
|
||||
|
||||
When /^I submit a new action with description "([^"]*)" and the tags "([^"]*)" in the context "([^"]*)"$/ do |description, tags, context_name|
|
||||
fill_in "todo[description]", :with => description
|
||||
fill_in "tag_list", :with => tags
|
||||
|
||||
# fill_in does not seem to work when the field is prefilled with something. Empty the field first
|
||||
clear_context_name_from_next_action_form
|
||||
fill_in "todo_context_name", :with => context_name
|
||||
submit_next_action_form
|
||||
end
|
||||
|
||||
When /^I submit a new deferred action with description "([^"]*)" and the tags "([^"]*)" in the context "([^"]*)"$/ do |description, tags, context_name|
|
||||
fill_in "todo[description]", :with => description
|
||||
|
||||
clear_context_name_from_next_action_form
|
||||
fill_in "todo_context_name", :with => context_name
|
||||
|
||||
fill_in "tag_list", :with => tags
|
||||
fill_in "todo[show_from]", :with => format_date(@current_user.time + 1.week)
|
||||
submit_next_action_form
|
||||
end
|
||||
|
||||
When /^I submit a new action with description "([^"]*)" to project "([^"]*)" with tags "([^"]*)" in the context "([^"]*)"$/ do |description, project_name, tags, context_name|
|
||||
fill_in "todo[description]", :with => description
|
||||
|
||||
clear_project_name_from_next_action_form
|
||||
clear_context_name_from_next_action_form
|
||||
|
||||
fill_in "todo_project_name", :with => project_name
|
||||
fill_in "todo_context_name", :with => context_name
|
||||
fill_in "tag_list", :with => tags
|
||||
|
||||
submit_next_action_form
|
||||
end
|
||||
|
||||
When /^I submit a new action with description "([^"]*)" in the context "([^"]*)"$/ do |description, context_name|
|
||||
fill_in "todo[description]", :with => description
|
||||
|
||||
clear_context_name_from_next_action_form
|
||||
fill_in "todo_context_name", :with => context_name
|
||||
|
||||
submit_next_action_form
|
||||
end
|
||||
|
||||
When /^I submit multiple actions with using$/ do |multiple_actions|
|
||||
fill_in "todo[multiple_todos]", :with => multiple_actions
|
||||
submit_multiple_next_action_form
|
||||
end
|
||||
|
||||
When /^I fill the multiple actions form with "([^"]*)", "([^"]*)", "([^"]*)", "([^"]*)"$/ do |descriptions, project_name, context_name, tags|
|
||||
fill_in "todo[multiple_todos]", :with => descriptions
|
||||
fill_in "multi_todo_project_name", :with => project_name
|
||||
fill_in "multi_todo_context_name", :with => context_name
|
||||
fill_in "multi_tag_list", :with => tags
|
||||
end
|
||||
|
||||
When /^I submit the new multiple actions form with "([^"]*)", "([^"]*)", "([^"]*)", "([^"]*)"$/ do |descriptions, project_name, context_name, tags|
|
||||
When "I fill the multiple actions form with \"#{descriptions}\", \"#{project_name}\", \"#{context_name}\", \"#{tags}\""
|
||||
submit_multiple_next_action_form
|
||||
end
|
||||
|
||||
When /^I submit the new multiple actions form with$/ do |multi_line_descriptions|
|
||||
fill_in "todo[multiple_todos]", :with => multi_line_descriptions
|
||||
submit_multiple_next_action_form
|
||||
end
|
||||
|
||||
When /^I edit the due date of "([^"]*)" to tomorrow$/ do |action_description|
|
||||
todo = @current_user.todos.find_by_description(action_description)
|
||||
todo.should_not be_nil
|
||||
open_edit_form_for(todo)
|
||||
fill_in "due_todo_#{todo.id}", :with => format_date(todo.created_at + 1.day)
|
||||
submit_edit_todo_form(todo)
|
||||
end
|
||||
|
||||
When /^I edit the due date of "([^"]*)" to next month$/ do |action_description|
|
||||
todo = @current_user.todos.find_by_description(action_description)
|
||||
todo.should_not be_nil
|
||||
open_edit_form_for(todo)
|
||||
fill_in "due_todo_#{todo.id}", :with => format_date(todo.created_at + 1.month)
|
||||
submit_edit_todo_form(todo)
|
||||
end
|
||||
|
||||
When /^I clear the due date of "([^"]*)"$/ do |action_description|
|
||||
todo = @current_user.todos.find_by_description(action_description)
|
||||
todo.should_not be_nil
|
||||
open_edit_form_for(todo)
|
||||
selenium.click("//div[@id='edit_todo_#{todo.id}']//a[@id='due_x_todo_#{todo.id}']/img", :wait_for => :ajax, :javascript_framework => :jquery)
|
||||
submit_edit_todo_form(todo)
|
||||
end
|
||||
|
||||
When /^I mark "([^"]*)" as complete$/ do |action_description|
|
||||
# TODO: generalize. this currently only works for projects wrt xpath
|
||||
todo = @current_user.todos.find_by_description(action_description)
|
||||
todo.should_not be_nil
|
||||
|
||||
check "mark_complete_#{todo.id}"
|
||||
|
||||
todo_container = "fail" # fail this test if @source_view is wrong
|
||||
todo_container = "p#{todo.project_id}items" if @source_view=="project"
|
||||
todo_container = "c#{todo.context_id}items" if @source_view=="context" || @source_view=="todos" || @source_view=="tag"
|
||||
|
||||
# container should be there
|
||||
selenium.is_element_present("//div[@id='#{todo_container}']").should be_true
|
||||
|
||||
wait_for :timeout => 5 do
|
||||
!selenium.is_element_present("//div[@id='p#{todo.project.id}items']//div[@id='line_todo_#{todo.id}']")
|
||||
!selenium.is_element_present("//div[@id='#{todo_container}']//div[@id='line_todo_#{todo.id}']")
|
||||
end
|
||||
# note that animations could be running after finishing this
|
||||
end
|
||||
|
||||
When /^I mark "([^"]*)" as uncompleted$/ do |action_description|
|
||||
# TODO: generalize. this currently only works for context wrt xpath
|
||||
todo = @current_user.todos.find_by_description(action_description)
|
||||
todo.should_not be_nil
|
||||
|
||||
check "mark_complete_#{todo.id}"
|
||||
|
||||
xpath="//div[@id='c#{todo.context_id}items']//div[@id='line_todo_#{todo.id}']"
|
||||
wait_for :timeout => 5 do
|
||||
selenium.is_element_present(xpath)
|
||||
end
|
||||
# note that animations could be running after finishing this
|
||||
end
|
||||
|
|
@ -198,6 +117,10 @@ When /^I delete the action "([^"]*)"$/ do |action_description|
|
|||
end
|
||||
end
|
||||
|
||||
When /^I delete the todo "([^"]*)"$/ do |action_description|
|
||||
When "I delete the action \"#{action_description}\""
|
||||
end
|
||||
|
||||
Then /^I should see ([0-9]+) todos$/ do |count|
|
||||
count.to_i.downto 1 do |i|
|
||||
match_xpath "div["
|
||||
|
|
@ -224,24 +147,6 @@ Then /^the number of actions should be (\d+)$/ do |count|
|
|||
@current_user.todos.count.should == count.to_i
|
||||
end
|
||||
|
||||
Then /^the container for the context "([^"]*)" should be visible$/ do |context_name|
|
||||
context = @current_user.contexts.find_by_name(context_name)
|
||||
context.should_not be_nil
|
||||
xpath = "xpath=//div[@id=\"c#{context.id}\"]"
|
||||
selenium.wait_for_element(xpath, :timeout_in_seconds => 5)
|
||||
selenium.is_visible(xpath).should be_true
|
||||
end
|
||||
|
||||
Then /^the container for the context "([^"]*)" should not be visible$/ do |context_name|
|
||||
context = @current_user.contexts.find_by_name(context_name)
|
||||
context.should_not be_nil
|
||||
|
||||
wait_for_ajax
|
||||
|
||||
xpath = "xpath=//div[@id=\"c#{context.id}\"]"
|
||||
selenium.is_element_present(xpath).should be_false
|
||||
end
|
||||
|
||||
Then /^a confirmation for adding a new context "([^"]*)" should be asked$/ do |context_name|
|
||||
selenium.get_confirmation.should == "New context '#{context_name}' will be also created. Are you sure?"
|
||||
end
|
||||
|
|
|
|||
|
|
@ -7,11 +7,14 @@ module NavigationHelpers
|
|||
#
|
||||
def path_to(page_name)
|
||||
options = @mobile_interface ? {:format => :m} : {}
|
||||
@source_view = nil
|
||||
case page_name
|
||||
|
||||
when /the home\s?page/
|
||||
@source_view = "todos"
|
||||
root_path(options)
|
||||
when /the statistics page/
|
||||
@source_view = "stats"
|
||||
stats_path(options)
|
||||
when /the signup page/
|
||||
signup_path(options)
|
||||
|
|
@ -20,8 +23,10 @@ module NavigationHelpers
|
|||
when /the notes page/
|
||||
notes_path(options)
|
||||
when /the contexts page/
|
||||
@source_view = "contexts"
|
||||
contexts_path(options)
|
||||
when /the projects page/
|
||||
@source_view = "projects"
|
||||
projects_path(options)
|
||||
when /the manage users page/
|
||||
users_path(options)
|
||||
|
|
@ -44,15 +49,20 @@ module NavigationHelpers
|
|||
when /the feeds page/
|
||||
feeds_path(options)
|
||||
when /the context page for "([^\"]*)" for user "([^\"]*)"/i
|
||||
@source_view = "context"
|
||||
context_path(User.find_by_login($2).contexts.find_by_name($1), options)
|
||||
when /the context page for "([^\"]*)"/i
|
||||
@source_view = "context"
|
||||
context_path(@current_user.contexts.find_by_name($1), options)
|
||||
when /the "([^\"]*)" project for user "([^\"]*)"/i
|
||||
@source_view = "project"
|
||||
project_path(User.find_by_login($2).projects.find_by_name($1), options)
|
||||
when /the "([^\"]*)" project/i
|
||||
@source_view = "project"
|
||||
@project = @current_user.projects.find_by_name($1)
|
||||
project_path(@project, options)
|
||||
when /the tag page for "([^"]*)"/i
|
||||
@source_view = "tag"
|
||||
tag_path($1, options)
|
||||
|
||||
# Add more mappings here.
|
||||
|
|
|
|||
|
|
@ -189,7 +189,9 @@ var TracksPages = {
|
|||
}
|
||||
})
|
||||
.autocomplete({
|
||||
minLength: 0,
|
||||
minLength: 2,
|
||||
autoFocus: true,
|
||||
delay: 400, /* increase a bit over dthe default of 300 */
|
||||
source: function( request, response ) {
|
||||
var last_term = extractLast( request.term );
|
||||
if (last_term != "" && last_term != " ")
|
||||
|
|
@ -224,8 +226,7 @@ var TracksPages = {
|
|||
//terms.push( "" );
|
||||
this.value = terms.join( ", " );
|
||||
return false;
|
||||
},
|
||||
selectFirst: true
|
||||
}
|
||||
});
|
||||
},
|
||||
setup_all_autocompleters: function() {
|
||||
|
|
@ -419,7 +420,9 @@ var TodoItems = {
|
|||
}
|
||||
})
|
||||
.autocomplete({
|
||||
minLength: 0,
|
||||
minLength: 2,
|
||||
autoFocus: true,
|
||||
delay: 400, /* delay a bit more than the default of 300 */
|
||||
source: function( request, response ) {
|
||||
var term = request.term;
|
||||
if (term != "" && term != " ")
|
||||
|
|
@ -459,8 +462,7 @@ var TodoItems = {
|
|||
$(form).find('input[name=predecessor_input]').val('');
|
||||
$(form).find('input[name=predecessor_input]').focus();
|
||||
return false;
|
||||
},
|
||||
selectFirst: true
|
||||
}
|
||||
});
|
||||
},
|
||||
drag_todo: function() {
|
||||
|
|
@ -594,7 +596,9 @@ var ContextItems = {
|
|||
setup_autocomplete_for_contexts: function(id) {
|
||||
$(id).autocomplete({
|
||||
source: relative_to_root('contexts.autocomplete'),
|
||||
selectFirst: true
|
||||
autoFocus: true,
|
||||
minLength: 1,
|
||||
delay: 400 /* increase a bit. default was 300 */
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -603,7 +607,9 @@ var ProjectItems = {
|
|||
setup_autocomplete_for_projects: function(id) {
|
||||
$(id).autocomplete({
|
||||
source: relative_to_root('projects.autocomplete'),
|
||||
selectFirst: true
|
||||
autoFocus: true,
|
||||
minLength: 1,
|
||||
delay: 400 /* increase a bit. default was 300 */
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -1056,7 +1062,9 @@ function default_ajax_options_for_submit(ajax_type, element_to_block) {
|
|||
$(this.block_element).unblock();
|
||||
}
|
||||
// delay a bit to wait for animations to finish
|
||||
setTimeout(function(){enable_rich_interaction();}, 500);
|
||||
setTimeout(function(){
|
||||
enable_rich_interaction();
|
||||
}, 500);
|
||||
}],
|
||||
error: function(req, status) {
|
||||
TracksPages.page_notify('error', i18n['common.ajaxError']+': '+status, 8);
|
||||
|
|
|
|||
16
public/javascripts/jquery-1.5.1.min.js
vendored
16
public/javascripts/jquery-1.5.1.min.js
vendored
File diff suppressed because one or more lines are too long
16
public/javascripts/jquery-1.5.2.min.js
vendored
Normal file
16
public/javascripts/jquery-1.5.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -1,23 +0,0 @@
|
|||
/*
|
||||
* jQuery UI Autocomplete Select First Extension
|
||||
*
|
||||
* Copyright 2010, Scott González (http://scottgonzalez.com)
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
*
|
||||
* http://github.com/scottgonzalez/jquery-ui-extensions
|
||||
*/
|
||||
(function( $ ) {
|
||||
|
||||
$( ".ui-autocomplete-input" ).live( "autocompleteopen", function() {
|
||||
var autocomplete = $( this ).data( "autocomplete" ),
|
||||
menu = autocomplete.menu;
|
||||
|
||||
if ( !autocomplete.options.selectFirst ) {
|
||||
return;
|
||||
}
|
||||
|
||||
menu.activate( $.Event({ type: "mouseenter" }), menu.element.children().first() );
|
||||
});
|
||||
|
||||
}( jQuery ));
|
||||
|
||||
|
|
@ -115,14 +115,18 @@ a.show_successors:hover, a.link_to_successors:hover {background-image: url(../im
|
|||
}
|
||||
|
||||
body.preferences div#display_box {
|
||||
margin-right:410px;
|
||||
margin-right:510px;
|
||||
}
|
||||
|
||||
body.preferences div#input_box {
|
||||
width:390px;
|
||||
width:490px;
|
||||
right:15px;
|
||||
}
|
||||
|
||||
body.preferences select#prefs_time_zone, body.preferences select#prefs_sms_context_id {
|
||||
width: 250px;
|
||||
}
|
||||
|
||||
#single_box {
|
||||
width: 60%;
|
||||
margin: 80px auto;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue