diff --git a/README.rdoc b/README.rdoc index 320c8ea..8624ea2 100755 --- a/README.rdoc +++ b/README.rdoc @@ -16,4 +16,37 @@ rm -r plugins/redmine_agile == Test bundle exec rake db:drop db:create db:migrate redmine:plugins RAILS_ENV=test -bundle exec rake test TEST="plugins/redmine_agile/test/**/*_test.rb" RAILS_ENV=test \ No newline at end of file +bundle exec rake test TEST="plugins/redmine_agile/test/**/*_test.rb" RAILS_ENV=test + +== API + +* REST API agile_sprint + +API request #index +GET /projests//agile_spints.xml or /projests//agile_spints.json + +API request #show +GET /projests//agile_spints/.xml or /projests//agile_spints/.json +Example: GET demo.redmineup.com/projects/agile/agile_sprints/3.json + +API request #create +POST /projects//agile_sprints.json?key= + { + "agile_sprint": { + "name": "Sprint 46", + "start_date": "23.07.2022", + "end_date": "24.07.2022" + } +} + +API request #update +PUT /projects//agile_sprints/.json?key= + { + "agile_sprint": { + "name": "New name", + } +} + +API request #destroy +DELETE /projests//agile_spints/.xml or /projests//agile_spints/.json +Example: DELETE demo.redmineup.com/projects/agile/agile_sprints/67.json diff --git a/app/controllers/agile_boards_controller.rb b/app/controllers/agile_boards_controller.rb index 1f6b824..4790187 100755 --- a/app/controllers/agile_boards_controller.rb +++ b/app/controllers/agile_boards_controller.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/app/controllers/agile_charts_controller.rb b/app/controllers/agile_charts_controller.rb index 101b76d..b96bdf4 100644 --- a/app/controllers/agile_charts_controller.rb +++ b/app/controllers/agile_charts_controller.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/app/controllers/agile_charts_queries_controller.rb b/app/controllers/agile_charts_queries_controller.rb index fcebd28..909be70 100644 --- a/app/controllers/agile_charts_queries_controller.rb +++ b/app/controllers/agile_charts_queries_controller.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/app/controllers/agile_journal_details_controller.rb b/app/controllers/agile_journal_details_controller.rb index 8fdc24c..0ecd871 100644 --- a/app/controllers/agile_journal_details_controller.rb +++ b/app/controllers/agile_journal_details_controller.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/app/helpers/agile_boards_helper.rb b/app/helpers/agile_boards_helper.rb index 2a97ab2..6778b0a 100644 --- a/app/helpers/agile_boards_helper.rb +++ b/app/helpers/agile_boards_helper.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify @@ -86,6 +86,14 @@ module AgileBoardsHelper content_tag(:span, "(#{hours.join('/')})", :class => 'hours') unless hours.blank? end + def render_sprint_total_time_story_points(query, sprint) + sp = query.sprint_total_time_story_points(query, sprint) + + if sp.positive? + "(#{"%.2f" % sp})sp" + end + end + def agile_progress_bar(pcts, options={}) pcts = [pcts, pcts] unless pcts.is_a?(Array) pcts = pcts.collect(&:round) diff --git a/app/helpers/agile_charts_helper.rb b/app/helpers/agile_charts_helper.rb index 4484997..1f1d4fb 100644 --- a/app/helpers/agile_charts_helper.rb +++ b/app/helpers/agile_charts_helper.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/app/helpers/agile_support_helper.rb b/app/helpers/agile_support_helper.rb index b063766..ec05b1c 100644 --- a/app/helpers/agile_support_helper.rb +++ b/app/helpers/agile_support_helper.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/app/models/agile_charts_query.rb b/app/models/agile_charts_query.rb index 63a5aae..db5d0b6 100644 --- a/app/models/agile_charts_query.rb +++ b/app/models/agile_charts_query.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/app/models/agile_data.rb b/app/models/agile_data.rb index 8a159a2..afec8e1 100755 --- a/app/models/agile_data.rb +++ b/app/models/agile_data.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/app/models/agile_query.rb b/app/models/agile_query.rb index c394099..5eecb8f 100644 --- a/app/models/agile_query.rb +++ b/app/models/agile_query.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify @@ -140,6 +140,8 @@ class AgileQuery < Query end def build_from_params(params) + params = params.permit!.to_h if params.is_a?(ActionController::Parameters) && Rails.version > '5.0' + if params[:fields] || params[:f] self.filters = {} add_filters(params[:fields] || params[:f], params[:operators] || params[:op], params[:values] || params[:v]) @@ -610,7 +612,7 @@ class AgileQuery < Query return @board_issue_statuses if @board_issue_statuses status_ids = - if tracker_ids = Tracker.eager_load(issues: [:project]).where(statement).pluck(:id) + if tracker_ids = Tracker.eager_load(issues: [{ project: :versions }]).where(statement).pluck(:id) WorkflowTransition.where(tracker_id: tracker_ids).distinct.pluck(:old_status_id, :new_status_id).flatten.uniq else [] @@ -637,16 +639,18 @@ class AgileQuery < Query end def statement - if values_for('fixed_version_id') == ['current_version'] && project - version = current_version - # substitute id for current version - version ? filters['fixed_version_id'][:values] = [version.id.to_s] : filters.delete('fixed_version_id') + incoming_values = filters['fixed_version_id'][:values] if filters['fixed_version_id'] + + if values_for('fixed_version_id') == ['current_version'] && project && !current_version + filters.delete('fixed_version_id') + elsif values_for('fixed_version_id') && values_for('fixed_version_id').include?('current_version') && project + # convert identifier of current version to integer + filters['fixed_version_id'][:values] = incoming_values.map { |el| el == 'current_version' ? current_version.id.to_s : el } end + clauses = super - if version - # return string for correct value in a select on a form - filters['fixed_version_id'][:values] = ['current_version'] - end + # return of incoming filter for correct value in a select on a form + filters['fixed_version_id'][:values] = incoming_values if incoming_values clauses end @@ -664,7 +668,7 @@ class AgileQuery < Query return '1=1' unless project p_ids = [project.id] - p_ids += project.descendants.select { |sub| sub.module_enabled?('agile') }.map(&:id) if Setting.display_subprojects_issues? + p_ids += project.descendants.select { |sub| sub.module_enabled?('agile') }.map(&:id) if Setting.display_subprojects_issues? || has_filter?('subproject_id') p_ids.any? ? "#{Project.table_name}.id IN (#{p_ids.join(',')})" : '1=0' end diff --git a/app/models/agile_statuses_collector.rb b/app/models/agile_statuses_collector.rb index 21a679f..60640e7 100644 --- a/app/models/agile_statuses_collector.rb +++ b/app/models/agile_statuses_collector.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/app/views/agile_boards/_index.html.erb b/app/views/agile_boards/_index.html.erb index 95e32c8..e3d734e 100644 --- a/app/views/agile_boards/_index.html.erb +++ b/app/views/agile_boards/_index.html.erb @@ -19,7 +19,7 @@ <%= hidden_field_tag 'set_filter', '1' %>
"> - <%= l(:label_filter_plural) %> + "><%= l(:label_filter_plural) %>
"> <%= render :partial => 'queries/filters', :locals => {:query => @query} %>
diff --git a/app/views/agile_boards/agile_data.api.rsb b/app/views/agile_boards/agile_data.api.rsb index 0971d98..79bdddf 100644 --- a/app/views/agile_boards/agile_data.api.rsb +++ b/app/views/agile_boards/agile_data.api.rsb @@ -4,4 +4,5 @@ api.agile_data do api.position @agile_data.position api.story_points @agile_data.story_points api.agile_sprint_id @agile_data.agile_sprint_id + end diff --git a/app/views/agile_charts/show.html.erb b/app/views/agile_charts/show.html.erb index 19843ec..2f80c03 100644 --- a/app/views/agile_charts/show.html.erb +++ b/app/views/agile_charts/show.html.erb @@ -9,13 +9,13 @@ <%= hidden_field_tag 'set_filter', '1' %>
- <%= l(:label_filter_plural) %> + "><%= l(:label_filter_plural) %>
<%= render :partial => 'queries/filters', :locals => {:query => @query} %>
- <%= l(:label_options) %> + <%= l(:label_options) %>
diff --git a/app/views/issues/_agile_data_fields.html.erb b/app/views/issues/_agile_data_fields.html.erb index be8cdbf..045c9ae 100644 --- a/app/views/issues/_agile_data_fields.html.erb +++ b/app/views/issues/_agile_data_fields.html.erb @@ -1,7 +1,11 @@
- <%= render :partial => 'issue_story_points_form', :locals => { :form => form } %>
+ <% if RedmineAgile.use_story_points_for?(@issue.tracker) %> +
+ <%= render :partial => 'issue_story_points_form', :locals => { :form => form } %> +
+ <% end %>
<% content_for :header_tags do %> diff --git a/app/views/issues/_agile_data_fields_bulk_edit.html.erb b/app/views/issues/_agile_data_fields_bulk_edit.html.erb new file mode 100644 index 0000000..6c3afe8 --- /dev/null +++ b/app/views/issues/_agile_data_fields_bulk_edit.html.erb @@ -0,0 +1,5 @@ + + +<% content_for :header_tags do %> + <%= javascript_include_tag "redmine_agile", :plugin => 'redmine_agile' %> +<% end %> diff --git a/app/views/issues/_issue_spint_form.html.erb b/app/views/issues/_issue_spint_form.html.erb deleted file mode 100644 index 8b13789..0000000 --- a/app/views/issues/_issue_spint_form.html.erb +++ /dev/null @@ -1 +0,0 @@ - diff --git a/app/views/issues/_issue_story_points_form.html.erb b/app/views/issues/_issue_story_points_form.html.erb index 9761dd2..5ed635f 100644 --- a/app/views/issues/_issue_story_points_form.html.erb +++ b/app/views/issues/_issue_story_points_form.html.erb @@ -1,9 +1,10 @@ -<% if @issue.project.module_enabled?('agile') && RedmineAgile.use_story_points? && RedmineAgile.use_story_points_for?(@issue.tracker) %> -
+<% if @issue.project.module_enabled?('agile') && RedmineAgile.use_story_points? %> +
<%= form.fields_for :agile_data do |f| %>

<%= f.text_field :story_points, :size => 3, :required => @issue.required_attribute?('agile_data_attributes') %>

<% end %>
+
<% end %> diff --git a/app/views/issues/_issues_story_points_bulk_edit.html.erb b/app/views/issues/_issues_story_points_bulk_edit.html.erb new file mode 100644 index 0000000..8d987e3 --- /dev/null +++ b/app/views/issues/_issues_story_points_bulk_edit.html.erb @@ -0,0 +1,8 @@ +<% if @project.module_enabled?('agile') && + RedmineAgile.use_story_points? && + RedmineAgile.use_story_points_for?(@target_tracker) %> +

+ <%= label_tag 'issue_agile_data_attributes_story_points', l(:label_agile_story_points) %> + <%= text_field_tag 'issue[agile_data_attributes][story_points]', '', :size => 3 %> +

+<% end %> diff --git a/assets/javascripts/redmine_agile.js b/assets/javascripts/redmine_agile.js index 58a385d..e67e989 100755 --- a/assets/javascripts/redmine_agile.js +++ b/assets/javascripts/redmine_agile.js @@ -620,9 +620,36 @@ function recalculateHours() { }); } -function recalculateSprintHours() { +function recalculateSprintHours(url, options) { + var $sprint_ids = []; + var $sprintValueExist = $('span.sprint-estimate').text().trim() + + $('div.column-issues').each(function() { + if($(this).attr('data-sprint-id') !== '') { + $sprint_ids.push($(this).attr('data-sprint-id')); + } + }); + if($sprint_ids.length > 0 && $sprintValueExist) { + $.ajax({ + url: url, + type: "get", + data: {sprint_ids: $sprint_ids}, + success: function (data, status, xhr) { + refreshStoryPointsValues(data); + }, + error: function (xhr, status, error) { + var alertMessage = parseErrorResponse(xhr.responseText); + if (alertMessage) { + setErrorMessage(alertMessage); + } + } + }); + } +} + +function recalculateEstimatedHours() { var unit = $(".planning-board").data('estimated-unit'); - var dataAttr = unit == 'sp' ? 'story-points' : 'estimated-hours'; + var dataAttr = 'estimated-hours'; $('.sprint-column').each(function(i, elem){ var versionEstimationSum = 0; @@ -636,6 +663,18 @@ function recalculateSprintHours() { }); } +function refreshStoryPointsValues(values) { + $('div.column-issues').each(function() { + var sprint = $(this).attr('data-sprint-id'); + + if(values[sprint]) { + $(this).parent().find('span.sprint-estimate').text("(" + values[sprint] + "sp)"); + } else { + $(this).parent().find('span.sprint-estimate').text(""); + } + }); +} + function showInlineCommentNode(quick_comment){ if(quick_comment){ $(quick_comment).siblings(".last_comment").hide(); diff --git a/assets/stylesheets/redmine_agile.css b/assets/stylesheets/redmine_agile.css index 5327767..33dead0 100755 --- a/assets/stylesheets/redmine_agile.css +++ b/assets/stylesheets/redmine_agile.css @@ -151,6 +151,7 @@ table.list.issues-board th {overflow: hidden; text-overflow: ellipsis;} padding: 5px; border: 1px solid #D5D5D5; background-color: #ffffdd; + z-index: 1; } table.issues-board .issue-status-col.empty { padding-bottom: 30px } diff --git a/config/locales/cs.yml b/config/locales/cs.yml new file mode 100644 index 0000000..f02665d --- /dev/null +++ b/config/locales/cs.yml @@ -0,0 +1,238 @@ +# Czech strings go here for Rails i18n +cs: + label_agile: Agile + label_agile_board: Agile panel + label_agile_board_plural: Agile panely + label_agile_board_thumbnails: Miniatury + label_agile_board_more_issues: Více úkolů + error_agile_status_transition: Nalze změnit status úkolu + label_agile_board_new: Nový agile panel + label_agile_board_edit: Editace agile panelu + label_agile_my_boards: Moje agile panely + label_agile_issue_id: Číslo úkolu + + permission_manage_public_agile_queries: Spravovat veřejné agile panely + permission_add_agile_queries: Přidat agile panel + permission_view_agile_queries: Zobraz agile panely + + #1.1.0 + label_agile_board_default_fields: Výchozí pole karty + label_agile_charts_issues_burndown: Zadání úkolů skončilo + label_agile_charts_work_burndown_hours: Čas vypršel + label_agile_charts_work_burndown_sp: Řešení bodů skončilo + label_agile_charts_number_of_hours: Počet hodin + label_agile_charts_number_of_issues: Počet úkolů + label_agile_charts_cumulative_flow: Cumulative flow + label_agile_charts_trackers_cumulative_flow: Kumulativní pohyb trackerů + label_agile_charts_issues_velocity: Rychlost řešení úkolů + label_agile_charts_cycle_time: Cyklus řešení úkolu + label_agile_charts_lead_time: Cyklus řešení úkolu + label_agile_charts_average_lead_time: Průměrný čas řešení úkolu + label_agile_chart_plural: Grafy + label_agile_chart_new: Nový graf + label_agile_chart_edit: Oprava grafu + permission_view_agile_charts: Zobrazení grafu + label_agile_ideal_work_remaining: Ideální + label_agile_actual_work_remaining: Aktuální + label_agile_chart: Graf + label_agile_date_from: Z + label_agile_date_to: Do + label_agile_chart_dates: Interval grafu + label_agile_weighed_ideal_work_remaining: Ideální vážená hodnota + label_agile_status_colors: Barva statusu + label_agile_charts_burnup: Splnění úkolu + label_agile_charts_number_of_days: Počet dní + label_agile_too_many_items: "Graf nelze vytvořit, protože překračuje maximální počet položek, které lze zobrazit (%{max})" + label_agile_time_reports_items_limit: Problém s grafy založených na časových hodnotách + label_agile_total_work_remaining: Celkem + label_agile_default_chart: Výchozí graf + + #1.1.1 + label_agile_charts_average_velocity: Průměrná rychlost + label_agile_charts_average_number_of_issues: Průměrný počet úkolů + label_agile_charts_average_number_of_hours: Průměrný počet hodin + + #1.2.0 + label_agile_color: Barva + permission_manage_agile_verions: Spravování verzí + label_agile_version_planning: Spravování verzí + error_agile_version_transition: Nelze změnit verzi úkolu + label_agile_tracker_colors: Barva trackeru + label_agile_issue_priority_colors: Barva prioritního úkolu + label_agile_color_based_on: Zbarveno na + label_agile_color_no_colors: Bezbarvý + label_agile_manage_colors: Správa barev + label_agile_fullscreen: Celá obrazovka + label_agile_no_version_issues: Úkol bez verze + label_agile_charts_work_burnup_hours: Splnění úkolu v hodinách + label_agile_charts_work_burnup_sp: Splnění úkolu + label_agile_completed: Kompletní + label_agile_exclude_weekends: Kromě víkendů + label_agile_board_truncated: "Panel byl zkrácena, protože překračuje maximální počet položek, které lze zobrazit (%{max})" + label_agile_board_items_limit: Limit položek panelu + label_agile_swimlanes: Grupovat po + label_agile_minimize_closed: Minimalizovat uzavřené úkoly + label_agile_fields: Pole karty + label_agile_default_board: Výchozí panel + + #1.3.6 + text_agile_move_not_possible: Tento přesun není možný + + #1.3.8 + label_agile_parent_issue_tracker_id: Rodičovská tracker + label_agile_sub_issues: Podúkol + label_agile_color_green: Zelený + label_agile_color_blue: Modrý + label_agile_color_turquoise: Tyrkysový + label_agile_color_lightgreen: Světle zelený + label_agile_color_yellow: Žlutý + label_agile_color_orange: Oranžový + label_agile_color_red: Červený + label_agile_color_purple: Purpurový + label_agile_color_gray: Šedý + label_agile_has_sub_issues: Má podúkoly + label_agile_light_free_version: Agile odlehčená volná verze + label_agile_link_to_pro: Upgrade do PRO + label_agile_link_to_pro_demo: PRO verze živé demo + label_agile_link_to_more_plugins: Najdi více RedmineUP doplňků + label_agile_button_agree: Souhls + label_agile_license: RedmineUP Licence + label_agile_saving_boards: Ukládání panelu + label_agile_horizontal_swim_lines: Horizontalní linky + label_agile_board_sub_columns: Další sloupce panelu + label_agile_additional_agile_charts: Doplňkové agile grafy + label_agile_coloured_issue_cards: Zbervené karty úkolů + label_agile_4_more_features: Více než 4 zlepšení... + label_agile_upgrade_to_pro: Upgradem do PRO verze využijete toto vylepšení + + label_agile_day_in_state: Ve stavu + + #1.3.10 + label_agile_hide_closed_issues_data: Skrytí dat uzavřených úkolů + project_module_agile: Agile + + #1.3.13 + label_agile_last_comment: Poslední komentář + + #1.4.0 + label_agile_esitmate_units: Odhad jednotek + label_agile_trackers_for_sp: Trackeři pro story points + label_agile_story_points: Story points + field_story_points: Story pointa + label_agile_charts_number_of_story_points: Počet story pointů + label_agile_board_columns: Sloupce panelu + lable_agile_wip_limit_exceeded: Překročen limit práce + label_agile_wip_limit: Limit práce + label_agile_add_new_issue: "+ NOVÝ ÚKOL" + label_agile_allow_create_cards: Vytvoření karty + label_agile_auto_assign_on_move: Automatické přiřazení při přesunu + text_agile_create_issue_error: Neznámá chyba při vytváření úkolu + label_agile_inline_comment: Komentář + label_agile_hours: Hodiny + field_color: Barvy + + field_duration: Doba trvání + + field_closed_on_trendline: Uzavřený trendline + field_created_on_trendline: Vytvořený trendline + + label_agile_sp_values: Průběh hodnot + + label_agile_interval_size: Velikost intervalu + label_agile_day: Den + label_agile_week: Týden + label_agile_month: Měsíc + label_agile_quarter: Čtvrtletí + label_agile_year: Rok + label_cards_search: Vyhledání předmětem + + field_agile_sprint: Práce + field_end_date: Konečné datum + label_agile_sprints_on: Aktivace výchozí práce + label_agile_sprint: Práce + label_agile_sprint_plural: Práce + label_agile_sprint_name: Název + label_agile_sprint_description: Popis + label_agile_sprint_status: Status + label_agile_sprint_sharing: Sdílení + label_agile_sprint_start_date: Datum zahájení + label_agile_sprint_end_date: Datum ukončení + label_agile_sprint_new: Nová práce + label_agile_sprint_status_open: Otevřený + label_agile_sprint_status_active: Aktivní + label_agile_sprint_status_closed: Uzavřený + label_agile_sprint_duration: Doba trvání + label_agile_sprint_duration_select: <> + label_agile_sprint_duration_week_1: 1 týden + label_agile_sprint_duration_week_2: 2 týdny + label_agile_sprint_duration_week_3: 3 týdny + label_agile_sprint_duration_week_4: 4 týdny + label_agile_sprint_errors_crossed: Data práce se kříží s jinou prací + label_agile_sprint_errors_end_more_start: Datum ukončení by mělo být delší než datum zahájení + label_agile_sprint_errors_open_issues: Práce s otevřenými úkoly nemůže bát uzavřena + label_agile_sprint_default_chart: Graf + label_agile_sprint_chart_units: Odhad + label_agile_chart_for_sprint: "Pro práci: %{sprint}" + + label_agile_charts: Grafy + label_agile_chart_burndown: Graf ukončení + label_agile_chart_burnup: Graf zahájení + label_agile_chart_units: Jednotky + + label_agile_planning_board_more: Nahraj více... + label_agile_version_query_new: Dotaz na novou Agile verzi + label_agile_version_my_boards: Moje verze agilní + label_agile_version_board_plural: Verze agile + label_agile_version_board_edit: Oprave agile verze + + label_agile_edit_issue: Oprava úkolu + + label_agile_board_type: Typ panelu + label_agile_board_type_kanban: Kanban panel + label_agile_board_type_scrum: Scrum panel + label_agile_board_totals: Celkem + label_agile_board_totals_story_points: Průběh - Story points + label_agile_board_totals_hours: Hodiny + label_agile_board_totals_spent_time: Strávený čas + label_agile_board_totals_percent_done: Splněno v procentech + label_agile_board_totals_velocity: Rychlost + label_agile_board_totals_interval: Interval + label_agile_board_totals_remaining: Zbývá + label_agile_board_totals_description: Celkový popis + + + label_agile_sprint_list_active: Aktivní práce + label_agile_sprint_list_future: Budoucí práce + label_agile_sprint_list_old: Bývalé práce + + label_agile_mixed_trackers: Promíchané trackery + label_agile_moving_average: Průměr přesunutí + + label_agile_board_backlog: Backlog + label_agile_board_backlog_column: Backlog sloupce + label_agile_board_search_backlog_issues: Vyhledání backlog úkolů + label_agile_version_plural: Verze + label_agile_sprint_add: Přidej práci + label_agile_version_add: Přidej verzi + + label_agile_sprint_query_new: Nový dotaz na práci + label_agile_sprint_my_boards: Můje panely práce + label_agile_sprint_board_plural: Panely práce + label_agile_sprint_board_edit: Oprava panelu práce + field_sprint: Práce + label_agile_no_sprint_issues: Úkoly bez práce + field_closed_sprints: Uzavřené práce + field_closed_versions: Uzavřené verze + label_allow_ovelapping_sprints: APovolit překrývající se práce + + label_agile_sprint_sharing_none: Nesdílený + label_agile_sprint_sharing_descendants: S podřízenými projekty + label_agile_sprint_sharing_hierarchy: S hierarchickými projekty + label_agile_sprint_sharing_tree: Se stromem projektu + label_agile_sprint_sharing_system: Se všemi projekty + + label_agile_action_not_available: Akce není dostupná + label_agile_general: Všeobecně + label_agile_hidden: Skrytý + + label_chart_future_data: Zobrazit budoucí data v grafech \ No newline at end of file diff --git a/config/locales/de.yml b/config/locales/de.yml index 428cde2..07b369e 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -25,11 +25,13 @@ de: label_agile_charts_number_of_issues: Anzahl Aufgaben label_agile_charts_cumulative_flow: Kumulativer Fluss label_agile_charts_trackers_cumulative_flow: Kumulativer Fluss nach Tracker - label_agile_charts_issues_velocity: Velocity + label_agile_charts_issues_velocity: Geschwindigkeit label_agile_charts_cycle_time: Zyklus label_agile_charts_lead_time: Durchlaufzeit label_agile_charts_average_lead_time: Durchschnittliche Durchlaufzeit label_agile_chart_plural: Agile Diagramme + label_agile_chart_new: Neues agiles Diagramm + label_agile_chart_edit: Bearbeite agiles Diagramm permission_view_agile_charts: Agile Diagramme ansehen label_agile_ideal_work_remaining: Soll label_agile_actual_work_remaining: Ist @@ -44,10 +46,10 @@ de: label_agile_too_many_items: "Das Diagramm konnte nicht generiert werden, da es die maximale Anzahl an darstellbaren Aufgaben (%{max}) überschreiten würde." label_agile_time_reports_items_limit: Maximale Anzahl an Aufgaben in Diagrammen label_agile_total_work_remaining: Gesamt - label_agile_default_chart: Standarddiagramm für Versions + label_agile_default_chart: Standarddiagramm für Versionen #1.1.1 - label_agile_charts_average_velocity: Durchschnittliche Velocity + label_agile_charts_average_velocity: Durchschnittliche Geschwindigkeit label_agile_charts_avarate_number_of_issues: Durchschnittliche Aufgabenanzahl label_agile_charts_avarate_number_of_hours: Durchschnittliche Stundenanzahl @@ -63,7 +65,8 @@ de: label_agile_manage_colors: Farben verwalten label_agile_fullscreen: Vollbild label_agile_no_version_issues: Aufgaben ohne Version - label_agile_charts_work_burnup: Burnup nach erfassten Zeiten + label_agile_charts_work_burnup_hours: Burnup nach Stunden + label_agile_charts_work_burnup_sp: Burnup nach Story points label_agile_completed: Abgeschlossen label_agile_exclude_weekends: Wochenenden von Soll-Zeiten ausnehmen label_agile_board_truncated: "Das Taskboard wurde abgeschnitten, da es die maximale Anzahl an darstellbaren Aufgaben (%{max}) überschreitet." @@ -96,7 +99,7 @@ de: label_agile_button_agree: Einverstanden label_agile_license: RedmineUP Lizenz label_agile_saving_boards: Boards speichern - label_agile_horizontal_swim_lines: Horizontale Swimlanes + label_agile_horizontal_swim_lines: Horizontale "Schwimmbahnen" label_agile_board_sub_columns: Board-Unterspalten label_agile_additional_agile_charts: Weitere Agile-Charts label_agile_coloured_issue_cards: Farbige Karten @@ -111,21 +114,6 @@ de: #1.3.13 label_agile_last_comment: Letzter Kommentar - label_agile_esitmate_units: Einheit für Schätzungen - label_agile_trackers_for_sp: Tracker für Story Points - label_agile_story_points: Story Points - field_story_points: Story Points - label_agile_charts_number_of_story_points: Anzahl an Story Points - label_agile_board_columns: Taskboard Spalten - lable_agile_wip_limit_exceeded: Work-in-progress Grenze überschritten - label_agile_wip_limit: Work-in-progress Grenze - label_agile_add_new_issue: + NEUE AUFGABE - label_agile_allow_create_cards: Karte für neue Aufgabe - label_agile_auto_assign_on_move: Selbst zuweisen bei Taskboard-Karten-Bewegung - text_agile_create_issue_error: Die Aufgabe konnte nicht erstellt werden - label_agile_inline_comment: Inline-Kommentar - label_agile_hours: Stunden - field_color: Farbe #1.4.0 label_agile_esitmate_units: Einheit für Schätzung @@ -146,8 +134,8 @@ de: field_duration: Dauer - field_closed_on_trendline: Closed trendline - field_created_on_trendline: Created trendline + field_closed_on_trendline: Geschlossene Trendlinie + field_created_on_trendline: Erstellte Trendlinie label_agile_sp_values: Story points Werte @@ -167,6 +155,7 @@ de: label_agile_sprint_name: Name label_agile_sprint_description: Beschreibung label_agile_sprint_status: Status + label_agile_sprint_sharing: Gemeinsame Verwendung label_agile_sprint_start_date: Startdatum label_agile_sprint_end_date: Enddatum label_agile_sprint_new: Neuer Sprint @@ -181,6 +170,7 @@ de: label_agile_sprint_duration_week_4: 4 Wochen label_agile_sprint_errors_crossed: Sprint Daten überschneiden sich mit einem anderen existierenden Sprint label_agile_sprint_errors_end_more_start: Das Enddatum sollte nach dem Startdatum liegen + label_agile_sprint_errors_open_issues: Ein Sprint mit offenen Tickets kann nicht geschlossen werden label_agile_sprint_default_chart: Diagramm label_agile_sprint_chart_units: Einheit für Schätzung label_agile_chart_for_sprint: "Für Sprint: %{sprint}" @@ -206,12 +196,14 @@ de: label_agile_board_totals_hours: Stunden label_agile_board_totals_spent_time: Aufgewendete Zeit label_agile_board_totals_percent_done: Prozent erledigt - label_agile_board_totals_velocity: Velocity + label_agile_board_totals_velocity: Geschwindigkeit label_agile_board_totals_interval: Intervall label_agile_board_totals_remaining: Verbleibend + label_agile_board_totals_description: Sprintbeschreibung label_agile_sprint_list_active: Aktive Sprints label_agile_sprint_list_future: Zukünftige Sprints + label_agile_sprint_list_old: Vergangene Sprints label_agile_mixed_trackers: Verschiedene Tracker label_agile_moving_average: Gleitender Durchschnitt @@ -231,3 +223,16 @@ de: label_agile_no_sprint_issues: Tickets ohne Sprint field_closed_sprints: Geschlossenen Sprints field_closed_versions: Geschlossene Versionen + label_allow_ovelapping_sprints: Überlappende Sprints erlauben + + label_agile_sprint_sharing_none: Keine + label_agile_sprint_sharing_descendants: Mit den Unterprojekten + label_agile_sprint_sharing_hierarchy: Mit der Projekthierarchie + label_agile_sprint_sharing_tree: Mit dem Projektbaum + label_agile_sprint_sharing_system: Mit allen Projekten + + label_agile_action_not_available: Aktion ist nicht verfügbar + label_agile_general: Allgemein + label_agile_hidden: Versteckt + + label_chart_future_data: Zeige zukünftige Daten auf Diagrammen diff --git a/config/locales/en.yml b/config/locales/en.yml index cfabbcf..8feca1c 100755 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -49,8 +49,8 @@ en: #1.1.1 label_agile_charts_average_velocity: Average velocity - label_agile_charts_avarate_number_of_issues: Average number of issues - label_agile_charts_avarate_number_of_hours: Average number of hours + label_agile_charts_average_number_of_issues: Average number of issues + label_agile_charts_average_number_of_hours: Average number of hours #1.2.0 label_agile_color: Color @@ -169,7 +169,7 @@ en: label_agile_sprint_duration_week_4: 4 weeks label_agile_sprint_errors_crossed: Sprint dates are cross another existed sprint label_agile_sprint_errors_end_more_start: End date should be more than start date - label_agile_sprint_errors_open_issues: Sprint with open issues cannot be closed + label_agile_sprint_errors_open_issues: The sprint with open issues cannot be closed label_agile_sprint_default_chart: Сhart label_agile_sprint_chart_units: Estimation label_agile_chart_for_sprint: "For sprint: %{sprint}" @@ -235,4 +235,5 @@ en: label_agile_general: General label_agile_hidden: Hidden - label_chart_future_data: Show future data on charts \ No newline at end of file + label_chart_future_data: Show future data on charts + label_agile_charts_work_partially_closed: Partially completed diff --git a/config/locales/es.yml b/config/locales/es.yml index 5891751..b5695e7 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -49,8 +49,8 @@ es: #1.1.1 label_agile_charts_average_velocity: Velocidad promedio - label_agile_charts_avarate_number_of_issues: Número de peticiones promedio - label_agile_charts_avarate_number_of_hours: Número de horas promedio + label_agile_charts_average_number_of_issues: Número de peticiones promedio + label_agile_charts_average_number_of_hours: Número de horas promedio #1.2.0 label_agile_color: Color diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 205a99d..3295680 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -45,8 +45,8 @@ fr: #1.1.1 label_agile_charts_average_velocity: Vélocité moyenne - label_agile_charts_avarate_number_of_issues: Nombre moyen de demandes - label_agile_charts_avarate_number_of_hours: nombre moyen d'heures + label_agile_charts_average_number_of_issues: Nombre moyen de demandes + label_agile_charts_average_number_of_hours: nombre moyen d'heures #1.2.0 label_agile_color: Couleur diff --git a/config/locales/hu.yml b/config/locales/hu.yml new file mode 100644 index 0000000..3125c6a --- /dev/null +++ b/config/locales/hu.yml @@ -0,0 +1,240 @@ +# Hungrian strings go here for Rails i18n +# by Lilla Basilides basilides.h.lilla@gmail.com +hu: + label_agile: Tervező + label_agile_board: Tervező tábla + label_agile_board_plural: Tervező táblák + label_agile_board_thumbnails: Miniatűrök + label_agile_board_more_issues: További jegyek + error_agile_status_transition: Nem lehet megváltoztatni a jegy állapotát + label_agile_board_new: Új tervező tábla + label_agile_board_edit: Tervező tábla szerkesztése + label_agile_my_boards: Saját tervező tábláim + label_agile_issue_id: Jegy ID + + permission_manage_public_agile_queries: Nyilvános tervező fórumok kezelése + permission_add_agile_queries: Tervező táblák hozzáadása + permission_view_agile_queries: Tervező táblák megtekintése + + #1.1.0 + label_agile_board_default_fields: Alapértelmezett kártyamezők + label_agile_charts_issues_burndown: Issues burndown + label_agile_charts_work_burndown_hours: Hours burndown + label_agile_charts_work_burndown_sp: Story points burndown + label_agile_charts_number_of_hours: Órák száma + label_agile_charts_number_of_issues: Jegyek száma + label_agile_charts_cumulative_flow: Halmozott áramlás + label_agile_charts_trackers_cumulative_flow: Nyomkövetők halmozott áramlása + label_agile_charts_issues_velocity: Sebesség + label_agile_charts_cycle_time: Ciklusidő + label_agile_charts_lead_time: Átfutási idő + label_agile_charts_average_lead_time: Átlagos átfutási idő + label_agile_chart_plural: Tervező táblázatok + label_agile_chart_new: Új tervező táblázat + label_agile_chart_edit: Tervező grafikon szerkesztése + permission_view_agile_charts: Tervező grafinkon megtekintése + label_agile_ideal_work_remaining: Ideális + label_agile_actual_work_remaining: Jelenlegi + label_agile_chart: Grafikon + label_agile_date_from: időponttól kezdve + label_agile_date_to: időpntig + label_agile_chart_dates: Táblázati időközök + label_agile_weighed_ideal_work_remaining: Súlyozottan ideális + label_agile_status_colors: Állapotszínek + label_agile_charts_burnup: Issues burnup + label_agile_charts_number_of_days: Napok száma + label_agile_too_many_items: "A diagram nem hozható létre, mert meghaladja a megjeleníthető elemek maximális számát (%{max})" + label_agile_time_reports_items_limit: Időbejegyzéseken alapuló diagramok jegyeinek korlátja + label_agile_total_work_remaining: Összes + label_agile_default_chart: Alapértelmezett grafikon + + #1.1.1 + label_agile_charts_average_velocity: Átlagos sebesség + label_agile_charts_avarate_number_of_issues: Az jegyek átlagos száma + label_agile_charts_avarate_number_of_hours: Average number of hours + + #1.2.0 + label_agile_color: Szín + permission_manage_agile_verions: Verziótervezés kezelése + label_agile_version_planning: Verziótervezés + error_agile_version_transition: Nem lehet megváltoztatni a jegy verzióját + label_agile_tracker_colors: Nyomkövető színei + label_agile_issue_priority_colors: Jegy prioritás színei + label_agile_color_based_on: Színezte + label_agile_color_no_colors: Nincsenek színek + label_agile_manage_colors: Színek kezelése + label_agile_fullscreen: Teljes képernyő + label_agile_no_version_issues: Jegyek verzió nélkül + label_agile_charts_work_burnup_hours: Hours burnup + label_agile_charts_work_burnup_sp: Story points burnup + label_agile_completed: Befejezett + label_agile_exclude_weekends: Hétvégék kizárása az ideális erőfeszítésből + label_agile_board_truncated: "A tábla meg lett vágva, mert meghaladja a megjeleníthető elemek maximális számát (%{max})" + label_agile_board_items_limit: Tervező tábla elemeinek korlátja + label_agile_swimlanes: Úszósávok + label_agile_minimize_closed: Lezárt jegyek minimalizálása + label_agile_fields: Kártyamezők + label_agile_default_board: Alapértelmezett tábla + + #1.3.6 + text_agile_move_not_possible: Ez a lépés nem lehetséges + + #1.3.8 + label_agile_parent_issue_tracker_id: Szülő nyomkövető + label_agile_sub_issues: Részjegyek + label_agile_color_green: Zöld + label_agile_color_blue: Kék + label_agile_color_turquoise: Türkizkék + label_agile_color_lightgreen: Világoszöld + label_agile_color_yellow: Sárga + label_agile_color_orange: Narancs + label_agile_color_red: Piros + label_agile_color_purple: Lila + label_agile_color_gray: Szürke + label_agile_has_sub_issues: Van részjegye + label_agile_light_free_version: Agile Light ingyenes verzió + label_agile_link_to_pro: Frissíts PRO verzióra + label_agile_link_to_pro_demo: PRO verzió élő demó + label_agile_link_to_more_plugins: További RedmineUP pluginok keresése + label_agile_button_agree: Elfogadom + label_agile_license: RedmineUP License + label_agile_saving_boards: Tábla mentése + label_agile_horizontal_swim_lines: Vízszintes úszóvonalak + label_agile_board_sub_columns: Tábla aloszlopok + label_agile_additional_agile_charts: További tervező grafikonok + label_agile_coloured_issue_cards: Színes jegy kártyák + label_agile_4_more_features: 4 további funkció... + label_agile_upgrade_to_pro: PRO verzióra való frissítés a funkciók használatához + + label_agile_day_in_state: Állapotban + + #1.3.10 + label_agile_hide_closed_issues_data: lezárt jegyek adatainak elrejtése + project_module_agile: Tervező + + #1.3.13 + label_agile_last_comment: Utolsó megjegyzés + + #1.4.0 + label_agile_esitmate_units: Becslési egységek + label_agile_trackers_for_sp: Történetpontok nyomkövetői + label_agile_story_points: Történetpontok + field_story_points: Történetpontok + label_agile_charts_number_of_story_points: Történetpontok száma + label_agile_board_columns: Tábla oszlopok + lable_agile_wip_limit_exceeded: A folyamatban lévő munka határideje túllépve + label_agile_wip_limit: Folyamatban lévő munka határideje + label_agile_add_new_issue: "+ ÚJ JEGY HOZZÁADÁSA" + label_agile_allow_create_cards: Kártya létrehozása + label_agile_auto_assign_on_move: Automatikus hozzárendelés mozgatáskor + text_agile_create_issue_error: Hiba történt a jegy létrehozása közben + label_agile_inline_comment: Soron belüli megjegyzés + label_agile_hours: Órák + field_color: Színek + + field_duration: Időtartam + + field_closed_on_trendline: Zárt irányvonal + field_created_on_trendline: Létrehozott irányvonal + + label_agile_sp_values: Történetpontok értékei + + label_agile_interval_size: Terjedelem mérete + label_agile_day: Nap + label_agile_week: Hét + label_agile_month: Hónap + label_agile_quarter: Negyed + label_agile_year: Év + label_cards_search: Keresés tárgy szerint + + field_agile_sprint: Futam + field_end_date: Befejezés időpontja + label_agile_sprints_on: Alapértelmezés szerint aktiválja a futamokat + label_agile_sprint: Futam + label_agile_sprint_plural: Futamok + label_agile_sprint_name: Név + label_agile_sprint_description: Leírás + label_agile_sprint_status: Állapot + label_agile_sprint_sharing: Megosztás + label_agile_sprint_start_date: Kezdés időpontja + label_agile_sprint_end_date: Záró időpont + label_agile_sprint_new: Új Futam + label_agile_sprint_status_open: Nyitva + label_agile_sprint_status_active: Active + label_agile_sprint_status_closed: Zárolt + label_agile_sprint_duration: Időtartam + label_agile_sprint_duration_select: <> + label_agile_sprint_duration_week_1: 1 hét + label_agile_sprint_duration_week_2: 2 hét + label_agile_sprint_duration_week_3: 3 hét + label_agile_sprint_duration_week_4: 4 hét + label_agile_sprint_errors_crossed: A futam időpontjai egy másik létező futamot kereszteznek. + label_agile_sprint_errors_end_more_start: A záró időpontnak többnek kell lennie, mint a kezdés időpontjának. + label_agile_sprint_errors_open_issues: A nyitott faladatokkal rendelkező futamokat nem lehet lezárni. + label_agile_sprint_default_chart: Grafikon + label_agile_sprint_chart_units: Becslés + label_agile_chart_for_sprint: "Futam jegyében: %{sprint}" + + label_agile_charts: Grafikonok + label_agile_chart_burndown: Burndown chart + label_agile_chart_burnup: Burnup chart + label_agile_chart_units: Egységek + + label_agile_planning_board_more: Továbbiak betöltése... + label_agile_version_query_new: Új Tervező verziók lekérdezése + label_agile_version_my_boards: Saját tervező verziótábláim + label_agile_version_board_plural: Tervező verziótáblák + label_agile_version_board_edit: Tervező verziótáblák szerkesztése + + label_agile_edit_issue: Jegy szerkesztése + + label_agile_board_type: Tábla típusa + label_agile_board_type_kanban: Kanban tábla + label_agile_board_type_scrum: Scrum tábla + label_agile_board_totals: Összesítés + label_agile_board_totals_story_points: Történet pontok + label_agile_board_totals_hours: Órák + label_agile_board_totals_spent_time: Elköltött idő + label_agile_board_totals_percent_done: Elkészült százalékban + label_agile_board_totals_velocity: Sebesség + label_agile_board_totals_interval: Időköz + label_agile_board_totals_remaining: A fennmaradó + label_agile_board_totals_description: Futam leírása + + + label_agile_sprint_list_active: Jelenlegi futam + label_agile_sprint_list_future: Jövőbeli futam + label_agile_sprint_list_old: Korábbi futamok + + label_agile_mixed_trackers: Vegyes nyomkövetők + label_agile_moving_average: Mozgó átlag + + label_agile_board_backlog: Hátralék + label_agile_board_backlog_column: Hátralék oszlop + label_agile_board_search_backlog_issues: Visszamaradt jegyek keresése + label_agile_version_plural: Verziók + label_agile_sprint_add: Futam hozzáadása + label_agile_version_add: Verzió hozzáadása + + label_agile_sprint_query_new: Új tervező futamok lekérdezése + label_agile_sprint_my_boards: Saját futam táblák + label_agile_sprint_board_plural: Futam táblák + label_agile_sprint_board_edit: Futam táblák szerkesztése + field_sprint: Futam + label_agile_no_sprint_issues: Jegyek futam nélkül + field_closed_sprints: Lezárt futamok + field_closed_versions: Lezárt verziók + label_allow_ovelapping_sprints: Engedélyezze az egymást átfedő futamokat + + label_agile_sprint_sharing_none: Nem megosztott + label_agile_sprint_sharing_descendants: Alprojektekkel + label_agile_sprint_sharing_hierarchy: Projekt hierarchiával + label_agile_sprint_sharing_tree: Projektfával + label_agile_sprint_sharing_system: Minden projekt jegyében + + label_agile_action_not_available: A művelet nem elérhető + label_agile_general: Általános + label_agile_hidden: Rejtett + + label_chart_future_data: Jövőbeli adatok megjelenítése a grafikonokon + label_agile_charts_work_partially_closed: Partially completed diff --git a/config/locales/it.yml b/config/locales/it.yml index 15fcb4f..90dd0d2 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -49,8 +49,8 @@ it: #1.1.1 label_agile_charts_average_velocity: Media velocità - label_agile_charts_avarate_number_of_issues: Media del numero di segnalazioni - label_agile_charts_avarate_number_of_hours: Media del numero di ore + label_agile_charts_average_number_of_issues: Media del numero di segnalazioni + label_agile_charts_average_number_of_hours: Media del numero di ore #1.2.0 label_agile_color: Colore diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 5e58dcb..924db9e 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -45,8 +45,8 @@ ko: #1.1.1 label_agile_charts_average_velocity: "평균 속도" - label_agile_charts_avarate_number_of_issues: "평균 일감 수" - label_agile_charts_avarate_number_of_hours: "평균 시간 수" + label_agile_charts_average_number_of_issues: "평균 일감 수" + label_agile_charts_average_number_of_hours: "평균 시간 수" #1.2.0 label_agile_color: "색상" diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 4b5ee97..3f8a6b5 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -49,8 +49,8 @@ pt-BR: #1.1.1 label_agile_charts_average_velocity: Velocidade média - label_agile_charts_avarate_number_of_issues: Média de número de tarefas - label_agile_charts_avarate_number_of_hours: Média número de horas + label_agile_charts_average_number_of_issues: Média de número de tarefas + label_agile_charts_average_number_of_hours: Média número de horas #1.2.0 label_agile_color: Cor diff --git a/config/locales/pt.yml b/config/locales/pt.yml index 89bfa75..3324d02 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -49,8 +49,8 @@ pt: #1.1.1 label_agile_charts_average_velocity: Velocidade média - label_agile_charts_avarate_number_of_issues: Média de número de tarefas - label_agile_charts_avarate_number_of_hours: Média número de horas + label_agile_charts_average_number_of_issues: Média de número de tarefas + label_agile_charts_average_number_of_hours: Média número de horas #1.2.0 label_agile_color: Cor diff --git a/config/locales/ru.yml b/config/locales/ru.yml index ec526bf..eaca741 100755 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -50,8 +50,8 @@ ru: #1.1.1 label_agile_charts_average_velocity: Средняя скорость закрытия задач - label_agile_charts_avarate_number_of_issues: Среднее кол-во задач - label_agile_charts_avarate_number_of_hours: Среднее кол-во часов + label_agile_charts_average_number_of_issues: Среднее кол-во задач + label_agile_charts_average_number_of_hours: Среднее кол-во часов #1.2.0 label_agile_color: Цвет @@ -224,4 +224,5 @@ ru: label_agile_general: Общие label_agile_hidden: Дополнительные - label_chart_future_data: Показывать рассчетные данные на графиках \ No newline at end of file + label_chart_future_data: Показывать рассчетные данные на графиках + label_agile_charts_work_partially_closed: Частично закрыто \ No newline at end of file diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 1751082..5c5e44e 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -49,8 +49,8 @@ zh-TW: #1.1.1 label_agile_charts_average_velocity: 平均速率 - label_agile_charts_avarate_number_of_issues: 平均問題數 - label_agile_charts_avarate_number_of_hours: 平均時長 + label_agile_charts_average_number_of_issues: 平均問題數 + label_agile_charts_average_number_of_hours: 平均時長 #1.2.0 label_agile_color: 顏色 diff --git a/config/locales/zh.yml b/config/locales/zh.yml index ff313fc..270fd04 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -50,8 +50,8 @@ zh: #1.1.1 label_agile_charts_average_velocity: 平均速率 - label_agile_charts_avarate_number_of_issues: 平均问题数 - label_agile_charts_avarate_number_of_hours: 平均时长 + label_agile_charts_average_number_of_issues: 平均问题数 + label_agile_charts_average_number_of_hours: 平均时长 #1.2.0 label_agile_color: 颜色 diff --git a/config/routes.rb b/config/routes.rb index 10be89d..06e56b4 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/db/migrate/001_create_issue_status_orders.rb b/db/migrate/001_create_issue_status_orders.rb index 2b34c2c..7ff7d72 100755 --- a/db/migrate/001_create_issue_status_orders.rb +++ b/db/migrate/001_create_issue_status_orders.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/db/migrate/002_create_agile_colors.rb b/db/migrate/002_create_agile_colors.rb index 42497e2..463dac8 100644 --- a/db/migrate/002_create_agile_colors.rb +++ b/db/migrate/002_create_agile_colors.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/db/migrate/003_rename_issue_status_orders.rb b/db/migrate/003_rename_issue_status_orders.rb index 6889a83..c44d146 100644 --- a/db/migrate/003_rename_issue_status_orders.rb +++ b/db/migrate/003_rename_issue_status_orders.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/db/migrate/004_rename_agile_ranks.rb b/db/migrate/004_rename_agile_ranks.rb index 1d509c4..ec5ae4d 100644 --- a/db/migrate/004_rename_agile_ranks.rb +++ b/db/migrate/004_rename_agile_ranks.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/db/migrate/005_add_story_points_to_agile_ranks.rb b/db/migrate/005_add_story_points_to_agile_ranks.rb index 3f3db2d..099a7f0 100644 --- a/db/migrate/005_add_story_points_to_agile_ranks.rb +++ b/db/migrate/005_add_story_points_to_agile_ranks.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/db/migrate/006_create_agile_sprints.rb b/db/migrate/006_create_agile_sprints.rb index 2d015c3..e432503 100644 --- a/db/migrate/006_create_agile_sprints.rb +++ b/db/migrate/006_create_agile_sprints.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/db/migrate/007_add_sprint_id_to_agile_data.rb b/db/migrate/007_add_sprint_id_to_agile_data.rb index dd54ff4..a492130 100644 --- a/db/migrate/007_add_sprint_id_to_agile_data.rb +++ b/db/migrate/007_add_sprint_id_to_agile_data.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/db/migrate/008_add_sharing_to_agile_sprint.rb b/db/migrate/008_add_sharing_to_agile_sprint.rb index d2ff55f..48933db 100644 --- a/db/migrate/008_add_sharing_to_agile_sprint.rb +++ b/db/migrate/008_add_sharing_to_agile_sprint.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/doc/CHANGELOG b/doc/CHANGELOG index ba47c9c..510071c 100755 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -1,9 +1,18 @@ == Redmine Agile plugin changelog Redmine Agile plugin - Agile board plugin for redmine -Copyright (C) 2011-2022 RedmineUP +Copyright (C) 2011-2023 RedmineUP http://www.redmineup.com/ +== 2023-01-26 v1.6.5 + +* Added Hungarian translation (Krisztian Engi, Lilla Basilides) +* Added SP totals into issues +* Added API for agile_sprints +* Updated Czech translation (Petr Stefan) +* Updated German locale (Joachim Mathes) +* Added Velocity chart by story points and hours + == 2022-04-11 v1.6.4 * Redmine 5.0 compatibility fixes diff --git a/init.rb b/init.rb index 7b22235..3b9aca2 100755 --- a/init.rb +++ b/init.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify @@ -21,7 +21,7 @@ requires_redmine_crm version_or_higher: '0.0.56' rescue raise "\n\033[31mRedmine require 'redmine' -AGILE_VERSION_NUMBER = '1.6.4' +AGILE_VERSION_NUMBER = '1.6.5' AGILE_VERSION_TYPE = "Light version" if ActiveRecord::VERSION::MAJOR >= 4 && !defined?(FCSV) diff --git a/lib/redmine_agile.rb b/lib/redmine_agile.rb index 24e3db9..8c9ef27 100755 --- a/lib/redmine_agile.rb +++ b/lib/redmine_agile.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/charts/agile_chart.rb b/lib/redmine_agile/charts/agile_chart.rb index 1f84a8b..6bb8737 100644 --- a/lib/redmine_agile/charts/agile_chart.rb +++ b/lib/redmine_agile/charts/agile_chart.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/charts/burndown_chart.rb b/lib/redmine_agile/charts/burndown_chart.rb index e29e55f..116ef80 100644 --- a/lib/redmine_agile/charts/burndown_chart.rb +++ b/lib/redmine_agile/charts/burndown_chart.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/charts/helper.rb b/lib/redmine_agile/charts/helper.rb index dc1916e..363ccd9 100644 --- a/lib/redmine_agile/charts/helper.rb +++ b/lib/redmine_agile/charts/helper.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/charts/work_burndown_chart.rb b/lib/redmine_agile/charts/work_burndown_chart.rb index 19b20d0..eae3242 100644 --- a/lib/redmine_agile/charts/work_burndown_chart.rb +++ b/lib/redmine_agile/charts/work_burndown_chart.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/helpers/agile_helper.rb b/lib/redmine_agile/helpers/agile_helper.rb index cae2787..71bbfbf 100644 --- a/lib/redmine_agile/helpers/agile_helper.rb +++ b/lib/redmine_agile/helpers/agile_helper.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/hooks/controller_issue_hook.rb b/lib/redmine_agile/hooks/controller_issue_hook.rb index 769949d..894231a 100644 --- a/lib/redmine_agile/hooks/controller_issue_hook.rb +++ b/lib/redmine_agile/hooks/controller_issue_hook.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/hooks/views_issues_bulk_edit_hook.rb b/lib/redmine_agile/hooks/views_issues_bulk_edit_hook.rb new file mode 100644 index 0000000..1175269 --- /dev/null +++ b/lib/redmine_agile/hooks/views_issues_bulk_edit_hook.rb @@ -0,0 +1,26 @@ +# This file is a part of Redmin Agile (redmine_agile) plugin, +# Agile board plugin for redmine +# +# Copyright (C) 2011-2023 RedmineUP +# http://www.redmineup.com/ +# +# redmine_agile is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# redmine_agile is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with redmine_agile. If not, see . + +module RedmineAgile + module Hooks + class ViewsIssuesBulkEditHook < Redmine::Hook::ViewListener + render_on :view_issues_bulk_edit_details_bottom, :partial => 'issues/agile_data_fields_bulk_edit' + end + end +end diff --git a/lib/redmine_agile/hooks/views_issues_hook.rb b/lib/redmine_agile/hooks/views_issues_hook.rb index 79154f4..641da56 100755 --- a/lib/redmine_agile/hooks/views_issues_hook.rb +++ b/lib/redmine_agile/hooks/views_issues_hook.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/hooks/views_layouts_hook.rb b/lib/redmine_agile/hooks/views_layouts_hook.rb index 42eef3f..d40f958 100644 --- a/lib/redmine_agile/hooks/views_layouts_hook.rb +++ b/lib/redmine_agile/hooks/views_layouts_hook.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/hooks/views_versions_hook.rb b/lib/redmine_agile/hooks/views_versions_hook.rb index 1fc662d..336c66e 100644 --- a/lib/redmine_agile/hooks/views_versions_hook.rb +++ b/lib/redmine_agile/hooks/views_versions_hook.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/patches/issue_drop_patch.rb b/lib/redmine_agile/patches/issue_drop_patch.rb index f152d84..2f114f5 100644 --- a/lib/redmine_agile/patches/issue_drop_patch.rb +++ b/lib/redmine_agile/patches/issue_drop_patch.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/patches/issue_patch.rb b/lib/redmine_agile/patches/issue_patch.rb index 60c1395..6c48093 100755 --- a/lib/redmine_agile/patches/issue_patch.rb +++ b/lib/redmine_agile/patches/issue_patch.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/patches/issues_controller_patch.rb b/lib/redmine_agile/patches/issues_controller_patch.rb index 63a6dd6..10ce2e3 100644 --- a/lib/redmine_agile/patches/issues_controller_patch.rb +++ b/lib/redmine_agile/patches/issues_controller_patch.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/patches/project_patch.rb b/lib/redmine_agile/patches/project_patch.rb index 7665c3d..e1c8ae7 100644 --- a/lib/redmine_agile/patches/project_patch.rb +++ b/lib/redmine_agile/patches/project_patch.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/patches/projects_controller_patch.rb b/lib/redmine_agile/patches/projects_controller_patch.rb new file mode 100644 index 0000000..9e7fb3f --- /dev/null +++ b/lib/redmine_agile/patches/projects_controller_patch.rb @@ -0,0 +1,43 @@ +# This file is a part of Redmin Agile (redmine_agile) plugin, +# Agile board plugin for redmine +# +# Copyright (C) 2011-2023 RedmineUP +# http://www.redmineup.com/ +# +# redmine_agile is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# redmine_agile is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with redmine_agile. If not, see . + +module RedmineAgile + module Patches + module ProjectsControllerPatch + def self.included(base) # :nodoc: + base.send(:include, InstanceMethods) + base.class_eval do + end + end + + module InstanceMethods + def settings_with_agile + settings_without_agile + + @sprint_status = params[:sprint_status] || '' + @project_sprints = @project.agile_sprints.status(@sprint_status).sorted + end + end + end + end +end + +unless ProjectsController.included_modules.include?(RedmineAgile::Patches::ProjectsControllerPatch) + ProjectsController.send(:include, RedmineAgile::Patches::ProjectsControllerPatch) +end diff --git a/lib/redmine_agile/patches/projects_helper_patch.rb b/lib/redmine_agile/patches/projects_helper_patch.rb index d1d0e33..90a3cc5 100644 --- a/lib/redmine_agile/patches/projects_helper_patch.rb +++ b/lib/redmine_agile/patches/projects_helper_patch.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/redmine_agile/patches/queries_controller_patch.rb b/lib/redmine_agile/patches/queries_controller_patch.rb index 4f8c08c..e6ab7fa 100644 --- a/lib/redmine_agile/patches/queries_controller_patch.rb +++ b/lib/redmine_agile/patches/queries_controller_patch.rb @@ -1,7 +1,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/lib/tasks/convert_queries.rake b/lib/tasks/convert_queries.rake new file mode 100644 index 0000000..5a9d655 --- /dev/null +++ b/lib/tasks/convert_queries.rake @@ -0,0 +1,24 @@ +namespace :redmine do + namespace :agile do + + desc <<-END_DESC + Convert old-format AgilrQueries to current serialize data + +Example: + rake redmine:agile:convert_queries RAILS_ENV="production" +END_DESC + + task convert_queries: :environment do + class OldAgileQuery < ActiveRecord::Base + self.table_name = 'queries' + self.ignored_columns = %w(type) + end + + OldAgileQuery.where("options LIKE '%ActionController::Parameters%'").find_each do |query| + options = YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(query.options) : YAML.load(query.options) + options[:wp] = options[:wp].permit!.to_h + query.update_column(:options, options.to_yaml) + end + end + end +end diff --git a/lib/tasks/convert_settings.rake b/lib/tasks/convert_settings.rake new file mode 100644 index 0000000..25bc065 --- /dev/null +++ b/lib/tasks/convert_settings.rake @@ -0,0 +1,23 @@ +namespace :redmine do + namespace :agile do + desc <<-END_DESC + Convert old-format Settings to current serialize data + +Example: +rake redmine:agile:convert_settings RAILS_ENV="production" +END_DESC + + task convert_settings: :environment do + class OldSetting < ActiveRecord::Base + self.table_name = 'settings' + self.ignored_columns = %w(type) + end + + OldSetting.where("value LIKE '%ActionController::Parameters%'").find_each do |setting| + value = YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(setting.value) : YAML.load(setting.value) + value = value.permit!.to_h + setting.update_column(:value, value.to_yaml) + end + end + end +end diff --git a/test/fixtures/agile_data.yml b/test/fixtures/agile_data.yml index bcd268a..850773f 100644 --- a/test/fixtures/agile_data.yml +++ b/test/fixtures/agile_data.yml @@ -15,4 +15,4 @@ agile_data_3: issue_id: 3 position: 3 story_points: nil - agile_sprint_id: nil + agile_sprint_id: 2 diff --git a/test/functional/agile_boards_controller_test.rb b/test/functional/agile_boards_controller_test.rb index 700f513..ad4323e 100755 --- a/test/functional/agile_boards_controller_test.rb +++ b/test/functional/agile_boards_controller_test.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/test/functional/agile_charts_controller_test.rb b/test/functional/agile_charts_controller_test.rb index 47a903b..19402ba 100644 --- a/test/functional/agile_charts_controller_test.rb +++ b/test/functional/agile_charts_controller_test.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/test/functional/agile_journal_details_controller_test.rb b/test/functional/agile_journal_details_controller_test.rb index 94ed16f..5eacaba 100644 --- a/test/functional/agile_journal_details_controller_test.rb +++ b/test/functional/agile_journal_details_controller_test.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index c81e632..6cfd19d 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify @@ -22,6 +22,8 @@ require File.expand_path('../../test_helper', __FILE__) class IssuesControllerTest < ActionController::TestCase + include Redmine::I18n + fixtures :projects, :users, :roles, @@ -63,7 +65,7 @@ class IssuesControllerTest < ActionController::TestCase end def test_new_issue_without_sp_value - with_agile_settings 'estimate_units' => 'hours' do + with_agile_settings 'estimate_units' => 'hours', 'story_points_on' => '0' do compatible_request :get, :new, :project_id => 1 assert_response :success assert_select 'input#issue_agile_data_attributes_story_points', :count => 0 diff --git a/test/functional/projects_controller_test.rb b/test/functional/projects_controller_test.rb index 3a68eb2..1e4f505 100644 --- a/test/functional/projects_controller_test.rb +++ b/test/functional/projects_controller_test.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/test/functional/users_controller_test.rb b/test/functional/users_controller_test.rb index 0fd206e..6c7317b 100644 --- a/test/functional/users_controller_test.rb +++ b/test/functional/users_controller_test.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/test/integration/api_test/agile_data_test.rb b/test/integration/api_test/agile_data_test.rb index 4656ab7..7ba8f07 100644 --- a/test/integration/api_test/agile_data_test.rb +++ b/test/integration/api_test/agile_data_test.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify @@ -55,22 +55,14 @@ class Redmine::ApiTest::AgileDataTest < ActiveRecord::VERSION::MAJOR >= 4 ? Redm end test 'GET agile_data' do - if ActiveRecord::VERSION::MAJOR < 4 - Redmine::ApiTest::Base.should_allow_api_authentication(:get, '/issues/1/agile_data.xml') - end compatible_api_request :get, '/issues/1/agile_data.xml', {}, credentials('admin') - assert_match 'application/xml', @response.content_type assert_equal '200', @response.code end test 'GET missied id' do missied_id = Issue.order(:id).last.id - if ActiveRecord::VERSION::MAJOR < 4 - Redmine::ApiTest::Base.should_allow_api_authentication(:get, "/issues/#{missied_id}/agile_data.xml") - end compatible_api_request :get, "/issues/#{missied_id}/agile_data.xml", {}, credentials('admin') - assert_match 'application/xml', @response.content_type assert ['401', '403'].include?(@response.code) end diff --git a/test/integration/common_views_test.rb b/test/integration/common_views_test.rb index 83f7004..7b07868 100644 --- a/test/integration/common_views_test.rb +++ b/test/integration/common_views_test.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/test/test_helper.rb b/test/test_helper.rb index 079a97d..9aaaf42 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify @@ -159,7 +159,7 @@ module RedmineAgile :subject => "Issue 100", :id => 100, :fixed_version_id => 7, - :category_id => 1, + :category_id => 4, :description => "Unable to print recipes", :tracker_id => 1, :assigned_to_id => 1, @@ -196,7 +196,7 @@ module RedmineAgile :subject => "Issue 102", :id => 102, :fixed_version_id => 7, - :category_id => 1, + :category_id => 4, :description => "Unable to print recipes", :tracker_id => 3, :assigned_to_id => 2, @@ -214,7 +214,7 @@ module RedmineAgile :subject => "Issue 103", :id => 103, :fixed_version_id => 7, - :category_id => 1, + :category_id => 4, :description => "Unable to print recipes", :tracker_id => 1, :assigned_to_id => 2, diff --git a/test/ui/agile_board_ui_test.rb b/test/ui/agile_board_ui_test.rb index e71b77d..1200367 100644 --- a/test/ui/agile_board_ui_test.rb +++ b/test/ui/agile_board_ui_test.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/test/unit/agile_charts_query_test.rb b/test/unit/agile_charts_query_test.rb index d2827a3..7f9c902 100644 --- a/test/unit/agile_charts_query_test.rb +++ b/test/unit/agile_charts_query_test.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/test/unit/agile_data_test.rb b/test/unit/agile_data_test.rb index 01f4fc9..81fe0f4 100644 --- a/test/unit/agile_data_test.rb +++ b/test/unit/agile_data_test.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/test/unit/charts/burndown_chart_test.rb b/test/unit/charts/burndown_chart_test.rb index fd46a6a..91b3fa5 100644 --- a/test/unit/charts/burndown_chart_test.rb +++ b/test/unit/charts/burndown_chart_test.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify diff --git a/test/functional/public/plugin_assets/redmine_crm/images/money.png b/test/unit/charts/public/plugin_assets/redmine_crm/images/money.png similarity index 100% rename from test/functional/public/plugin_assets/redmine_crm/images/money.png rename to test/unit/charts/public/plugin_assets/redmine_crm/images/money.png diff --git a/test/functional/public/plugin_assets/redmine_crm/images/vcard.png b/test/unit/charts/public/plugin_assets/redmine_crm/images/vcard.png similarity index 100% rename from test/functional/public/plugin_assets/redmine_crm/images/vcard.png rename to test/unit/charts/public/plugin_assets/redmine_crm/images/vcard.png diff --git a/test/functional/public/plugin_assets/redmine_crm/javascripts/Chart.bundle.min.js b/test/unit/charts/public/plugin_assets/redmine_crm/javascripts/Chart.bundle.min.js similarity index 100% rename from test/functional/public/plugin_assets/redmine_crm/javascripts/Chart.bundle.min.js rename to test/unit/charts/public/plugin_assets/redmine_crm/javascripts/Chart.bundle.min.js diff --git a/test/functional/public/plugin_assets/redmine_crm/javascripts/select2.js b/test/unit/charts/public/plugin_assets/redmine_crm/javascripts/select2.js similarity index 100% rename from test/functional/public/plugin_assets/redmine_crm/javascripts/select2.js rename to test/unit/charts/public/plugin_assets/redmine_crm/javascripts/select2.js diff --git a/test/functional/public/plugin_assets/redmine_crm/javascripts/select2_helpers.js b/test/unit/charts/public/plugin_assets/redmine_crm/javascripts/select2_helpers.js similarity index 100% rename from test/functional/public/plugin_assets/redmine_crm/javascripts/select2_helpers.js rename to test/unit/charts/public/plugin_assets/redmine_crm/javascripts/select2_helpers.js diff --git a/test/functional/public/plugin_assets/redmine_crm/stylesheets/money.css b/test/unit/charts/public/plugin_assets/redmine_crm/stylesheets/money.css similarity index 100% rename from test/functional/public/plugin_assets/redmine_crm/stylesheets/money.css rename to test/unit/charts/public/plugin_assets/redmine_crm/stylesheets/money.css diff --git a/test/functional/public/plugin_assets/redmine_crm/stylesheets/select2.css b/test/unit/charts/public/plugin_assets/redmine_crm/stylesheets/select2.css similarity index 100% rename from test/functional/public/plugin_assets/redmine_crm/stylesheets/select2.css rename to test/unit/charts/public/plugin_assets/redmine_crm/stylesheets/select2.css diff --git a/test/unit/helpers/agile_boards_helper_test.rb b/test/unit/helpers/agile_boards_helper_test.rb index e6595b8..9c3e547 100644 --- a/test/unit/helpers/agile_boards_helper_test.rb +++ b/test/unit/helpers/agile_boards_helper_test.rb @@ -3,7 +3,7 @@ # This file is a part of Redmin Agile (redmine_agile) plugin, # Agile board plugin for redmine # -# Copyright (C) 2011-2022 RedmineUP +# Copyright (C) 2011-2023 RedmineUP # http://www.redmineup.com/ # # redmine_agile is free software: you can redistribute it and/or modify