mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-16 23:30:12 +01:00
fix tests for dependencies and fix minor issues
This commit is contained in:
parent
70b2ee1e4f
commit
6a9b3e28d5
15 changed files with 570 additions and 433 deletions
|
|
@ -447,7 +447,7 @@ class TodosController < ApplicationController
|
|||
format.js do
|
||||
if @saved
|
||||
determine_down_count
|
||||
if source_view_is_one_of(:todo, :deferred)
|
||||
if source_view_is_one_of(:todo, :deferred, :project)
|
||||
determine_remaining_in_context_count(@context_id)
|
||||
elsif source_view_is :calendar
|
||||
@original_item_due_id = get_due_id_for_calendar(@original_item_due)
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ module TodosHelper
|
|||
end
|
||||
|
||||
def remote_toggle_checkbox(todo=@todo)
|
||||
check_box_tag('item_id', toggle_check_todo_path(todo), todo.completed?, :class => 'item-checkbox',
|
||||
check_box_tag("mark_complete_#{todo.id}", toggle_check_todo_path(todo), todo.completed?, :class => 'item-checkbox',
|
||||
:title => todo.pending? ? t('todos.blocked_by', :predecessors => todo.uncompleted_predecessors.map(&:description).join(', ')) : "", :readonly => todo.pending?)
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<%- if @saved -%>
|
||||
TracksPages.page_notify('notice', '<%= escape_javascript("The action was deleted succesfully") %>', 5);
|
||||
TracksPages.page_notify('notice', '<%= escape_javascript(t('todos.deleted_success')) %>', 5);
|
||||
TracksPages.set_page_badge(<%=@down_count%>);
|
||||
remove_todo_from_page();
|
||||
show_new_todo_if_todo_was_recurring();
|
||||
|
|
@ -59,14 +59,24 @@ function show_new_todo_if_todo_was_recurring() {
|
|||
}
|
||||
|
||||
function activate_pending_todos() {
|
||||
<% # Activate pending todos that are successors of the deleted -%>
|
||||
<% @pending_to_activate.each do |t| -%>
|
||||
<% if source_view_is(:project) or source_view_is(:tag) %>
|
||||
$('#<%=dom_id(t)%>').remove();
|
||||
<% end -%>
|
||||
$('#<%=item_container_id(t)%>').append("<%=escape_javascript(render(:partial => t, :locals => { :parent_container_type => parent_container_type }))%>");
|
||||
$('#<%= dom_id(t, 'line')%>').effect('highlight', {}, 2000 );
|
||||
<% end -%>
|
||||
<% # Activate pending todos that are successors of the completed
|
||||
if @saved && @pending_to_activate
|
||||
# do not render the js in case of an error or if no todos to activate
|
||||
@pending_to_activate.each do |t|
|
||||
html = escape_javascript(render(:partial => t, :locals => { :parent_container_type => parent_container_type }))
|
||||
# only project and tag view have a deferred/blocked container
|
||||
if source_view_is_one_of(:project,:tag) -%>
|
||||
$('#<%= dom_id(t) %>').fadeOut(400, function() {
|
||||
$('#<%= dom_id(t) %>').remove();
|
||||
$('#<%= item_container_id(t) %>').append("<%= html %>");
|
||||
<%= "$('#tickler-empty-nd').show();" if @remaining_deferred_or_pending_count==0 -%>
|
||||
});
|
||||
<% else -%>
|
||||
$('#<%= item_container_id(t) %>').append("<%= html%>");
|
||||
<% end -%>
|
||||
TodoItems.highlight_todo('#<%= dom_id(t, 'line')%>');
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
}
|
||||
|
||||
function html_for_new_recurring_todo() {
|
||||
|
|
|
|||
|
|
@ -95,32 +95,33 @@ function update_empty_tag_container(next_steps) {
|
|||
|
||||
<% if @new_recurring_todo # hide js if @new_recurring_todo is not there-%>
|
||||
function highlight_updated_recurring_todo(next_steps) {
|
||||
highlight_todo('#<%= dom_id(@new_recurring_todo)%>');
|
||||
TodoItems.highlight_todo('#<%= dom_id(@new_recurring_todo)%>');
|
||||
next_steps.go();
|
||||
}
|
||||
<% end -%>
|
||||
|
||||
function highlight_updated_todo(next_steps) {
|
||||
highlight_todo('#<%= dom_id(@todo)%>');
|
||||
TodoItems.highlight_todo('#<%= dom_id(@todo)%>');
|
||||
next_steps.go();
|
||||
}
|
||||
|
||||
function highlight_todo(id) {
|
||||
$(id).effect('highlight', {}, 2000, function(){ });
|
||||
}
|
||||
|
||||
function activate_pending_todos(next_steps) {
|
||||
<% # Activate pending todos that are successors of the completed
|
||||
if @saved && @pending_to_activate
|
||||
# do not render the js in case of an error or if no todos to activate
|
||||
@pending_to_activate.each do |t|
|
||||
html = escape_javascript(render(:partial => t, :locals => { :parent_container_type => parent_container_type }))
|
||||
# only project and tag view have a deferred/blocked container
|
||||
if source_view_is_one_of(:project,:tag) -%>
|
||||
$('#<%= dom_id(t) %>').fadeOut(400, function() {
|
||||
$('#<%= dom_id(t) %>').remove();
|
||||
$('#<%= item_container_id(t) %>').append("<%= html %>");
|
||||
<%= "$('#tickler-empty-nd').show();" if @remaining_deferred_or_pending_count==0 -%>
|
||||
});
|
||||
<% end -%>
|
||||
$('#<%= item_container_id(t) %>').append("<%= escape_javascript(render(:partial => t, :locals => { :parent_container_type => parent_container_type }))%>");
|
||||
highlight_todo('#<%= dom_id(t)%>');
|
||||
<% else -%>
|
||||
$('#<%= item_container_id(t) %>').append("<%= html%>");
|
||||
<% end -%>
|
||||
TodoItems.highlight_todo('#<%= dom_id(t)%>');
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
next_steps.go();
|
||||
|
|
@ -135,7 +136,7 @@ function block_predecessors(next_steps) {
|
|||
$('#<%= dom_id(t) %>').remove();
|
||||
<% if source_view_is(:project) or source_view_is(:tag) # Insert it in deferred/pending block if existing -%>
|
||||
$('#<%= item_container_id(t) %>').append("<%= escape_javascript(render(:partial => t, :locals => { :parent_container_type => parent_container_type }))%>");
|
||||
highlight_todo('#<%= dom_id(t)%>');
|
||||
TodoItems.highlight_todo('#<%= dom_id(t)%>');
|
||||
<% end -%>
|
||||
});
|
||||
<% end -%>
|
||||
|
|
|
|||
|
|
@ -426,6 +426,7 @@ en:
|
|||
no_completed_recurring: "Currently there are no completed recurring todos"
|
||||
add_new_recurring: "Add a new recurring action"
|
||||
recurring_deleted_success: "The recurring action was deleted succesfully."
|
||||
deleted_success: "The action was deleted succesfully."
|
||||
error_deleting_recurring: "There was an error deleting the recurring todo \'%{description}\'"
|
||||
error_starring_recurring: "Could not toggle the star of recurring todo \'%{description}\'"
|
||||
recurrence_period: "Recurrence period"
|
||||
|
|
|
|||
|
|
@ -1,88 +1,5 @@
|
|||
---
|
||||
nl:
|
||||
common:
|
||||
actions: Acties
|
||||
back: Terug
|
||||
add: Toevoegen
|
||||
go_back: Ga terug
|
||||
logout: Log uit
|
||||
none: Geen
|
||||
cancel: Annuleer
|
||||
optional: optioneel
|
||||
notes: Notities
|
||||
forum: Forum
|
||||
server_error: Een fout heeft op de server plaatsgevonden
|
||||
action: Actie
|
||||
projects: Projecten
|
||||
project: Project
|
||||
contribute: Bijdragen
|
||||
ok: Ok
|
||||
website: Website
|
||||
numbered_step: Stap %{number}
|
||||
context: Context
|
||||
sort:
|
||||
by_task_count_title: Sorteer op aantal acties
|
||||
by_task_count_title_confirm: Weet u zeker dat u deze projecten alphabetisch wilt sorteren? Dat zal de huidige sorteervolgorde aanpassen.
|
||||
alphabetically: Alphabetisch
|
||||
sort: Sorteer
|
||||
alphabetically_title: Sorteer projecten alphabetisch
|
||||
alphabetically_confirm: Weet u zeker dat u deze projecten alphabetisch wilt sorteren? Dat zal de huidige sorteervolgorde aanpassen.
|
||||
by_task_count: Bij aantal acties
|
||||
create: Maken
|
||||
description: Beschrijving
|
||||
errors_with_fields: Er waren problemen met de volgende velden
|
||||
contexts: Contexten
|
||||
drag_handle: SLEEP
|
||||
update: Bijwerken
|
||||
bugs: Fouten
|
||||
wiki: Wiki
|
||||
ajaxError: Er is een fout opgetreden bij het ophalen van gegevens van de server
|
||||
email: E-mail
|
||||
search: Zoeken
|
||||
layouts:
|
||||
toggle_notes: Toggle notities
|
||||
next_actions_rss_feed: RSS-feed van de acties
|
||||
toggle_notes_title: Toggle alle notities
|
||||
mobile_navigation:
|
||||
logout: Afmelden
|
||||
feeds: Feeds
|
||||
new_action: 0-Nieuwe actie
|
||||
starred: 4-Ster
|
||||
projects: 3-Projecten
|
||||
tickler: Tickler
|
||||
contexts: 2-Contexten
|
||||
home: 1-Start
|
||||
navigation:
|
||||
recurring_todos: Terugkerende todos
|
||||
manage_users_title: Toevoegen of verwijderen gebruikers
|
||||
api_docs: REST API Docs
|
||||
feeds: Feeds
|
||||
stats: Statistieken
|
||||
starred: Ster
|
||||
notes_title: Toon alle notities
|
||||
tickler_title: Tickler
|
||||
manage_users: Beheren gebruikers
|
||||
preferences: Voorkeuren
|
||||
export_title: Import en export van gegevens
|
||||
integrations_: Integreer Tracks
|
||||
feeds_title: Zie een lijst met beschikbare feeds
|
||||
calendar_title: Kalender met acties met deadline
|
||||
recurring_todos_title: Beheren terugkerende acties
|
||||
completed_tasks: Gereed
|
||||
stats_title: Zie je statistieken
|
||||
tickler: Tickler
|
||||
home_title: Start
|
||||
starred_title: Zie je ster acties
|
||||
organize: Organiseer
|
||||
view: Bekijk
|
||||
completed_tasks_title: Afgerond
|
||||
export: Export
|
||||
home: Start
|
||||
contexts_title: Contexten
|
||||
projects_title: Projecten
|
||||
preferences_title: Toon mijn voorkeuren
|
||||
calendar: Agenda
|
||||
search: Zoeken in alle items
|
||||
number:
|
||||
format:
|
||||
separator: ","
|
||||
|
|
@ -112,19 +29,102 @@ nl:
|
|||
applescript_next_action_prompt: "Omschrijving van de actie:"
|
||||
applescript_success_before_id: Nieuwe actie met ID
|
||||
applescript_success_after_id: gemaakt
|
||||
common:
|
||||
actions: Acties
|
||||
back: Terug
|
||||
add: Toevoegen
|
||||
logout: Log uit
|
||||
go_back: Ga terug
|
||||
none: Geen
|
||||
cancel: Annuleer
|
||||
optional: optioneel
|
||||
notes: Notities
|
||||
forum: Forum
|
||||
server_error: Een fout heeft op de server plaatsgevonden
|
||||
action: Actie
|
||||
projects: Projecten
|
||||
project: Project
|
||||
contribute: Bijdragen
|
||||
ok: Ok
|
||||
website: Website
|
||||
numbered_step: Stap %{number}
|
||||
context: Context
|
||||
drag_handle: SLEEP
|
||||
sort:
|
||||
by_task_count_title: Sorteer op aantal acties
|
||||
by_task_count_title_confirm: Weet u zeker dat u deze projecten alphabetisch wilt sorteren? Dat zal de huidige sorteervolgorde aanpassen.
|
||||
alphabetically: Alphabetisch
|
||||
alphabetically_title: Sorteer projecten alphabetisch
|
||||
alphabetically_confirm: Weet u zeker dat u deze projecten alphabetisch wilt sorteren? Dat zal de huidige sorteervolgorde aanpassen.
|
||||
sort: Sorteer
|
||||
by_task_count: Bij aantal acties
|
||||
create: Maken
|
||||
description: Beschrijving
|
||||
contexts: Contexten
|
||||
errors_with_fields: Er waren problemen met de volgende velden
|
||||
update: Bijwerken
|
||||
bugs: Fouten
|
||||
wiki: Wiki
|
||||
email: E-mail
|
||||
ajaxError: Er is een fout opgetreden bij het ophalen van gegevens van de server
|
||||
search: Zoeken
|
||||
layouts:
|
||||
toggle_notes: Toggle notities
|
||||
next_actions_rss_feed: RSS-feed van de acties
|
||||
toggle_notes_title: Toggle alle notities
|
||||
mobile_navigation:
|
||||
logout: Afmelden
|
||||
feeds: Feeds
|
||||
new_action: 0-Nieuwe actie
|
||||
starred: 4-Ster
|
||||
projects: 3-Projecten
|
||||
tickler: Tickler
|
||||
contexts: 2-Contexten
|
||||
home: 1-Start
|
||||
navigation:
|
||||
manage_users_title: Toevoegen of verwijderen gebruikers
|
||||
recurring_todos: Terugkerende todos
|
||||
api_docs: REST API Docs
|
||||
feeds: Feeds
|
||||
stats: Statistieken
|
||||
starred: Ster
|
||||
notes_title: Toon alle notities
|
||||
tickler_title: Tickler
|
||||
manage_users: Beheren gebruikers
|
||||
export_title: Import en export van gegevens
|
||||
integrations_: Integreer Tracks
|
||||
preferences: Voorkeuren
|
||||
feeds_title: Zie een lijst met beschikbare feeds
|
||||
calendar_title: Kalender met acties met deadline
|
||||
home_title: Start
|
||||
starred_title: Zie je ster acties
|
||||
recurring_todos_title: Beheren terugkerende acties
|
||||
tickler: Tickler
|
||||
completed_tasks: Gereed
|
||||
stats_title: Zie je statistieken
|
||||
view: Bekijk
|
||||
organize: Organiseer
|
||||
completed_tasks_title: Afgerond
|
||||
contexts_title: Contexten
|
||||
export: Export
|
||||
home: Start
|
||||
preferences_title: Toon mijn voorkeuren
|
||||
calendar: Agenda
|
||||
search: Zoeken in alle items
|
||||
projects_title: Projecten
|
||||
models:
|
||||
project:
|
||||
feed_title: Tracks Projecten
|
||||
feed_description: Een overzicht van alle projecten voor %{username}
|
||||
todo:
|
||||
error_date_must_be_future: moet een datum in de toekomst zijn
|
||||
user:
|
||||
error_context_not_associated: Context %{context} niet geassocieerd met gebruikers %{user}.
|
||||
error_project_not_associated: Project %{project} niet geassocieerd met gebruikers %{user}.
|
||||
preference:
|
||||
due_styles:
|
||||
- Deadline over ____ dagen
|
||||
- Deadline op ____
|
||||
user:
|
||||
error_context_not_associated: Context %{context} niet geassocieerd met gebruikers %{user}.
|
||||
error_project_not_associated: Project %{project} niet geassocieerd met gebruikers %{user}.
|
||||
data:
|
||||
import_successful: De import was succesvol
|
||||
import_errors: Er hebben zich fouten voorgedaan bij de import
|
||||
|
|
@ -143,39 +143,39 @@ nl:
|
|||
context: Context
|
||||
description: Beschrijving
|
||||
due: Deadline
|
||||
user:
|
||||
last_name: Achternaam
|
||||
first_name: Voornaam
|
||||
preference:
|
||||
show_hidden_projects_in_sidebar: Toon verborgen projecten in sidebar
|
||||
date_format: Datum formaat
|
||||
show_hidden_contexts_in_sidebar: Toon verborgen contexten in sidebar
|
||||
date_format: Datum formaat
|
||||
sms_context: Standaard context voor email
|
||||
verbose_action_descriptors: Context en project uitschrijven in actielijst
|
||||
mobile_todos_per_page: Acties per pagina (mobiel)
|
||||
staleness_starts: Begin van markeren openstaande actie
|
||||
verbose_action_descriptors: Context en project uitschrijven in actielijst
|
||||
sms_context: Standaard context voor email
|
||||
title_date_format: Datum formaat in titel
|
||||
show_number_completed: Aantal te tonen afgeronde acties
|
||||
refresh: Ververs interval (in minuten)
|
||||
week_starts: Week start op
|
||||
due_style: Deadline stijl
|
||||
time_zone: Tijdzone
|
||||
locale: Taal
|
||||
due_style: Deadline stijl
|
||||
show_project_on_todo_done: Ga naar project pagina wanneer actie gereed is
|
||||
sms_email: Van email
|
||||
show_project_on_todo_done: Ga naar project pagina wanneer actie gereed is
|
||||
show_completed_projects_in_sidebar: Toon afgeronde projecten in sidebar
|
||||
user:
|
||||
last_name: Achternaam
|
||||
first_name: Voornaam
|
||||
errors:
|
||||
messages:
|
||||
record_invalid: "Validatie mislukt: %{errors}"
|
||||
greater_than_or_equal_to: moet groter of gelijk zijn aan %{count}
|
||||
record_invalid: "Validatie mislukt: %{errors}"
|
||||
confirmation: komt niet overeen met de configuratie
|
||||
less_than_or_equal_to: moet kleiner of gelijk zijn aan %{count}
|
||||
blank: mag niet leeg zijn
|
||||
exclusion: is gereserveerd
|
||||
invalid: mag niet een komma (',') karakter bevatten
|
||||
odd: moet oneven zijn
|
||||
wrong_length: heeft de verkeerde lengte (moet %{count} karakters lang zijn)
|
||||
empty: mag niet leeg zijn
|
||||
wrong_length: heeft de verkeerde lengte (moet %{count} karakters lang zijn)
|
||||
even: moet even zijn
|
||||
too_short: is te kort (minimum is %{count} karakters)
|
||||
less_than: moet kleiner zijn dan %{count}
|
||||
|
|
@ -201,76 +201,78 @@ nl:
|
|||
full_messages:
|
||||
format: "%{attribute} %{message}"
|
||||
stats:
|
||||
tag_cloud_description: Deze tag cloud bevat tags van alle acties (afgerond, niet voltooid, zichtbaar en / of verborgen)
|
||||
tag_cloud_90days_title: Tag cloud met acties in afgelopen 90 dagen
|
||||
totals_active_project_count: Van deze zijn %{count} actieve projecten
|
||||
tag_cloud_title: Tag Cloud voor alle acties
|
||||
totals_first_action: Sinds uw eerste actie op %{date}
|
||||
tag_cloud_description: Deze tag cloud bevat tags van alle acties (afgerond, niet voltooid, zichtbaar en / of verborgen)
|
||||
tag_cloud_90days_title: Tag cloud met acties in afgelopen 90 dagen
|
||||
actions_avg_completion_time: Van al uw afgeronde acties, de gemiddelde tijd dat dit in beslag nam is %{count} dagen.
|
||||
actions_last_year_legend:
|
||||
number_of_actions: Aantal acties
|
||||
months_ago: Maanden geleden
|
||||
totals_deferred_actions: waarvan %{count} uitgestelde acties in de tickler zijn
|
||||
top10_longrunning: Top 10 langstlopende projecten
|
||||
totals_first_action: Sinds uw eerste actie op %{date}
|
||||
actions_dow_30days_title: Dag van de week (laatste 30 dagen)
|
||||
current_running_time_of_incomplete_visible_actions: Huidige looptijd van onvolledige zichtbare acties
|
||||
legend:
|
||||
actions: Acties
|
||||
number_of_days: Aantal dagen geleden
|
||||
number_of_actions: Aantal acties
|
||||
day_of_week: Dag van de week
|
||||
running_time: Looptijd van een actie (weken)
|
||||
percentage: Percentage
|
||||
months_ago: Maanden geleden
|
||||
running_time_legend:
|
||||
actions: Acties
|
||||
percentage: Percentage
|
||||
weeks: Looptijd van een actie (weken). Klik op een balk voor meer info
|
||||
totals_action_count: u heeft een totaal van %{count} acties
|
||||
totals_unique_tags: Van deze tags zijn %{count} uniek.
|
||||
actions_avg_completed_30days: en voltooide een gemiddelde van %{count} acties per dag.
|
||||
top5_contexts: Top 5 contexten
|
||||
totals_deferred_actions: waarvan %{count} uitgestelde acties in de tickler zijn
|
||||
legend:
|
||||
number_of_days: Aantal dagen geleden
|
||||
actions: Acties
|
||||
number_of_actions: Aantal acties
|
||||
day_of_week: Dag van de week
|
||||
percentage: Percentage
|
||||
running_time: Looptijd van een actie (weken)
|
||||
months_ago: Maanden geleden
|
||||
top10_longrunning: Top 10 langstlopende projecten
|
||||
actions_lastyear_title: Acties in de afgelopen 12 maanden
|
||||
totals_actions_completed: "%{count} van deze zijn voltooid."
|
||||
totals_incomplete_actions: U heeft %{count} onvolledige acties
|
||||
actions_last_year: Acties in de afgelopen jaren
|
||||
totals_context_count: U heeft %{count} contexten.
|
||||
totals_unique_tags: Van deze tags zijn %{count} uniek.
|
||||
actions_avg_completed_30days: en voltooide een gemiddelde van %{count} acties per dag.
|
||||
top5_contexts: Top 5 contexten
|
||||
totals_visible_context_count: Van deze zijn %{count} zichtbare contexten
|
||||
totals_blocked_actions: "%{count} zijn afhankelijk van de voltooiing van hun acties."
|
||||
action_completion_time_title: Doorlooptijd (alle voltooide acties)
|
||||
totals_project_count: U heeft %{count} projecten.
|
||||
actions_min_max_completion_days: De max-/minimum dagen tot voltooiing is %{min}/%{max}.
|
||||
actions_last_year: Acties in de afgelopen jaren
|
||||
totals_context_count: U heeft %{count} contexten.
|
||||
actions_min_completion_time: De minimale tijd tot afronding is %{time}.
|
||||
tags: Tags
|
||||
no_tags_available: geen tags beschikbaar
|
||||
actions_day_of_week_title: Dag van de week (alle acties)
|
||||
more_stats_will_appear: Meer statistieken zullen hier verschijnen zodra u acties hebt toegevoegd.
|
||||
top5_visible_contexts_with_incomplete_actions: Top 5 zichtbare contexten met onvolledige acties
|
||||
actions_further: en verder
|
||||
tod30: Tijd van de dag (laatste 30 dagen)
|
||||
tag_cloud_90days_description: Deze tag cloud bevat tags van acties die zijn gemaakt of voltooid in de afgelopen 90 dagen.
|
||||
totals_project_count: U heeft %{count} projecten.
|
||||
tags: Tags
|
||||
actions_min_max_completion_days: De max-/minimum dagen tot voltooiing is %{min}/%{max}.
|
||||
running_time_all: Huidige looptijd van alle onvolledige acties
|
||||
totals_tag_count: U heeft %{count} tags geplaatst op acties.
|
||||
time_of_day: Tijd van de dag (alle acties)
|
||||
actions_30days_title: Acties in de afgelopen 30 dagen
|
||||
totals_hidden_project_count: "%{count} zijn verborgen"
|
||||
spread_of_actions_for_all_context: Verdeling van acties voor alle contexten
|
||||
actions_avg_created: In de afgelopen 12 maanden heeft u gemiddeld% {count} acties aangemaakt
|
||||
click_to_show_actions_from_week: Klik %{link} om de acties van week %{week} en verder te zien.
|
||||
other_actions_label: (anderen)
|
||||
totals_completed_project_count: en %{count} zijn afgeronde projecten.
|
||||
more_stats_will_appear: Meer statistieken zullen hier verschijnen zodra u acties hebt toegevoegd.
|
||||
top5_visible_contexts_with_incomplete_actions: Top 5 zichtbare contexten met onvolledige acties
|
||||
actions_further: en verder
|
||||
tod30: Tijd van de dag (laatste 30 dagen)
|
||||
tag_cloud_90days_description: Deze tag cloud bevat tags van acties die zijn gemaakt of voltooid in de afgelopen 90 dagen.
|
||||
click_to_return: Klik %{link} om terug te keren naar de statistieken pagina.
|
||||
top10_projects_30days: Top 10 project in de laatste 30 dagen
|
||||
actions_selected_from_week: Gekozen acties van week
|
||||
top10_projects: Top 10 projecten
|
||||
spread_of_running_actions_for_visible_contexts: Verdeling van actieve acties voor zichtbare contexten
|
||||
totals_hidden_context_count: en %{count} zijn verborgen contexten.
|
||||
actions_avg_completed: en voltooide een gemiddelde van %{count} acties per maand.
|
||||
totals: Totalen
|
||||
spread_of_actions_for_all_context: Verdeling van acties voor alle contexten
|
||||
actions_avg_created: In de afgelopen 12 maanden heeft u gemiddeld% {count} acties aangemaakt
|
||||
click_to_show_actions_from_week: Klik %{link} om de acties van week %{week} en verder te zien.
|
||||
other_actions_label: (anderen)
|
||||
totals_completed_project_count: en %{count} zijn afgeronde projecten.
|
||||
time_of_day_legend:
|
||||
number_of_actions: Aantal acties
|
||||
time_of_day: Tijd van de dag
|
||||
click_to_return_link: hier
|
||||
totals_hidden_context_count: en %{count} zijn verborgen contexten.
|
||||
actions_avg_completed: en voltooide een gemiddelde van %{count} acties per maand.
|
||||
totals: Totalen
|
||||
no_actions_selected: Er zijn geen acties geselecteerd.
|
||||
click_to_update_actions: Klik op een balk in de grafiek op de acties hieronder aan te passen.
|
||||
labels:
|
||||
month_avg_completed: "%{months} gem afgerond per maand"
|
||||
completed: Afgerond
|
||||
|
|
@ -278,37 +280,35 @@ nl:
|
|||
avg_created: Gem gemaakt
|
||||
avg_completed: Gem afgerond
|
||||
created: Gemaakt
|
||||
no_actions_selected: Er zijn geen acties geselecteerd.
|
||||
click_to_update_actions: Klik op een balk in de grafiek op de acties hieronder aan te passen.
|
||||
running_time_all_legend:
|
||||
actions: Acties
|
||||
running_time: Looptijd van een actie (weken). Klik op een balk voor meer info
|
||||
percentage: Percentage
|
||||
running_time: Looptijd van een actie (weken). Klik op een balk voor meer info
|
||||
actions_actions_avg_created_30days: In de afgelopen 30 dagen heeft u gemiddeld% {count} acties gemaakt
|
||||
tod30_legend:
|
||||
number_of_actions: Aantal acties
|
||||
time_of_day: Tijd van de dag
|
||||
action_selection_title: "TRACKS:: Actie selectie"
|
||||
actions_actions_avg_created_30days: In de afgelopen 30 dagen heeft u gemiddeld% {count} acties gemaakt
|
||||
todos:
|
||||
show_from: Toon vanaf
|
||||
error_starring_recurring: Kon niet de ster van deze terugkerende actie niet omgezetten \'%{description}\'
|
||||
recurring_action_deleted: Actie werd verwijderd. Omdat deze actie herhalend is. werd een nieuwe actie toegevoegd
|
||||
completed_actions: Voltooide acties
|
||||
blocked_by: Geblokkeerd door %{predecessors}
|
||||
completed_recurring: Afgesloten terugkerende todos
|
||||
added_new_next_action: Nieuwe actie toegevoegd
|
||||
blocked_by: Geblokkeerd door %{predecessors}
|
||||
unable_to_add_dependency: Niet in staat om de afhankelijkheid toe te voegen
|
||||
star_action: Markeer deze actie met een ster
|
||||
completed_recurrence_completed: Er is geen actie na de terugkerende actie die u new verwijderd heeft. De herhaling is voltooid
|
||||
defer_date_after_due_date: Uitsteldatum is na de vervaldag. Gelieve vervaldag bewerken alvorens uitsteldatum aan te passen.
|
||||
unable_to_add_dependency: Niet in staat om de afhankelijkheid toe te voegen
|
||||
done: Voltooid?
|
||||
star_action_with_description: markeer de actie '%{description}' met een ster
|
||||
tagged_with: gelabeld met ‘%{tag_name}’
|
||||
completed: Afgerond
|
||||
no_deferred_actions_with: Geen uitgestelde acties met de tag '%{tag_name}'
|
||||
no_hidden_actions: Momenteel zijn er geen verborgen acties gevonden
|
||||
action_due_on: (deadline actie op %{date})
|
||||
edit_action_with_description: Bewerk de actie '%{description}'
|
||||
action_due_on: (deadline actie op %{date})
|
||||
archived_tasks_title: "TRACKS:: Gearchiveerde voltooide taken"
|
||||
remove_dependency: Verwijder afhankelijkheid (zal niet de actie zelf verwijderen)
|
||||
list_incomplete_next_actions: Toon onvoltooide acties
|
||||
|
|
@ -336,16 +336,16 @@ nl:
|
|||
due_today: deadline vandaag
|
||||
due_within_a_week: deadline binnen een week
|
||||
older_completed_items: Oudere voltooide items
|
||||
no_actions_due_this_week: Geen acties met deadline in rest van deze week
|
||||
append_in_this_project: in dit project
|
||||
error_deleting_item: Er is een fout opgetreden bij het verwijderen van het item '%{description}'
|
||||
task_list_title: TRACKS::Toon acties
|
||||
no_actions_due_this_week: Geen acties met deadline in rest van deze week
|
||||
no_deferred_pending_actions: Momenteel zijn er geen uitgestelde of in wachtende acties
|
||||
no_recurring_todos: Momenteel zijn er geen terugkerende acties
|
||||
error_completing_todo: Er was een fout bij het voltooien / activeren van de terugkerende actie '%{description}'
|
||||
convert_to_project: Maak project
|
||||
no_deferred_pending_actions: Momenteel zijn er geen uitgestelde of in wachtende acties
|
||||
completed_last_day: Voltooid in de laatste 24 uur
|
||||
delete_recurring_action_confirm: Weet u zeker dat u wilt de terugkerende actie '%{description}' wilt verwijderen?
|
||||
completed_last_day: Voltooid in de laatste 24 uur
|
||||
show_in_days: Toon over %{days} dagen
|
||||
no_project: -- Geen project --
|
||||
completed_more_than_x_days_ago: Voltooid meer dan %{count} dagen geleden
|
||||
|
|
@ -354,6 +354,7 @@ nl:
|
|||
edit: Bewerken
|
||||
pending: Wachtend
|
||||
completed_actions_with: Afgeronde acties met de tag %{tag_name}
|
||||
deleted_success: De actie werd met succes verwijderd.
|
||||
completed_tasks_title: TRACKS::Voltooide taken
|
||||
feed_title_in_project: In het project '%{project}'
|
||||
clear_due_date: Maak deadline leeg
|
||||
|
|
@ -363,8 +364,8 @@ nl:
|
|||
show_on_date: Toon op %{date}
|
||||
recurrence_period: Herhaling periode
|
||||
deferred_actions_with: Uitgestelde acties met de tag '%{tag_name}'
|
||||
confirm_delete: Weet u zeker dat u de actie '%{description}' wilt verwijderen?
|
||||
recurring_deleted_success: De recurrente actie is succesvol verwijderd.
|
||||
confirm_delete: Weet u zeker dat u de actie '%{description}' wilt verwijderen?
|
||||
next_actions_title: Tracks - Acties
|
||||
next_action_description: Actie beschrijving
|
||||
deferred_tasks_title: TRACKS::Tickler
|
||||
|
|
@ -392,17 +393,16 @@ nl:
|
|||
recurring_todos: Terugkerende acties
|
||||
delete: Verwijder
|
||||
drag_action_title: Sleep naar een andere actie om deze afhankelijk te maken van die actie
|
||||
depends_on: Hangt af van
|
||||
tickler_items_due:
|
||||
one: Een tickler item wordt nu zichtbaar - vernieuw de pagina om het te zien.
|
||||
other: "%{count} tickerl items zijn nu zichtbaar - vernieuw de pagina om ze te zien."
|
||||
depends_on: Hangt af van
|
||||
action_marked_complete: De actie <strong>'%{description}'</strong> werd gemarkeerd als <strong>%{completed}</strong>
|
||||
completed_today:
|
||||
one: U heeft een actie tot nu toe vandaag voltooid.
|
||||
other: U heeft %{count} acties tot nu toe vandaag voltooid.
|
||||
added_new_next_action_plural: Nieuwe acties toegevoegd
|
||||
error_starring: Kon niet de ster van deze actie niet omzetten \'%{description}\'
|
||||
show_tomorrow: Toon morgen
|
||||
calendar:
|
||||
get_in_ical_format: Ontvang deze agenda in iCal-formaat
|
||||
due_next_week: Deadline deze week
|
||||
|
|
@ -412,71 +412,81 @@ nl:
|
|||
due_today: Deadline vandaag
|
||||
due_next_month_and_later: Deadline in %{month} en later
|
||||
no_actions_due_after_this_month: Geen acties met deadline na deze maand
|
||||
no_actions_due_this_month: Geen acties met deadline in de rest van deze maand
|
||||
due_this_month: Deadline in rest van %{month}
|
||||
no_actions_due_this_month: Geen acties met deadline in de rest van deze maand
|
||||
show_tomorrow: Toon morgen
|
||||
recurrence:
|
||||
ends_on_number_times: Eindigt na %{number} keer
|
||||
ends_on_date: Eindigt op %{date}
|
||||
every_work_day: Elke werkdag
|
||||
ends_on_number_times: Eindigt na %{number} keer
|
||||
recurrence_on_due_date: de datum dat deadline van de actie is
|
||||
weekly_options: Instellingen voor de wekelijkse terugkerende acties
|
||||
weekly: Wekelijks
|
||||
monthly_options: Instellingen voor maandelijks terugkerende acties
|
||||
weekly: Wekelijks
|
||||
monthly: Maandelijks
|
||||
starts_on: Begint op
|
||||
daily_options: Instellingen voor dagelijks terugkerende acties
|
||||
monthly: Maandelijks
|
||||
daily: Dagelijks
|
||||
show_option_always: altijd
|
||||
recurrence_on_options: Stel herhaling in op
|
||||
yearly_every_x_day: Elke %{month} %{day}
|
||||
recurrence_on_options: Stel herhaling in op
|
||||
daily_every_number_day: Elke %{number} dag(en)
|
||||
ends_on: Eindigt op
|
||||
weekly_every_number_week: Herhaalt elke %{number} weken op
|
||||
ends_on: Eindigt op
|
||||
show_options: Toon de actie
|
||||
yearly_options: Instellingen voor jaarlijks terugkerende acties
|
||||
yearly_every_xth_day: De %{day} %{day_of_week} van %{month}
|
||||
show_days_before: "%{days} dagen v\xC3\xB3\xC3\xB3r de deadline van actie"
|
||||
from_tickler: de datum dat de actie uit de tickler komt (geen deadline ingesteld)
|
||||
no_end_date: Geen einddatum
|
||||
yearly_every_xth_day: De %{day} %{day_of_week} van %{month}
|
||||
day_x_on_every_x_month: Dag %{dag} op elke %{month} maand
|
||||
yearly_options: Instellingen voor jaarlijks terugkerende acties
|
||||
show_days_before: "%{days} dagen v\xC3\xB3\xC3\xB3r de deadline van actie"
|
||||
monthly_every_xth_day: De %{dag} %{day_of_week} van elke %{month} maand
|
||||
yearly: Jaarlijks
|
||||
monthly_every_xth_day: De %{dag} %{day_of_week} van elke %{month} maand
|
||||
tagged_page_title: TRACKS::Tagged met '%{tag_name}'
|
||||
no_completed_recurring: Momenteel zijn er geen voltooide terugkerende acties
|
||||
added_dependency: "%{dependency} als afhankelijkheid toegevoegd."
|
||||
no_deferred_actions: Momenteel zijn er geen uitgestelde acties.
|
||||
recurrence_completed: Er is geen volgende actie na de terugkerende actie die u zojuist hebt voltooid. De herhaling is voltooid
|
||||
due: Deadline
|
||||
no_actions_found: Geen acties gevonden
|
||||
in_pending_state: in wachtende toestand
|
||||
due: Deadline
|
||||
action_marked_complete_error: De actie <strong>'%{description}'</strong> is niet gemarkeerd als <strong>%{completed} vanwege een fout op de server.</strong>
|
||||
depends_on_separate_with_commas: Afhankelijk van (gescheiden door komma's)
|
||||
recurring_action_saved: Terugkerende actie opgeslagen
|
||||
action_saved_to_tickler: Actie opgeslagen in tickler
|
||||
completed_in_archive:
|
||||
one: Er is een voltooide actie in het archief.
|
||||
other: Er zijn %{count} afgeronde acties in het archief.
|
||||
action_saved_to_tickler: Actie opgeslagen in tickler
|
||||
depends_on_separate_with_commas: Afhankelijk van (gescheiden door komma's)
|
||||
recurring_action_saved: Terugkerende actie opgeslagen
|
||||
to_tickler: naar tickler
|
||||
next_actions_description_additions:
|
||||
completed: in de afgelopen %{count} dagen
|
||||
due_date: met een deadline %{due_date} of eerder
|
||||
overdue: Achterstallig
|
||||
no_incomplete_actions: Er zijn geen onvoltooide acties
|
||||
add_new_recurring: Voeg een nieuwe terugkerende actie toe
|
||||
no_incomplete_actions: Er zijn geen onvoltooide acties
|
||||
notes:
|
||||
delete_item_title: Verwijder item
|
||||
delete_note_title: Verwijder de notitie '%{id}'
|
||||
delete_confirmation: Weet u zeker dat u de notitie '%{id}' wilt verwijderen?
|
||||
delete_item_title: Verwijder item
|
||||
deleted_note: Verwijder notitie '%{id}'
|
||||
note_link_title: Toon notitie %{id}
|
||||
show_note_title: Toon notitie
|
||||
deleted_note: Verwijder notitie '%{id}'
|
||||
note_location_link: "In:"
|
||||
edit_item_title: Item bewerken
|
||||
note_header: Notitie %{id}
|
||||
no_notes_available: "Momenteel zijn er geen notities: voeg notities toe aan projecten vanaf de individuele project pagina's."
|
||||
note_header: Notitie %{id}
|
||||
delete_note_confirm: Weet u zeker dat u de notitie '%{id}' wilt verwijderen?
|
||||
errors:
|
||||
user_unauthorized: "401 Unauthorized: Alleen administratieve gebruikers mogen deze functie gebruiken."
|
||||
states:
|
||||
hidden_plural: Verborgen
|
||||
completed: Afgerond
|
||||
completed_plural: Afgeronde
|
||||
visible_plural: Zichtbare
|
||||
visible: Zichtbaar
|
||||
active_plural: Actieve
|
||||
active: Actief
|
||||
hidden: Verborgen
|
||||
time:
|
||||
am: ochtend
|
||||
formats:
|
||||
|
|
@ -485,19 +495,10 @@ nl:
|
|||
short: "%d %B %H:%M"
|
||||
long: "%A, %d. %B %Y, %H:%M"
|
||||
pm: middag
|
||||
states:
|
||||
hidden_plural: Verborgen
|
||||
completed: Afgerond
|
||||
completed_plural: Afgeronde
|
||||
visible_plural: Zichtbare
|
||||
active_plural: Actieve
|
||||
visible: Zichtbaar
|
||||
active: Actief
|
||||
hidden: Verborgen
|
||||
preferences:
|
||||
change_identity_url: Verander uw Identity URL
|
||||
open_id_url: Uw OpenID URL is
|
||||
staleness_starts_after: Ophopen begint na %{days} dagen
|
||||
change_identity_url: Verander uw Identity URL
|
||||
page_title: "TRACKS:: Voorkeuren"
|
||||
change_password: Wijzig uw wachtwoord
|
||||
token_description: Token (voor feeds en API gebruik)
|
||||
|
|
@ -513,42 +514,42 @@ nl:
|
|||
change_authentication_type: Verander uw authenticatietype
|
||||
generate_new_token_confirm: Weet u dit zeker? Het genereren van een nieuw token zal de bestaande te vervangen en dit zal het extern gebruiken van de oude token laten mislukken.
|
||||
projects:
|
||||
default_tags_removed_notice: De standaard tags zijn verwijderd
|
||||
default_context_set: Stel project standaard context in op %{default_context}
|
||||
deferred_actions: Uitgestelde acties voor dit project
|
||||
edit_project_title: Bewerk project
|
||||
hide_form: Verberg formulier
|
||||
default_tags_removed_notice: De standaard tags zijn verwijderd
|
||||
page_title: "TRACKS:: Project: %{project}"
|
||||
to_new_project_page: Ga naar de nieuwe projectpagina
|
||||
no_notes_attached: Momenteel zijn er geen notities toegevoegd aan dit project
|
||||
hide_form: Verberg formulier
|
||||
deferred_actions_empty: Er zijn geen uitgestelde acties voor dit project
|
||||
project_state: Project is %{state}.
|
||||
show_form_title: Maak een nieuw project
|
||||
todos_append: in dit project
|
||||
to_new_project_page: Ga naar de nieuwe projectpagina
|
||||
no_notes_attached: Momenteel zijn er geen notities toegevoegd aan dit project
|
||||
notes: Notities
|
||||
todos_append: in dit project
|
||||
notes_empty: Er zijn geen notities voor dit project
|
||||
no_projects: Momenteel zijn er geen projecten
|
||||
hide_form_title: Verberg nieuw project formulier
|
||||
completed_actions_empty: Er zijn nog geen afgeronde acties voor dit project
|
||||
delete_project: Project verwijderen
|
||||
delete_project_confirmation: Weet u zeker dat u wilt het project '%{name} wilt verwijderen?
|
||||
show_form: Toevoegen van een project
|
||||
list_projects: "TRACKS:: Overzicht van projecten"
|
||||
add_project: Voeg project toe
|
||||
delete_project_confirmation: Weet u zeker dat u wilt het project '%{name} wilt verwijderen?
|
||||
set_default_tags_notice: Stel project standaard tags in op %{default_tags}
|
||||
add_note: Een notitie toevoegen
|
||||
project_saved_status: Project opgeslagen
|
||||
settings: Instellingen
|
||||
completed_projects: Voltooide projecten
|
||||
list_projects: "TRACKS:: Overzicht van projecten"
|
||||
add_project: Voeg project toe
|
||||
hidden_projects: Verborgen projecten
|
||||
delete_project_title: Verwijder het project
|
||||
add_note_submit: Notitie toevoegen
|
||||
default_context_removed: Standaard context verwijderd
|
||||
completed_actions: Afgeronde acties voor dit project
|
||||
default_context: De standaard context voor dit project is %{context}
|
||||
add_note_submit: Notitie toevoegen
|
||||
status_project_name_changed: Naam van het project werd gewijzigd
|
||||
active_projects: Actieve projecten
|
||||
no_default_context: Dit project heeft geen standaard context
|
||||
default_context: De standaard context voor dit project is %{context}
|
||||
active_projects: Actieve projecten
|
||||
state: Dit project is %{state}
|
||||
date:
|
||||
month_names:
|
||||
|
|
@ -565,10 +566,6 @@ nl:
|
|||
- Oktober
|
||||
- November
|
||||
- December
|
||||
order:
|
||||
- :day
|
||||
- :month
|
||||
- :year
|
||||
abbr_day_names:
|
||||
- Zo
|
||||
- Ma
|
||||
|
|
@ -577,6 +574,10 @@ nl:
|
|||
- Do
|
||||
- Vr
|
||||
- Za
|
||||
order:
|
||||
- :day
|
||||
- :month
|
||||
- :year
|
||||
formats:
|
||||
only_day: "%e"
|
||||
default: "%d-%m-%Y"
|
||||
|
|
@ -611,6 +612,22 @@ nl:
|
|||
two_words_connector: en
|
||||
select:
|
||||
prompt: Selecteer
|
||||
footer:
|
||||
send_feedback: Stuur reactie op %{version}
|
||||
shared:
|
||||
multiple_next_actions: Meerdere acties (een op elke regel)
|
||||
toggle_single: Voeg een actie toe
|
||||
hide_form: Verberg formulier
|
||||
add_action: Actie toevoegen
|
||||
add_actions: Toevoegen acties
|
||||
tags_for_all_actions: Tags voor alle acties (scheiden met een komma)
|
||||
toggle_multi: Voeg meerdere acties toe
|
||||
toggle_single_title: Voeg een nieuwe actie toe
|
||||
project_for_all_actions: Project voor alle acties
|
||||
context_for_all_actions: Context voor alle acties
|
||||
separate_tags_with_commas: gescheiden door komma's
|
||||
toggle_multi_title: Toggle single / multi actie formulier
|
||||
hide_action_form_title: Verberg nieuwe actie formulier
|
||||
dates:
|
||||
month_names:
|
||||
- Januari
|
||||
|
|
@ -633,22 +650,98 @@ nl:
|
|||
- Donderdag
|
||||
- Vrijdag
|
||||
- Zaterdag
|
||||
shared:
|
||||
multiple_next_actions: Meerdere acties (een op elke regel)
|
||||
users:
|
||||
destroy_successful: Gebruiker %{login} met succes verwijderd
|
||||
auth_type_update_error: "Er was een probleem met het bijwerken van uw authenticatietype: %{error_messages}"
|
||||
total_contexts: Totaal aantal contexten
|
||||
first_user_heading: "Welkom bij TRACKS. Om te beginnen, maak dan een admin account:"
|
||||
successfully_deleted_user: Succesvol gebruiker %{username} verwijderd
|
||||
failed_to_delete_user: Mislukt de gebruiker %{username} te verwijderen
|
||||
openid_url_verified: Je hebt %{url} met succes geverifieerd als je identiteit en uw authenticatie type OpenID opgeslagen.
|
||||
new_token_generated: Nieuwe token met succes gegenereerd
|
||||
total_projects: Totaal aantal projecten
|
||||
signup_successful: Aanmelding succesvol voor gebruiker %{username}.
|
||||
no_signups_title: "TRACKS:: Geen nieuwe aanmeldingen"
|
||||
user_created: Gebruiker aangemaakt.
|
||||
change_password_submit: Wachtwoord wijzigen
|
||||
password_updated: Wachtwoord bijgewerkt.
|
||||
manage_users: Beheren gebruikers
|
||||
account_signup: Aanmelden voor een account
|
||||
signup: Aanmelden
|
||||
new_user_heading: "Registreer een nieuwe gebruiker:"
|
||||
auth_type_updated: Authenticatietype bijgewerkt.
|
||||
total_actions: Totaal aanal acties
|
||||
desired_login: Gewenste login
|
||||
confirm_password: Bevestig wachtwoord
|
||||
choose_password: Kies een wachtwoord
|
||||
change_password_title: TRACKS::Wachtwoord wijzigen
|
||||
change_auth_type_title: TRACKS::Wijzig authenticatietype
|
||||
change_password_prompt: Voer uw nieuwe wachtwoord in de onderstaande velden in en kies 'Wachtwoord wijzigen' om uw huidige wachtwoord met uw nieuwe te vervangen.
|
||||
password_confirmation_label: Bevestig wachtwoord
|
||||
destroy_error: Er is een fout opgetreden bij het verwijderen van de gebruiker '%{login}'
|
||||
label_auth_type: Authenticatietype
|
||||
new_password_label: Nieuw wachtwoord
|
||||
register_with_cas: Met uw CAS gebruikersnaam
|
||||
new_user_title: "TRACKS:: Aanmelden als de admin gebruiker"
|
||||
destroy_user: Verwijder de gebruiker
|
||||
total_users_count: Je hebt een totaal van %{count} gebruikers
|
||||
destroy_confirmation: "Waarschuwing: dit zal de gebruiker '%{login} verwijderen met al zijn acties, contexten, projecten en notities. Weet u zeker dat u wilt doorgaan?"
|
||||
signup_new_user: Registreer nieuwe gebruiker
|
||||
auth_change_submit: Wijzigen authenticatietype
|
||||
identity_url: Identiteit URL
|
||||
openid_ok_pref_failed: Je hebt succesvol de %{url} geverifieerd als je identiteit, maar er was een probleem met het opslaan van uw authenticatie voorkeuren.
|
||||
change_authentication_type: Wijzigen authenticatietype
|
||||
select_authentication_type: Selecteer uw nieuwe authenticatie type en klik op 'Wijzigen authenticatietype' om uw huidige instellingen te vervangen.
|
||||
total_notes: Totaal aantal notities
|
||||
feedlist:
|
||||
actions_due_today: Acties die vandaag of eerder af moeten
|
||||
choose_context: Kies de context waar je een feed van wilt
|
||||
all_contexts: Alle contexten
|
||||
rss_feed: RSS Feed
|
||||
legend: Legenda
|
||||
ical_feed: iCal feed
|
||||
all_projects: Alle projecten
|
||||
choose_project: Kies het project waar je een feed van wilt
|
||||
select_feed_for_project: Kies de feed voor dit project
|
||||
active_projects_wo_next: Actieve projecten zonder acties
|
||||
project_needed: "Er moet ten minste \xC3\xA9\xC3\xA9n project zijn voor een feed opgevraagd kan worden"
|
||||
active_starred_actions: Alle gesterde, actieve acties
|
||||
context_needed: "Er moet eerst ten minste \xC3\xA9\xC3\xA9n context zijn voor je een feed kan opvragen"
|
||||
select_feed_for_context: Kies de feed voor deze context
|
||||
projects_and_actions: Actieve projecten met hun acties
|
||||
notice_incomplete_only: "Merk op: alle feeds laten alleen acties zien die niet afgerond zijn, tenzij anders vermeld."
|
||||
actions_due_next_week: Acties die binnen 7 dagen afgerond moeten
|
||||
plain_text_feed: Reguliere tekst feed
|
||||
last_fixed_number: Laatste %{number} acties
|
||||
all_actions: Alle acties
|
||||
actions_completed_last_week: Acties afgerond in de afgelopen 7 dagen
|
||||
context_centric_actions: Feeds voor onafgeronde acties in een specifieke context
|
||||
project_centric: Feeds voor onafgeronde acties in een specifiek project
|
||||
contexts:
|
||||
delete_context_title: Verwijder context
|
||||
hide_form: Verberg formulier
|
||||
toggle_single: Voeg een actie toe
|
||||
add_action: Actie toevoegen
|
||||
add_actions: Toevoegen acties
|
||||
tags_for_all_actions: Tags voor alle acties (scheiden met een komma)
|
||||
context_for_all_actions: Context voor alle acties
|
||||
toggle_multi: Voeg meerdere acties toe
|
||||
toggle_single_title: Voeg een nieuwe actie toe
|
||||
project_for_all_actions: Project voor alle acties
|
||||
separate_tags_with_commas: gescheiden door komma's
|
||||
toggle_multi_title: Toggle single / multi actie formulier
|
||||
hide_action_form_title: Verberg nieuwe actie formulier
|
||||
footer:
|
||||
send_feedback: Stuur reactie op %{version}
|
||||
show_form_title: Voeg een context toe
|
||||
delete_context_confirmation: Weet u zeker dat u de context '%{name}' wilt verwijderen? Merk op dat dit ook alle (herhalende) acties in deze context zal verwijderen!
|
||||
delete_context: Verwijder context
|
||||
hide_form_title: "Verberg formulier voor nieuwe context "
|
||||
edit_context: Bewerk context
|
||||
hidden_contexts: Verborgen contexten
|
||||
no_contexts_active: Momenteel zijn er geen actieve contexten
|
||||
context_hide: Verberg van de start pagina?
|
||||
visible_contexts: Zichtbare contexten
|
||||
save_status_message: Context bewaard
|
||||
show_form: Maak een nieuwe context
|
||||
add_context: Context toevoegen
|
||||
update_status_message: Naam van de context was veranderd
|
||||
context_name: Context naam
|
||||
status_active: Context is actief
|
||||
new_context_post: "' zal ook gemaakt worden. Weet u dit zeker?"
|
||||
new_context_pre: Nieuwe context '
|
||||
no_actions: Momenteel zijn er geen onafgeronde acties in deze context
|
||||
last_completed_in_context: in deze context (laatste %{number})
|
||||
context_deleted: De context '%{name}' is verwijderd
|
||||
no_contexts_hidden: Momenteel zijn er geen verborgen contexten
|
||||
status_hidden: Context is verborgen
|
||||
sidebar:
|
||||
list_name_active_contexts: Actieve contexten
|
||||
list_name_active_projects: Actieve projecten
|
||||
|
|
@ -656,98 +749,6 @@ nl:
|
|||
list_name_completed_projects: Voltooide projecten
|
||||
list_name_hidden_projects: Verborgen projecten
|
||||
list_name_hidden_contexts: Verborgen contexten
|
||||
users:
|
||||
openid_url_verified: Je hebt %{url} met succes geverifieerd als je identiteit en uw authenticatie type OpenID opgeslagen.
|
||||
destroy_successful: Gebruiker %{login} met succes verwijderd
|
||||
auth_type_update_error: "Er was een probleem met het bijwerken van uw authenticatietype: %{error_messages}"
|
||||
total_contexts: Totaal aantal contexten
|
||||
first_user_heading: "Welkom bij TRACKS. Om te beginnen, maak dan een admin account:"
|
||||
successfully_deleted_user: Succesvol gebruiker %{username} verwijderd
|
||||
failed_to_delete_user: Mislukt de gebruiker %{username} te verwijderen
|
||||
total_projects: Totaal aantal projecten
|
||||
signup_successful: Aanmelding succesvol voor gebruiker %{username}.
|
||||
new_token_generated: Nieuwe token met succes gegenereerd
|
||||
no_signups_title: "TRACKS:: Geen nieuwe aanmeldingen"
|
||||
user_created: Gebruiker aangemaakt.
|
||||
change_password_submit: Wachtwoord wijzigen
|
||||
account_signup: Aanmelden voor een account
|
||||
password_updated: Wachtwoord bijgewerkt.
|
||||
manage_users: Beheren gebruikers
|
||||
signup: Aanmelden
|
||||
confirm_password: Bevestig wachtwoord
|
||||
new_user_heading: "Registreer een nieuwe gebruiker:"
|
||||
auth_type_updated: Authenticatietype bijgewerkt.
|
||||
total_actions: Totaal aanal acties
|
||||
desired_login: Gewenste login
|
||||
password_confirmation_label: Bevestig wachtwoord
|
||||
destroy_error: Er is een fout opgetreden bij het verwijderen van de gebruiker '%{login}'
|
||||
choose_password: Kies een wachtwoord
|
||||
change_password_title: TRACKS::Wachtwoord wijzigen
|
||||
change_auth_type_title: TRACKS::Wijzig authenticatietype
|
||||
change_password_prompt: Voer uw nieuwe wachtwoord in de onderstaande velden in en kies 'Wachtwoord wijzigen' om uw huidige wachtwoord met uw nieuwe te vervangen.
|
||||
label_auth_type: Authenticatietype
|
||||
new_password_label: Nieuw wachtwoord
|
||||
register_with_cas: Met uw CAS gebruikersnaam
|
||||
destroy_user: Verwijder de gebruiker
|
||||
total_users_count: Je hebt een totaal van %{count} gebruikers
|
||||
new_user_title: "TRACKS:: Aanmelden als de admin gebruiker"
|
||||
destroy_confirmation: "Waarschuwing: dit zal de gebruiker '%{login} verwijderen met al zijn acties, contexten, projecten en notities. Weet u zeker dat u wilt doorgaan?"
|
||||
signup_new_user: Registreer nieuwe gebruiker
|
||||
identity_url: Identiteit URL
|
||||
auth_change_submit: Wijzigen authenticatietype
|
||||
change_authentication_type: Wijzigen authenticatietype
|
||||
openid_ok_pref_failed: Je hebt succesvol de %{url} geverifieerd als je identiteit, maar er was een probleem met het opslaan van uw authenticatie voorkeuren.
|
||||
total_notes: Totaal aantal notities
|
||||
select_authentication_type: Selecteer uw nieuwe authenticatie type en klik op 'Wijzigen authenticatietype' om uw huidige instellingen te vervangen.
|
||||
contexts:
|
||||
delete_context_title: Verwijder context
|
||||
hide_form: Verberg formulier
|
||||
show_form_title: Voeg een context toe
|
||||
delete_context: Verwijder context
|
||||
delete_context_confirmation: Weet u zeker dat u de context '%{name}' wilt verwijderen? Merk op dat dit ook alle (herhalende) acties in deze context zal verwijderen!
|
||||
edit_context: Bewerk context
|
||||
hide_form_title: "Verberg formulier voor nieuwe context "
|
||||
context_hide: Verberg van de start pagina?
|
||||
hidden_contexts: Verborgen contexten
|
||||
no_contexts_active: Momenteel zijn er geen actieve contexten
|
||||
add_context: Context toevoegen
|
||||
visible_contexts: Zichtbare contexten
|
||||
save_status_message: Context bewaard
|
||||
show_form: Maak een nieuwe context
|
||||
update_status_message: Naam van de context was veranderd
|
||||
context_name: Context naam
|
||||
status_active: Context is actief
|
||||
new_context_post: "' zal ook gemaakt worden. Weet u dit zeker?"
|
||||
context_deleted: De context '%{name}' is verwijderd
|
||||
no_contexts_hidden: Momenteel zijn er geen verborgen contexten
|
||||
new_context_pre: Nieuwe context '
|
||||
no_actions: Momenteel zijn er geen onafgeronde acties in deze context
|
||||
last_completed_in_context: in deze context (laatste %{number})
|
||||
status_hidden: Context is verborgen
|
||||
feedlist:
|
||||
actions_due_today: Acties die vandaag of eerder af moeten
|
||||
choose_context: Kies de context waar je een feed van wilt
|
||||
ical_feed: iCal feed
|
||||
all_contexts: Alle contexten
|
||||
rss_feed: RSS Feed
|
||||
legend: Legenda
|
||||
all_projects: Alle projecten
|
||||
choose_project: Kies het project waar je een feed van wilt
|
||||
project_needed: "Er moet ten minste \xC3\xA9\xC3\xA9n project zijn voor een feed opgevraagd kan worden"
|
||||
select_feed_for_project: Kies de feed voor dit project
|
||||
active_projects_wo_next: Actieve projecten zonder acties
|
||||
active_starred_actions: Alle gesterde, actieve acties
|
||||
context_needed: "Er moet eerst ten minste \xC3\xA9\xC3\xA9n context zijn voor je een feed kan opvragen"
|
||||
select_feed_for_context: Kies de feed voor deze context
|
||||
projects_and_actions: Actieve projecten met hun acties
|
||||
actions_due_next_week: Acties die binnen 7 dagen afgerond moeten
|
||||
notice_incomplete_only: "Merk op: alle feeds laten alleen acties zien die niet afgerond zijn, tenzij anders vermeld."
|
||||
context_centric_actions: Feeds voor onafgeronde acties in een specifieke context
|
||||
plain_text_feed: Reguliere tekst feed
|
||||
last_fixed_number: Laatste %{number} acties
|
||||
all_actions: Alle acties
|
||||
actions_completed_last_week: Acties afgerond in de afgelopen 7 dagen
|
||||
project_centric: Feeds voor onafgeronde acties in een specifiek project
|
||||
datetime:
|
||||
prompts:
|
||||
minute: Minuut
|
||||
|
|
@ -795,33 +796,33 @@ nl:
|
|||
half_a_minute: halve minuut
|
||||
login:
|
||||
user_no_expiry: Blijf ingelogd
|
||||
login_cas: Ga naar het CAS
|
||||
sign_in: Meld aan
|
||||
openid_identity_url_not_found: Sorry, geen gebruiker met die identiteit URL bestaat (% {identity_url})
|
||||
successful_with_session_info: "Login succesvol:"
|
||||
please_login: Log in om Tracks te gebruiken
|
||||
login_cas: Ga naar het CAS
|
||||
cas_logged_in_greeting: Hallo, % {username}! U bent geauthenticeerd.
|
||||
cas_no_user_found: Hallo,% {username}! Je hebt nog geen account op Tracks.
|
||||
cas_login: CAS Inloggen
|
||||
successful_with_session_info: "Login succesvol:"
|
||||
please_login: Log in om Tracks te gebruiken
|
||||
cas_username_not_found: Sorry, geen gebruiker met die CAS gebruikersnaam bestaat (% {username})
|
||||
mobile_use_openid: ... if inloggen met een OpenID
|
||||
cas_create_account: Als u willen vragen ga hier om %{signup_link}
|
||||
mobile_use_openid: ... if inloggen met een OpenID
|
||||
account_login: Account login
|
||||
cas_signup_link: Aanvragen account
|
||||
session_will_not_expire: sessie zal niet verlopen.
|
||||
successful: Succesvol aangemeld. Welkom terug!
|
||||
session_time_out: Sessie is verlopen. Gelieve %{link}
|
||||
session_will_expire: sessie zal verlopen na %{hours} u(u)r(en) van inactiviteit.
|
||||
option_separator: of,
|
||||
session_time_out: Sessie is verlopen. Gelieve %{link}
|
||||
login_standard: Ga terug naar de standaard login
|
||||
log_in_again: log opnieuw in.
|
||||
logged_out: Je bent afgemeld bij Tracks.
|
||||
login_with_openid: inloggen met een OpenID
|
||||
unsuccessful: Login mislukt.
|
||||
log_in_again: log opnieuw in.
|
||||
search:
|
||||
contexts_matching_query: Contexten passend bij zoekopdracht
|
||||
tags_matching_query: Tags passend bij zoekopdracht
|
||||
todos_matching_query: Todos passend bij zoekopdracht
|
||||
projects_matching_query: Projecten passend bij zoekopdracht
|
||||
notes_matching_query: Notities passend bij zoekopdracht
|
||||
no_results: Uw zoekopdracht heeft geen resultaten opgeleverd.
|
||||
todos_matching_query: Todos passend bij zoekopdracht
|
||||
projects_matching_query: Projecten passend bij zoekopdracht
|
||||
|
|
|
|||
|
|
@ -23,23 +23,7 @@ Feature: dependencies
|
|||
When I expand the dependencies of "Todo 2"
|
||||
Then I should see "Todo 3" within the dependencies of "Todo 2"
|
||||
|
||||
@selenium @wip
|
||||
Scenario: Adding dependency with comma to todo # for #975
|
||||
Given I have a context called "@pc"
|
||||
And I have a project "dependencies" that has the following todos
|
||||
| description | context |
|
||||
| test,1, 2,3 | @pc |
|
||||
| test me | @pc |
|
||||
When I visit the "dependencies" project
|
||||
And I drag "test me" to "test,1, 2,3"
|
||||
Then the successors of "test,1, 2,3" should include "test me"
|
||||
When I edit the dependency of "test me" to "'test,1, 2,3' <'@pc'; 'dependencies'>,'test,1, 2,3' <'@pc'; 'dependencies'>"
|
||||
Then there should not be an error
|
||||
|
||||
Scenario: Deleting a predecessor will activate successors
|
||||
Given this is a pending scenario
|
||||
|
||||
@selenium @wip
|
||||
@selenium
|
||||
Scenario: I can edit a todo to add the todo as a dependency to another
|
||||
Given I have a context called "@pc"
|
||||
And I have a project "dependencies" that has the following todos
|
||||
|
|
@ -48,18 +32,18 @@ Feature: dependencies
|
|||
| test 2 | @pc |
|
||||
| test 3 | @pc |
|
||||
When I visit the "dependencies" project
|
||||
When I edit the dependency of "test 1" to "'test 2' <'@pc'; 'dependencies'>"
|
||||
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
|
||||
When I edit the dependency of "test 1" to "'test 2' <'@pc'; 'dependencies'>, 'test 3' <'@pc'; 'dependencies'>"
|
||||
When I edit the dependency of "test 1" to add "test 3" as predecessor
|
||||
Then I should see "test 1" within the dependencies of "test 2"
|
||||
Then I should see "test 1" within the dependencies of "test 3"
|
||||
When I edit the dependency of "test 1" to "'test 2' <'@pc'; 'dependencies'>"
|
||||
And I edit the dependency of "test 2" to "'test 3' <'@pc'; 'dependencies'>"
|
||||
When I edit the dependency of "test 1" to remove "test 3" as predecessor
|
||||
And I edit the dependency of "test 2" to add "test 3" as predecessor
|
||||
Then I should see "test 1" within the dependencies of "test 3"
|
||||
Then I should see "test 2" within the dependencies of "test 3"
|
||||
|
||||
@selenium @wip
|
||||
@selenium
|
||||
Scenario: I can remove a dependency by editing the todo
|
||||
Given I have a context called "@pc"
|
||||
And I have a project "dependencies" that has the following todos
|
||||
|
|
@ -69,12 +53,44 @@ Feature: dependencies
|
|||
And "test 1" depends on "test 2"
|
||||
When I visit the "dependencies" project
|
||||
Then I should see "test 1" in the deferred container
|
||||
When I edit the dependency of "test 1" to ""
|
||||
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"
|
||||
And I should not see "test 1" in the deferred container
|
||||
|
||||
@selenium
|
||||
Scenario: Completing a predecessor will activate successors
|
||||
Given I have a context called "@pc"
|
||||
And I have a project "dependencies" that has the following todos
|
||||
| description | context |
|
||||
| test 1 | @pc |
|
||||
| test 2 | @pc |
|
||||
| test 3 | @pc |
|
||||
And "test 2" depends on "test 1"
|
||||
When I visit 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
|
||||
Then I should see "test 1" in the completed container
|
||||
And I should see "test 2" in the action container
|
||||
And I should not see "test 2" in the deferred container
|
||||
And I should see the empty message in the deferred container
|
||||
|
||||
@selenium
|
||||
Scenario: Deleting a predecessor will activate successors
|
||||
Given this is a pending scenario
|
||||
Given I have a context called "@pc"
|
||||
And I have a project "dependencies" that has the following todos
|
||||
| description | context |
|
||||
| test 1 | @pc |
|
||||
| test 2 | @pc |
|
||||
| test 3 | @pc |
|
||||
And "test 2" depends on "test 1"
|
||||
When I visit 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"
|
||||
And I should see "test 2" in the action container
|
||||
And I should not see "test 2" in the deferred container
|
||||
And I should see the empty message in the deferred container
|
||||
|
||||
Scenario: Deleting a successor will update predecessor
|
||||
Given this is a pending scenario
|
||||
Given this is a pending scenario
|
||||
|
|
|
|||
116
features/step_definitions/dependencies_steps.rb
Normal file
116
features/step_definitions/dependencies_steps.rb
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
Given /^"([^"]*)" depends on "([^"]*)"$/ do |successor_name, predecessor_name|
|
||||
successor = Todo.find_by_description(successor_name)
|
||||
predecessor = Todo.find_by_description(predecessor_name)
|
||||
|
||||
successor.add_predecessor(predecessor)
|
||||
successor.state = "pending"
|
||||
successor.save!
|
||||
end
|
||||
|
||||
When /^I drag "(.*)" to "(.*)"$/ do |dragged, target|
|
||||
drag_id = Todo.find_by_description(dragged).id
|
||||
drop_id = Todo.find_by_description(target).id
|
||||
drag_name = "xpath=//div[@id='line_todo_#{drag_id}']//img[@class='grip']"
|
||||
drop_name = "xpath=//div[@id='line_todo_#{drop_id}']//div[@class='description']"
|
||||
|
||||
selenium.drag_and_drop_to_object(drag_name, drop_name)
|
||||
|
||||
arrow = "xpath=//div[@id='line_todo_#{drop_id}']/div/a[@class='show_successors']/img"
|
||||
selenium.wait_for_element(arrow, :timeout_in_seconds => 5)
|
||||
end
|
||||
|
||||
When /^I expand the dependencies of "([^\"]*)"$/ do |todo_name|
|
||||
todo = Todo.find_by_description(todo_name)
|
||||
todo.should_not be_nil
|
||||
|
||||
expand_img_locator = "xpath=//div[@id='line_todo_#{todo.id}']/div/a[@class='show_successors']/img"
|
||||
selenium.click(expand_img_locator)
|
||||
end
|
||||
|
||||
When /^I edit the dependency of "([^"]*)" to add "([^"]*)" as predecessor$/ do |todo_description, predecessor_description|
|
||||
todo = @current_user.todos.find_by_description(todo_description)
|
||||
todo.should_not be_nil
|
||||
predecessor = @current_user.todos.find_by_description(predecessor_description)
|
||||
predecessor.should_not be_nil
|
||||
|
||||
open_edit_form_for(todo)
|
||||
|
||||
input = "xpath=//form[@id='form_todo_#{todo.id}']//input[@id='predecessor_input']"
|
||||
selenium.focus(input)
|
||||
selenium.type_keys input, predecessor_description
|
||||
|
||||
# wait for auto complete
|
||||
autocomplete = "xpath=//a[@id='ui-active-menuitem']"
|
||||
selenium.wait_for_element(autocomplete, :timeout_in_seconds => 5)
|
||||
|
||||
# click first line
|
||||
first_elem = "xpath=//ul/li[1]/a[@id='ui-active-menuitem']"
|
||||
selenium.click(first_elem)
|
||||
|
||||
new_dependency_line = "xpath=//li[@id='pred_#{predecessor.id}']"
|
||||
selenium.wait_for_element(new_dependency_line, :timeout_in_seconds => 5)
|
||||
|
||||
submit_edit_todo_form(todo)
|
||||
end
|
||||
|
||||
When /^I edit the dependency of "([^"]*)" to remove "([^"]*)" as predecessor$/ do |todo_description, predecessor_description|
|
||||
todo = @current_user.todos.find_by_description(todo_description)
|
||||
todo.should_not be_nil
|
||||
predecessor = @current_user.todos.find_by_description(predecessor_description)
|
||||
predecessor.should_not be_nil
|
||||
|
||||
open_edit_form_for(todo)
|
||||
|
||||
delete_dep_button = "xpath=//form[@id='form_todo_#{todo.id}']//img[@id='delete_dep_#{predecessor.id}']"
|
||||
selenium.click(delete_dep_button)
|
||||
wait_for :timeout=>5 do
|
||||
!selenium.is_element_present(delete_dep_button)
|
||||
end
|
||||
|
||||
submit_edit_todo_form(todo)
|
||||
# note that animations will be running after the ajax is completed
|
||||
end
|
||||
|
||||
When /^I edit the dependency of "([^"]*)" to "([^"]*)"$/ do |todo_name, deps|
|
||||
todo = @dep_todo = @current_user.todos.find_by_description(todo_name)
|
||||
todo.should_not be_nil
|
||||
|
||||
open_edit_form_for(todo)
|
||||
fill_in "predecessor_list_todo_#{todo.id}", :with => deps
|
||||
submit_edit_todo_form(todo)
|
||||
end
|
||||
|
||||
Then /^the successors of "(.*)" should include "(.*)"$/ do |parent_name, child_name|
|
||||
parent = @current_user.todos.find_by_description(parent_name)
|
||||
parent.should_not be_nil
|
||||
|
||||
child = parent.pending_successors.find_by_description(child_name)
|
||||
child.should_not be_nil
|
||||
end
|
||||
|
||||
Then /^I should see "([^\"]*)" within the dependencies of "([^\"]*)"$/ do |successor_description, todo_description|
|
||||
todo = @current_user.todos.find_by_description(todo_description)
|
||||
todo.should_not be_nil
|
||||
successor = @current_user.todos.find_by_description(successor_description)
|
||||
successor.should_not be_nil
|
||||
|
||||
# argh, webrat on selenium does not support within, so this won't work
|
||||
# xpath = "//div[@id='line_todo_#{todo.id}'"
|
||||
# Then "I should see \"#{successor_description}\" within \"xpath=#{xpath}\""
|
||||
|
||||
# let selenium look for the presence of the successor
|
||||
xpath = "xpath=//div[@id='line_todo_#{todo.id}']//div[@id='successor_line_todo_#{successor.id}']//span"
|
||||
selenium.wait_for_element(xpath, :timeout_in_seconds => 5)
|
||||
end
|
||||
|
||||
Then /^I should not see "([^"]*)" within the dependencies of "([^"]*)"$/ do |successor_description, todo_description|
|
||||
todo = @current_user.todos.find_by_description(todo_description)
|
||||
todo.should_not be_nil
|
||||
successor = @current_user.todos.find_by_description(successor_description)
|
||||
successor.should_not be_nil
|
||||
# let selenium look for the presence of the successor
|
||||
xpath = "xpath=//div[@id='line_todo_#{todo.id}']//div[@id='successor_line_todo_#{successor.id}']//span"
|
||||
wait_for :timeout => 5 do
|
||||
!selenium.is_element_present(xpath)
|
||||
end
|
||||
end
|
||||
|
|
@ -31,7 +31,7 @@ Then /^I should see "([^"]*)" as the selected context$/ do |context_name|
|
|||
end
|
||||
|
||||
Then /^I should see feeds for "([^"]*)" in list of "([^"]*)"$/ do |name, list_type|
|
||||
selenium.wait_for :wait_for => :ajax, :javascript_framework => :jquery
|
||||
wait_for_ajax
|
||||
xpath= "//div[@id='feeds-for-#{list_type}']//strong"
|
||||
name.should == response.selenium.get_text("xpath=#{xpath}")
|
||||
end
|
||||
|
|
|
|||
|
|
@ -2,6 +2,10 @@ Given /this is a pending scenario/ do
|
|||
pending
|
||||
end
|
||||
|
||||
Given /^I am working on the mobile interface$/ do
|
||||
@mobile_interface = true
|
||||
end
|
||||
|
||||
Then /the badge should show (.*)/ do |number|
|
||||
badge = -1
|
||||
xpath= "//span[@id='badge_count']"
|
||||
|
|
@ -18,6 +22,8 @@ Then /the badge should show (.*)/ do |number|
|
|||
badge.should == number.to_i
|
||||
end
|
||||
|
||||
Given /^I am working on the mobile interface$/ do
|
||||
@mobile_interface = true
|
||||
Then /^I should see the empty message in the deferred container$/ do
|
||||
wait_for :timeout => 5 do
|
||||
selenium.is_visible("xpath=//div[@id='tickler']//div[@id='tickler-empty-nd']")
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -39,13 +39,13 @@ end
|
|||
|
||||
When /^I sort the active list alphabetically$/ do
|
||||
click_link "Alphabetically"
|
||||
selenium.wait_for :wait_for => :ajax, :javascript_framework => :jquery
|
||||
wait_for_ajax
|
||||
selenium.get_confirmation.should == "Are you sure that you want to sort these projects alphabetically? This will replace the existing sort order."
|
||||
end
|
||||
|
||||
When /^I sort the list by number of tasks$/ do
|
||||
click_link "By number of tasks"
|
||||
selenium.wait_for :wait_for => :ajax, :javascript_framework => :jquery
|
||||
wait_for_ajax
|
||||
selenium.get_confirmation.should == "Are you sure that you want to sort these projects by the number of tasks? This will replace the existing sort order."
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ When /^I edit the name of the pattern "([^\"]*)" to "([^\"]*)"$/ do |pattern_nam
|
|||
pattern.should_not be_nil
|
||||
click_link "link_edit_recurring_todo_#{pattern.id}"
|
||||
|
||||
selenium.wait_for :wait_for => :ajax, :javascript_framework => :jquery
|
||||
wait_for_ajax
|
||||
|
||||
fill_in "edit_recurring_todo_description", :with => new_name
|
||||
selenium.click "recurring_todo_edit_action_submit"
|
||||
|
|
@ -49,7 +49,7 @@ When /^I star the pattern "([^\"]*)"$/ do |pattern_name|
|
|||
pattern = @current_user.recurring_todos.find_by_description(pattern_name)
|
||||
pattern.should_not be_nil
|
||||
click_link "star_icon_#{pattern.id}"
|
||||
selenium.wait_for :wait_for => :ajax, :javascript_framework => :jquery
|
||||
wait_for_ajax
|
||||
end
|
||||
|
||||
When /^I delete the pattern "([^"]*)"$/ do |pattern_name|
|
||||
|
|
@ -67,7 +67,7 @@ When /^I mark the pattern "([^"]*)" as complete$/ do |pattern_name|
|
|||
pattern.should_not be_nil
|
||||
pattern.completed?.should be_false
|
||||
selenium.click "check_#{pattern.id}"
|
||||
selenium.wait_for :wait_for => :ajax, :javascript_framework => :jquery
|
||||
wait_for_ajax
|
||||
end
|
||||
|
||||
When /^I mark the pattern "([^"]*)" as active$/ do |pattern_name|
|
||||
|
|
@ -75,7 +75,7 @@ When /^I mark the pattern "([^"]*)" as active$/ do |pattern_name|
|
|||
pattern.should_not be_nil
|
||||
pattern.completed?.should be_true
|
||||
selenium.click "check_#{pattern.id}"
|
||||
selenium.wait_for :wait_for => :ajax, :javascript_framework => :jquery
|
||||
wait_for_ajax
|
||||
end
|
||||
|
||||
Then /^the state list "([^"]*)" should be empty$/ do |state|
|
||||
|
|
|
|||
|
|
@ -45,15 +45,6 @@ Given /^I have ([0-9]+) completed todos with a note$/ do |count|
|
|||
end
|
||||
end
|
||||
|
||||
Given /^"(.*)" depends on "(.*)"$/ do |successor_name, predecessor_name|
|
||||
successor = Todo.find_by_description(successor_name)
|
||||
predecessor = Todo.find_by_description(predecessor_name)
|
||||
|
||||
successor.add_predecessor(predecessor)
|
||||
successor.state = "pending"
|
||||
successor.save!
|
||||
end
|
||||
|
||||
Given /^I have a project "([^"]*)" that has the following todos$/ do |project_name, todos|
|
||||
Given "I have a project called \"#{project_name}\""
|
||||
@project.should_not be_nil
|
||||
|
|
@ -70,26 +61,6 @@ Given /^I have a project "([^"]*)" that has the following todos$/ do |project_na
|
|||
end
|
||||
end
|
||||
|
||||
When /^I drag "(.*)" to "(.*)"$/ do |dragged, target|
|
||||
drag_id = Todo.find_by_description(dragged).id
|
||||
drop_id = Todo.find_by_description(target).id
|
||||
drag_name = "xpath=//div[@id='line_todo_#{drag_id}']//img[@class='grip']"
|
||||
drop_name = "xpath=//div[@id='line_todo_#{drop_id}']//div[@class='description']"
|
||||
|
||||
selenium.drag_and_drop_to_object(drag_name, drop_name)
|
||||
|
||||
arrow = "xpath=//div[@id='line_todo_#{drop_id}']/div/a[@class='show_successors']/img"
|
||||
selenium.wait_for_element(arrow, :timeout_in_seconds => 5)
|
||||
end
|
||||
|
||||
When /^I expand the dependencies of "([^\"]*)"$/ do |todo_name|
|
||||
todo = Todo.find_by_description(todo_name)
|
||||
todo.should_not be_nil
|
||||
|
||||
expand_img_locator = "xpath=//div[@id='line_todo_#{todo.id}']/div/a[@class='show_successors']/img"
|
||||
selenium.click(expand_img_locator)
|
||||
end
|
||||
|
||||
When /I change the (.*) field of "([^\"]*)" to "([^\"]*)"$/ do |field, todo_name, new_value|
|
||||
todo = @current_user.todos.find_by_description(todo_name)
|
||||
todo.should_not be_nil
|
||||
|
|
@ -174,15 +145,6 @@ When /^I submit the new multiple actions form with$/ do |multi_line_descriptions
|
|||
submit_multiple_next_action_form
|
||||
end
|
||||
|
||||
When /^I edit the dependency of "([^"]*)" to "([^"]*)"$/ do |todo_name, deps|
|
||||
todo = @dep_todo = @current_user.todos.find_by_description(todo_name)
|
||||
todo.should_not be_nil
|
||||
|
||||
open_edit_form_for(todo)
|
||||
fill_in "predecessor_list_todo_#{todo.id}", :with => deps
|
||||
submit_edit_todo_form(todo)
|
||||
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
|
||||
|
|
@ -199,6 +161,30 @@ When /^I clear the due date of "([^"]*)"$/ do |action_description|
|
|||
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}"
|
||||
wait_for :timeout => 5 do
|
||||
!selenium.is_element_present("//div[@id='p#{todo.project.id}items']//div[@id='line_todo_#{todo.id}']")
|
||||
end
|
||||
# note that animations could be running after finishing this
|
||||
end
|
||||
|
||||
When /^I delete the action "([^"]*)"$/ do |action_description|
|
||||
todo = @current_user.todos.find_by_description(action_description)
|
||||
todo.should_not be_nil
|
||||
|
||||
delete_todo_button = "xpath=//a[@id='delete_todo_#{todo.id}']/img"
|
||||
selenium.click delete_todo_button
|
||||
selenium.get_confirmation.should == "Are you sure that you want to delete the action '#{todo.description}'?"
|
||||
|
||||
wait_for :timeout => 5 do
|
||||
!selenium.is_element_present("//div[@id='line_todo_#{todo.id}']")
|
||||
end
|
||||
end
|
||||
|
||||
Then /^I should see ([0-9]+) todos$/ do |count|
|
||||
count.to_i.downto 1 do |i|
|
||||
match_xpath "div["
|
||||
|
|
@ -208,43 +194,11 @@ end
|
|||
Then /^there should not be an error$/ do
|
||||
sleep(5)
|
||||
# form should be gone and thus no errors visible
|
||||
selenium.is_visible("edit_todo_#{@dep_todo.id}").should == false
|
||||
wait_for :timeout => 5 do
|
||||
!selenium.is_visible("edit_todo_#{@dep_todo.id}")
|
||||
end
|
||||
end
|
||||
|
||||
Then /^the successors of "(.*)" should include "(.*)"$/ do |parent_name, child_name|
|
||||
parent = @current_user.todos.find_by_description(parent_name)
|
||||
parent.should_not be_nil
|
||||
|
||||
child = parent.pending_successors.find_by_description(child_name)
|
||||
child.should_not be_nil
|
||||
end
|
||||
|
||||
Then /^I should see "([^\"]*)" within the dependencies of "([^\"]*)"$/ do |successor_description, todo_description|
|
||||
todo = @current_user.todos.find_by_description(todo_description)
|
||||
todo.should_not be_nil
|
||||
successor = @current_user.todos.find_by_description(successor_description)
|
||||
successor.should_not be_nil
|
||||
|
||||
# argh, webrat on selenium does not support within, so this won't work
|
||||
# xpath = "//div[@id='line_todo_#{todo.id}'"
|
||||
# Then "I should see \"#{successor_description}\" within \"xpath=#{xpath}\""
|
||||
|
||||
# let selenium look for the presence of the successor
|
||||
xpath = "xpath=//div[@id='line_todo_#{todo.id}']//div[@id='successor_line_todo_#{successor.id}']//span"
|
||||
selenium.wait_for_element(xpath, :timeout_in_seconds => 5)
|
||||
end
|
||||
|
||||
Then /^I should not see "([^"]*)" within the dependencies of "([^"]*)"$/ do |successor_description, todo_description|
|
||||
todo = @current_user.todos.find_by_description(todo_description)
|
||||
todo.should_not be_nil
|
||||
successor = @current_user.todos.find_by_description(successor_description)
|
||||
successor.should_not be_nil
|
||||
# let selenium look for the presence of the successor
|
||||
xpath = "xpath=//div[@id='line_todo_#{todo.id}']//div[@id='successor_line_todo_#{successor.id}']//span"
|
||||
selenium.is_element_present(xpath).should be_false
|
||||
end
|
||||
|
||||
|
||||
Then /^I should see the todo "([^\"]*)"$/ do |todo_description|
|
||||
selenium.is_element_present("//span[.=\"#{todo_description}\"]").should be_true
|
||||
end
|
||||
|
|
@ -269,8 +223,7 @@ Then /^the container for the context "([^"]*)" should not be visible$/ do |conte
|
|||
context = @current_user.contexts.find_by_name(context_name)
|
||||
context.should_not be_nil
|
||||
xpath = "xpath=//div[@id=\"c#{context.id}\"]"
|
||||
selenium.wait_for :wait_for => :ajax, :javascript_framework => :jquery
|
||||
selenium.is_element_present(xpath).should be_false
|
||||
wait_for_ajax selenium.is_element_present(xpath).should be_false
|
||||
end
|
||||
|
||||
Then /^a confirmation for adding a new context "([^"]*)" should be asked$/ do |context_name|
|
||||
|
|
@ -283,7 +236,31 @@ Then /^I should see "([^"]*)" in the deferred container$/ do |todo_description|
|
|||
|
||||
xpath = "//div[@id='tickler']//div[@id='line_todo_#{todo.id}']"
|
||||
|
||||
selenium.is_element_present(xpath).should be_true
|
||||
wait_for :timeout => 5 do
|
||||
selenium.is_element_present(xpath)
|
||||
end
|
||||
end
|
||||
|
||||
Then /^I should see "([^"]*)" in the action container$/ do |todo_description|
|
||||
todo = @current_user.todos.find_by_description(todo_description)
|
||||
todo.should_not be_nil
|
||||
|
||||
xpath = "//div[@id='p#{todo.project.id}items']//div[@id='line_todo_#{todo.id}']"
|
||||
|
||||
wait_for :timeout => 5 do
|
||||
selenium.is_element_present(xpath)
|
||||
end
|
||||
end
|
||||
|
||||
Then /^I should see "([^"]*)" in the completed container$/ do |todo_description|
|
||||
todo = @current_user.todos.find_by_description(todo_description)
|
||||
todo.should_not be_nil
|
||||
|
||||
xpath = "//div[@id='completed_container']//div[@id='line_todo_#{todo.id}']"
|
||||
|
||||
wait_for :timeout => 5 do
|
||||
selenium.is_element_present(xpath)
|
||||
end
|
||||
end
|
||||
|
||||
Then /^I should not see "([^"]*)" in the deferred container$/ do |todo_description|
|
||||
|
|
@ -292,7 +269,9 @@ Then /^I should not see "([^"]*)" in the deferred container$/ do |todo_descripti
|
|||
|
||||
xpath = "//div[@id='tickler']//div[@id='line_todo_#{todo.id}']"
|
||||
|
||||
selenium.is_element_present(xpath).should be_false
|
||||
wait_for :timeout => 5 do
|
||||
!selenium.is_element_present(xpath)
|
||||
end
|
||||
end
|
||||
|
||||
Then /^the selected project should be "([^"]*)"$/ do |content|
|
||||
|
|
|
|||
|
|
@ -44,6 +44,10 @@ module TracksStepHelper
|
|||
# click edit
|
||||
selenium.click("//div[@id='line_todo_#{todo.id}']//img[@id='edit_icon_todo_#{todo.id}']", :wait_for => :ajax, :javascript_framework => :jquery)
|
||||
end
|
||||
|
||||
def wait_for_ajax
|
||||
selenium.wait_for :wait_for => :ajax, :javascript_framework => :jquery
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -342,6 +342,9 @@ var TodoItems = {
|
|||
var li = "<li style=\"display:none\" id=\"pred_"+todo_id+"\">"+ anchor +" "+ todo_spec + "</li>";
|
||||
return li;
|
||||
},
|
||||
highlight_todo: function(id) {
|
||||
$(id).effect('highlight', {}, 2000, function(){ });
|
||||
},
|
||||
setup_behavior: function() {
|
||||
/* show the notes of a todo */
|
||||
$(".show_notes").live('click', function () {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue