diff -urbBN redmine_schedules/app/controllers/schedules_controller.rb redmine_schedules-0.8.2/app/controllers/schedules_controller.rb --- redmine_schedules/app/controllers/schedules_controller.rb 2009-03-25 20:02:47.000000000 +0300 +++ redmine_schedules-0.8.2/app/controllers/schedules_controller.rb 2009-04-10 11:06:12.000000000 +0400 @@ -124,7 +124,7 @@ @date = Date.parse(params[:date]) if params[:date] @date ||= Date.civil(params[:year].to_i, params[:month].to_i, params[:day].to_i) if params[:year] && params[:month] && params[:day] @date ||= Date.today - @date = Date.civil(@date.year, @date.month, @date.day - @date.wday) if @user || @project + @date = Date.civil(@date.year, @date.month, @date.day) if @user || @project # Initialize the necessary helpers @calendar = Redmine::Helpers::Calendar.new(@date, current_language, :week) if @user.nil? || @project.nil? @@ -472,7 +472,7 @@ available_hours -= new_entry.hours restrictions = "date = '#{date}' AND user_id = #{user.id}" - available_hours -= ScheduleEntry.sum(:hours, :conditions => restrictions + " AND id <> #{old_entry.id}") if available_hours >= 0 + available_hours -= ScheduleEntry.sum(:hours, :conditions => old_entry.nil? ? restrictions : restrictions + " AND id <> #{old_entry.id}") if available_hours >= 0 closed_entry = ScheduleClosedEntry.find(:first, :conditions => restrictions) if available_hours >= 0 closed_hours = closed_entry.nil? ? 0 : closed_entry.hours @@ -670,7 +670,7 @@ while !@entries[issue.assigned_to.id].nil? && @entries[issue.assigned_to.id][considered_date].nil? && !@entries[issue.assigned_to.id].empty? && (considered_date < Date.today + 365) considered_date += 1 end - raise l(:error_schedules_estimate_insufficient_scheduling, :user => issue.assigned_to, :issue => issue) if @entries[issue.assigned_to.id][considered_date].nil? + raise l(:error_schedules_estimate_insufficient_scheduling, issue.assigned_to, issue) if @entries[issue.assigned_to.id][considered_date].nil? if hours_remaining > @entries[issue.assigned_to.id][considered_date].hours hours_remaining -= @entries[issue.assigned_to.id][considered_date].hours @entries[issue.assigned_to.id][considered_date].hours = 0 diff -urbBN redmine_schedules/app/views/schedules/_availability.html.erb redmine_schedules-0.8.2/app/views/schedules/_availability.html.erb --- redmine_schedules/app/views/schedules/_availability.html.erb 2009-03-25 20:02:47.000000000 +0300 +++ redmine_schedules-0.8.2/app/views/schedules/_availability.html.erb 2009-04-10 11:06:12.000000000 +0400 @@ -1,7 +1,7 @@ <% if hours > 0 && day %> <% entry = ScheduleEntry.new # TODO: Refactor method style method so this model faking isn't necessary %>
  • -
    +
    <% if @project.nil? %><%= l(:label_schedules_available) %><% end %> <%= "
    " if @project.nil? && @user.nil? %> <%= link_to user, :controller => 'schedules', :action => 'index', :date => day, :user_id => user.id if @user.nil? %> diff -urbBN redmine_schedules/app/views/schedules/_calendar.html.erb redmine_schedules-0.8.2/app/views/schedules/_calendar.html.erb --- redmine_schedules/app/views/schedules/_calendar.html.erb 2009-03-25 20:02:47.000000000 +0300 +++ redmine_schedules-0.8.2/app/views/schedules/_calendar.html.erb 2009-04-10 11:06:12.000000000 +0400 @@ -36,7 +36,7 @@ <% sum = entries_by_day[day].nil? ? 0 : entries_by_day[day].collect(&:hours).sum %> <%= sum if sum > 0 %> <% available_sum = @availabilities[day].nil? ? 0 : @availabilities[day].collect { |user, hours| hours }.sum %> - <%= "("+available_sum.to_s+" available)" if available_sum > 0 %> + <%= "("+available_sum.to_s+" доступно)" if available_sum > 0 %> <% end %> diff -urbBN redmine_schedules/app/views/schedules/default.html.erb redmine_schedules-0.8.2/app/views/schedules/default.html.erb --- redmine_schedules/app/views/schedules/default.html.erb 2009-03-25 20:02:47.000000000 +0300 +++ redmine_schedules-0.8.2/app/views/schedules/default.html.erb 2009-04-10 11:06:12.000000000 +0400 @@ -1,7 +1,7 @@ <%= breadcrumb link_to(l(:label_schedules_my), {:controller => 'schedules', :action => 'my' } ) %>

    - <%= l(:label_schedules_default, :target => link_to_user(@user)) %> + <%= l(:label_schedules_default, link_to_user(@user)) %>

    <% form_tag({:action=> "default"}) do %> diff -urbBN redmine_schedules/app/views/schedules/details.html.erb redmine_schedules-0.8.2/app/views/schedules/details.html.erb --- redmine_schedules/app/views/schedules/details.html.erb 2009-03-25 20:02:47.000000000 +0300 +++ redmine_schedules-0.8.2/app/views/schedules/details.html.erb 2009-04-10 11:06:12.000000000 +0400 @@ -17,17 +17,13 @@ <% end %>
    -

    <%= l(:label_total) %>: <%= html_hours(l_hours(@total_hours)) %>

    +

    <%= l(:label_total) %>: <%= @total_hours %>

    <% unless @entries.empty? %> <%= render :partial => 'list', :locals => { :entries => @entries }%>

    <%= pagination_links_full @entry_pages, @entry_count %>

    -<% other_formats_links do |f| %> - <%= f.link_to 'Atom', :url => params.merge({:issue_id => @issue, :key => User.current.rss_key}) %> - <%= f.link_to 'CSV', :url => params %> -<% end %> <% end %> <% html_title l(:label_schedules_index), l(:label_details) %> diff -urbBN redmine_schedules/app/views/schedules/edit.html.erb redmine_schedules-0.8.2/app/views/schedules/edit.html.erb --- redmine_schedules/app/views/schedules/edit.html.erb 2009-03-25 20:02:47.000000000 +0300 +++ redmine_schedules-0.8.2/app/views/schedules/edit.html.erb 2009-04-10 11:06:12.000000000 +0400 @@ -3,9 +3,9 @@ <%= breadcrumb link_to(l(:label_schedules_index), {:controller => 'schedules', :action => 'index', :date => @date }) unless !@project.nil? || !@user.nil? %>

    - <%= l(:label_schedule_edit, :target => link_to_user(@user)) unless @user.nil? %> - <%= l(:label_schedule_edit, :target => @project) unless @project.nil? %> - <%= l(:label_schedule_edit, :target => "today") if @user.nil? && @project.nil? %> + <%= l(:label_schedule_edit, link_to_user(@user)) unless @user.nil? %> + <%= l(:label_schedule_edit, @project) unless @project.nil? %> + <%= l(:label_schedule_edit, "today") if @user.nil? && @project.nil? %>

    <%= "#{l(:label_date_from)} #{format_date(@calendar.startdt)} #{l(:label_date_to).downcase} #{format_date(@calendar.enddt)}" %>

    diff -urbBN redmine_schedules/app/views/schedules/estimate.html.erb redmine_schedules-0.8.2/app/views/schedules/estimate.html.erb --- redmine_schedules/app/views/schedules/estimate.html.erb 2009-03-25 20:02:47.000000000 +0300 +++ redmine_schedules-0.8.2/app/views/schedules/estimate.html.erb 2009-04-10 11:06:12.000000000 +0400 @@ -19,11 +19,11 @@ <%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %> <%=h issue.tracker %> - <%= link_to h(truncate(issue.subject, :length => 60)), :controller => 'issues', :action => 'show', :id => issue %> (<%=h issue.status %>) + <%= link_to h(truncate(issue.subject, 60)), :controller => 'issues', :action => 'show', :id => issue %> (<%=h issue.status %>) <%= issue.assigned_to %> <%= issue.start_date %> <%= issue.due_date %> - <%= l_hours(issue.estimated_hours) %> + <%= issue.estimated_hours %> <%= progress_bar issue.done_ratio, :width => '80px' %> <% end %> diff -urbBN redmine_schedules/app/views/schedules/index.html.erb redmine_schedules-0.8.2/app/views/schedules/index.html.erb --- redmine_schedules/app/views/schedules/index.html.erb 2009-03-25 20:02:47.000000000 +0300 +++ redmine_schedules-0.8.2/app/views/schedules/index.html.erb 2009-04-10 11:06:12.000000000 +0400 @@ -6,7 +6,7 @@

    - <%= l(:label_user_schedule, :user => link_to_user(@user)) unless @user.nil? %> + <%= l(:label_user_schedule, link_to_user(@user)) unless @user.nil? %> <%= l(:label_project_schedule) unless @project.nil? %> <%= l(:label_global_schedule) if @user.nil? && @project.nil? %>

    diff -urbBN redmine_schedules/app/views/schedules/report.html.erb redmine_schedules-0.8.2/app/views/schedules/report.html.erb --- redmine_schedules/app/views/schedules/report.html.erb 2009-03-25 20:02:47.000000000 +0300 +++ redmine_schedules-0.8.2/app/views/schedules/report.html.erb 2009-04-10 11:06:12.000000000 +0400 @@ -40,7 +40,7 @@ <% unless @criterias.empty? %>
    -

    <%= l(:label_total) %>: <%= html_hours(l_hours(@total_hours)) %>

    +

    <%= l(:label_total) %>: <%= @total_hours %>

    <% unless @hours.empty? %> @@ -79,9 +79,6 @@ -<% other_formats_links do |f| %> - <%= f.link_to 'CSV', :url => params %> -<% end %> <% end %> <% end %> diff -urbBN redmine_schedules/app/views/schedules/_schedule_entry.html.erb redmine_schedules-0.8.2/app/views/schedules/_schedule_entry.html.erb --- redmine_schedules/app/views/schedules/_schedule_entry.html.erb 2009-03-25 20:02:47.000000000 +0300 +++ redmine_schedules-0.8.2/app/views/schedules/_schedule_entry.html.erb 2009-04-10 11:06:12.000000000 +0400 @@ -1,5 +1,5 @@
  • -
    +
    <%= link_to entry.project, :controller => 'schedules', :action => 'index', :date => entry.date, :project_id => entry.project if @project.nil?%> <%= "
    " if @project.nil? && @user.nil? %> <%= link_to entry.user, :controller => 'schedules', :action => 'index', :date => entry.date, :user_id => entry.user.id if @user.nil? %> diff -urbBN redmine_schedules/app/views/versions/show.html.erb redmine_schedules-0.8.2/app/views/versions/show.html.erb --- redmine_schedules/app/views/versions/show.html.erb 2009-03-25 20:02:47.000000000 +0300 +++ redmine_schedules-0.8.2/app/views/versions/show.html.erb 2009-04-10 11:06:12.000000000 +0400 @@ -22,12 +22,12 @@ - + <% if User.current.allowed_to?(:view_time_entries, @project) %> - + <% end %>
    <%= l(:field_estimated_hours) %><%= html_hours(l_hours(@version.estimated_hours)) %><%= @version.estimated_hours %>
    <%= l(:label_spent_time) %><%= html_hours(l_hours(@version.spent_hours)) %><%= @version.spent_hours %>
    diff -urbBN redmine_schedules/init.rb redmine_schedules-0.8.2/init.rb --- redmine_schedules/init.rb 2009-03-25 20:02:47.000000000 +0300 +++ redmine_schedules-0.8.2/init.rb 2009-04-10 11:06:12.000000000 +0400 @@ -1,9 +1,9 @@ require 'redmine' Redmine::Plugin.register :redmine_schedules do - name 'Redmine Schedules plugin' + name 'Расписания' author 'Brad Beattie' - description 'This plugin provides instances of Redmine a method with which to allocate users to projects and to track this allocation over time. It does so by creating daily time estimates of hours worked per project per user.' + description 'Модуль позволяет отслеживать ежедневные затраты времени пользователей при работе над проектами' version '0.3.2' project_module :schedule_module do diff -urbBN redmine_schedules/lang/en.yml redmine_schedules-0.8.2/lang/en.yml --- redmine_schedules/lang/en.yml 1970-01-01 03:00:00.000000000 +0300 +++ redmine_schedules-0.8.2/lang/en.yml 2009-04-10 11:06:12.000000000 +0400 @@ -0,0 +1,28 @@ +label_schedules_my: My schedule +label_schedules_default: Editing default availability for %s +label_schedules_report: Schedule report +label_schedules_details: Schedule details +label_schedules_index: Schedule +label_schedules_projects: Project schedules +label_schedules_users: User schedules +label_schedules_send_update: Send schedule updates to their respective users +label_schedules_updated: Schedules updated. +label_schedule_edit: Editing schedule for %s +label_f_short_hour: %.0f hour +label_f_short_hour_plural: %.0f hours +label_user_schedule: "%s's schedule" +label_project_schedule: Schedule +label_schedules_available: Available +label_schedules_unavailable: Unavailable +label_availability_schedule: Schedule availabilities +label_global_schedule: All schedules +label_schedules_estimate: Estimate +label_schedules_estimate_updated: Issues and version dates updated. +error_schedules_estimate_unestimated_issues: Ensure all issues in this version have estimated times. +error_schedules_estimate_unassigned_issues: Ensure all issues in this version are assigned. +error_schedules_estimate_open_interversion_parents: Ensure all open issue relations are in the version. +error_schedules_estimate_project_unscheduled: This project has not been scheduled. +error_schedules_estimate_insufficient_scheduling: Not enough time scheduled for %s to address %s +error_schedules_insufficient_availability: Some user's entries could not be saved as there was not enough room in their schedules. +button_schedules_edit: Edit schedule +button_schedules_default_edit: Edit my default availability diff -urbBN redmine_schedules/lang/ru.yml redmine_schedules-0.8.2/lang/ru.yml --- redmine_schedules/lang/ru.yml 1970-01-01 03:00:00.000000000 +0300 +++ redmine_schedules-0.8.2/lang/ru.yml 2009-04-10 11:06:12.000000000 +0400 @@ -0,0 +1,32 @@ +label_schedules_my: Мое расписание +label_schedules_default: "Изменение обычного расписания для %s" +label_schedules_report: Отчет по расписанию +label_schedules_details: Подробности расписания +label_schedules_index: Расписание +label_schedules_projects: Расписания проектов +label_schedules_users: Расписания пользователей +label_schedules_send_update: Отправить обновления расписания соответствующим пользователям +label_schedules_updated: Расписания обновлены. +label_schedule_edit: "Изменение расписания для %s" +label_f_short_hour: %.0f час +label_f_short_hour_plural: %.0f часов +label_user_schedule: "Расписание для %s" +label_project_schedule: Расписание +label_schedules_available: Доступен +label_schedules_unavailable: Недоступен +label_availability_schedule: Запланировать занятость +label_global_schedule: Все расписания +label_schedules_estimate: Оценить +label_schedules_estimate_updated: Сроки по задачам этой версии обновлены. +error_schedules_estimate_unestimated_issues: Все задачи этой версии должны иметь оценки времени выполнения. +error_schedules_estimate_unassigned_issues: Все задачи этой версии должны быть назначены. +error_schedules_estimate_open_interversion_parents: Все открытые задачи должны быть связаны с соответствующей версией. +error_schedules_estimate_project_unscheduled: Этот проект не был запланирован. +error_schedules_estimate_insufficient_scheduling: "%s не хватает времени для выполнения %s" +error_schedules_insufficient_availability: Изменения в расписании некоторых пользователей не были сохранены из за недостатка доступного времени. +button_schedules_edit: Изменить расписание +button_schedules_default_edit: Изменить мое обычное расписание +project_module_schedule_module: Расписания +permission_view_schedules: Просмотр расписаний +permission_edit_own_schedules: Изменение собственного расписания +permission_edit_all_schedules: Изменение всех расписаний