diff --git a/.gitignore b/.gitignore index 1b9d499..f1c02c5 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ /tmp/test/* /vendor/rails *.rbc +/nbproject diff --git a/README.markdown b/README.markdown index 6f88dd7..09c114b 100644 --- a/README.markdown +++ b/README.markdown @@ -1,12 +1,66 @@ -### D-Noise Workload Redmine Plugin ala FINE +### Workload-Plugin for Redmine -A quick set of mods to the basic Workload plugin, which include +A complete rewrite of the original workload-plugin from Rafael Calleja. The +plugin calculates how much work each user would have to do per day in order +to hit the deadlines for all his issues. -* localized into english (config/locales/en.yml) -* layout modifications -* de-logo-fied (not that we don't like the logos, but we like our pages to look like other Redmine pages) -* default to no users selected when you first land on the page (to reduce load times) +To be able to do this calculation, the issues start date, due date and +estimated time must be filled in. Issues that have not filled in one of +these fields will be shown in the overview, but the workload resulting from +these issues will be ignored. -#### To Do +#### Installation -* Look at implementing Redmine Group selector to view workload by Department/Group +1. To install it, simply clone it into the plugins-directory. Execute + +   git clone https://github.com/JostBaron/redmine_workload.git redmine_workload + + in your plugins directory. + +2. database migration: + + cd .. + rake redmine:plugins:migrate + +3. reload web service + + touch tmp/restart.txt + +#### Configuration + +There are two places where this plugin might be configured: + +1. In the plugin settings, available in the administration area under "plugins". +2. In the Roles-section of the administration area, the plugin adds a new + permission "view workload data in own projects". When this permission is given + to a user in a project, he might see the workload of all the members of that + project. + +#### Permissions + +The plugin shows the workload as follows: + +* An anonymous user can't see any workload. +* An admin user can see the workload of everyone. +* Any normal user can see the following workload: + + - He may always see his own workload. + - He may see the workload of every user that is member of a project for which + he has the permission "view workload data in own projects" (see above). + - When showing the issues that contribute to the workload, only issues visible + to the current user are shown. Invisible issues are only summarized. + +#### Holidays, Vacation and User Workload Data + +National holidays and user vacation is counted as day off (like weekend). + +Admins can setup National Holidays in plugin-settings. +Users can get permissions to setup their vacations and Workload Data with 'Roles and permissions'. +You can specify user(s), who should be able to setup national holidays with 'Roles and permissions'. + + +#### ToDo + +* Improve performance - requests still take up to 5 seconds. +* Add legend (again). +* Use nicer colors for workload indications. diff --git a/README.rdoc b/README.rdoc deleted file mode 100644 index 610a789..0000000 --- a/README.rdoc +++ /dev/null @@ -1,36 +0,0 @@ -= Redmine WorkLoad plugin - -This plugin uses graphics to represent total workloads and also the workload involved in the following tasks: - -This plugin is a fork of {GitHub}[https://github.com/arkadius/Redmine-Workload-Dnoise-redmine-2.0.x.git] originally developed by {dnoise}[https://github.com/dnoise/Redmine-Wordkload-Dnoise]. It has been updated to be Rails 3/Redmine 2+ compatible. - -== Features - -* Average time assigned to issues. The plugin shows the amount of hours per issues within a project as well as the total of hours assigned to that project. Different colours are assigned to each issue. -* This application also represents the % of hours used against the % of hours estimated for a issue. It also indicates the amount of extra time used over the initial estimate. In addition to this, the plugin also advise if a project doesn’t have assigned and also beginning and end dates. -* This plug-in determines the timing of an application, showing different status: on time, delayed, etc -* This plugin is especially helpful in organisations with a high workload and/or a organisations with scarce human resources. - -== Todo - -* Plugin hook support for changing the behavior of the plugin - -== Getting the plugin - -A copy can be gotton from {GitHub}[https://github.com/ianbogda/redmine_workload] - -== Installation and Setup - -1. In your redmine root directory, run the command: `git clone https://github.com/ianbogda/redmine_workload plugins/redmine_workload` -2. Restart web server -3. Login and click the WorkLoad Link in the top left menu - -== Upgrade - -1. Open a shell to your Redmine's plugins/redmine_workload folder -2. Update your Git copy with `git pull` -3. Restart your Redmine - -== License - -This plugin is licensed under the GNU GPL v2. See LICENSE.txt and GPL.txt for details. diff --git a/README_workload_english.pdf b/README_workload_english.pdf deleted file mode 100644 index 633161e..0000000 Binary files a/README_workload_english.pdf and /dev/null differ diff --git a/README_workload_spanish.pdf b/README_workload_spanish.pdf deleted file mode 100644 index 4da4654..0000000 Binary files a/README_workload_spanish.pdf and /dev/null differ diff --git a/app/controllers/wl_national_holiday_controller.rb b/app/controllers/wl_national_holiday_controller.rb new file mode 100644 index 0000000..4bc690a --- /dev/null +++ b/app/controllers/wl_national_holiday_controller.rb @@ -0,0 +1,84 @@ +class WlNationalHolidayController < ApplicationController + unloadable + require 'json' + + before_action :check_edit_rights, only: [:edit, :update, :create, :destroy] + before_action :select_year + + helper :work_load + + def index + filter_year_start=Date.new(@this_year,01,01) + filter_year_end=Date.new(@this_year,12,31) + @wl_national_holiday = WlNationalHoliday.where("start between ? AND ?", filter_year_start, filter_year_end) + @is_allowed = User.current.allowed_to_globally?(:edit_national_holiday) + end + + def new + + end + + def edit + @wl_national_holiday = WlNationalHoliday.find(params[:id]) rescue nil + end + + def update + @wl_national_holiday = WlNationalHoliday.find(params[:id]) rescue nil + + respond_to do |format| + if @wl_national_holiday.update_attributes(wl_national_holiday_params) + format.html { redirect_to(:action => 'index', :notice => 'Holiday was successfully updated.', :params => { :year =>params[:year]} ) } + format.xml { head :ok } + else + format.html { + flash[:error] = "
+
+ <%= form.date_select :start, default: { year: @this_year} %>
+
+
+ <%= form.date_select :end, default: { year: @this_year} %>
+
+
+ <%= form.text_field :reason %>
+
<%= translate 'id' %> | +<%= translate 'start' %> | +<%= translate 'end' %> | +<%= translate 'reason' %> | + <% if is_allowed %> ++ <% end %> + | |
---|---|---|---|---|---|
<%= holiday.id.to_s %> | +<%= holiday.start.blank? ? '' : holiday.start.to_date.to_s %> | +<%= holiday.end.blank? ? '' : holiday.end.to_date.to_s %> | +<%= holiday.reason.blank? ? '' : holiday.reason %> | + <% if is_allowed %> +<%= link_to l(:button_edit), edit_wl_national_holiday_path(holiday, :year => @this_year) %> | +<%= link_to l(:button_delete), wl_national_holiday_path(holiday, :year => @this_year), + method: :delete, + data: { confirm: l(:text_are_you_sure) } %> | + + <% end %> +
+ <%= f.submit l(:button_update)%> + <%= link_to l(:button_cancel), :controller => 'wl_national_holiday', :action => "index", :year => @this_year %> +
+<% end %> diff --git a/app/views/wl_national_holiday/index.html.erb b/app/views/wl_national_holiday/index.html.erb new file mode 100644 index 0000000..6293d66 --- /dev/null +++ b/app/views/wl_national_holiday/index.html.erb @@ -0,0 +1,19 @@ ++ <%= link_to "<<", :controller => 'wl_national_holiday', :action => "index", :year => @this_year-1 %> + <%= @this_year %> + <%= link_to ">>", :controller => 'wl_national_holiday', :action => "index", :year => @this_year+1 %> +
+ <% unless @wl_national_holiday.empty?%> + + <%= render(partial: "show_list", locals: {wl_national_holiday: @wl_national_holiday, is_allowed: @is_allowed}) %> + <%end%> + \ No newline at end of file diff --git a/app/views/wl_national_holiday/new.html.erb b/app/views/wl_national_holiday/new.html.erb new file mode 100755 index 0000000..6204580 --- /dev/null +++ b/app/views/wl_national_holiday/new.html.erb @@ -0,0 +1,10 @@ ++ <%= f.submit l(:button_add)%> + <%= link_to l(:button_cancel), :controller => 'wl_national_holiday', :action => "index", :year => @this_year %> + +
+<% end %> diff --git a/app/views/wl_user_datas/_sidebar.html.erb b/app/views/wl_user_datas/_sidebar.html.erb new file mode 100644 index 0000000..5966166 --- /dev/null +++ b/app/views/wl_user_datas/_sidebar.html.erb @@ -0,0 +1 @@ +<% # Nothing yet %> \ No newline at end of file diff --git a/app/views/wl_user_datas/_workday.html.erb b/app/views/wl_user_datas/_workday.html.erb new file mode 100644 index 0000000..45251c7 --- /dev/null +++ b/app/views/wl_user_datas/_workday.html.erb @@ -0,0 +1,18 @@ ++ <% + label_symbol = "workload_settings_general_workdays_" + workday + + # this is for testing only, needs to be initialized from model + @user_working_days[ workday ] = '' + %> + + + + > +
\ No newline at end of file diff --git a/app/views/wl_user_datas/show.html.erb b/app/views/wl_user_datas/show.html.erb new file mode 100644 index 0000000..4af40c2 --- /dev/null +++ b/app/views/wl_user_datas/show.html.erb @@ -0,0 +1,51 @@ +<% html_title(l(:workload_user_data_site_title)) %> + ++ <% if @is_allowed %> + <%= submit_tag l(:button_save) %> + <% end %> + <%= link_to l(:button_cancel), :back %> +
+
+
+ <%= form.date_select :date_from, default: { year: @this_year} %>
+
+
+ <%= form.date_select :date_to, default: { year: @this_year} %>
+
+
+ <%= form.text_field :comments %>
+
+
+ <%= form.text_field :vacation_type %>
+
<%= translate 'start' %> | +<%= translate 'end' %> | +<%= l(:workload_user_vacation_type) %> | +<%= l(:field_comments) %> | + <% if is_allowed %> ++ <% end %> + | |
---|---|---|---|---|---|
<%= vacation.date_from.blank? ? '' : vacation.date_from.to_date.to_s %> | +<%= vacation.date_to.blank? ? '' : vacation.date_to.to_date.to_s %> | +<%= vacation.vacation_type.blank? ? '' : vacation.vacation_type %> | +<%= vacation.comments.blank? ? '' : vacation.comments %> | + <% if is_allowed %> +<%= link_to l(:button_edit), edit_wl_user_vacation_path(vacation) %> | +<%= link_to l(:button_delete), wl_user_vacation_path(vacation), + method: :delete, + data: { confirm: l(:text_are_you_sure) } %> | + <% end %> + +
+ <%= f.submit l(:button_update)%> + <%= link_to l(:button_cancel), :controller => 'wl_user_vacations', :action => "index", :year => @this_year %> +
+<% end %> diff --git a/app/views/wl_user_vacations/index.html.erb b/app/views/wl_user_vacations/index.html.erb new file mode 100644 index 0000000..0ddeb1d --- /dev/null +++ b/app/views/wl_user_vacations/index.html.erb @@ -0,0 +1,12 @@ ++ <%= f.submit l(:button_add)%> + <%= link_to l(:button_cancel), :controller => 'wl_user_vacations', :action => "index", :year => @this_year %> + +
+<% end %> diff --git a/app/views/work_load/.tmp_index.html.erb.15632~ b/app/views/work_load/.tmp_index.html.erb.15632~ deleted file mode 100644 index a6207b1..0000000 --- a/app/views/work_load/.tmp_index.html.erb.15632~ +++ /dev/null @@ -1,187 +0,0 @@ -<% @gantt.view = self %> -<%= l(:notice_gantt_chart_truncated, :max => @gantt.max_rows) %>
-<% end %> - -
-
-
-
-
-
-
-
-<%= @gantt.subjects %>
-
-
-
- |
-
-
-
-
-
- <%= link_to "#{month_f.year}-#{month_f.month}", @gantt.params.merge(:year => month_f.year, :month => month_f.month), :title => "#{month_name(month_f.month)} #{month_f.year}"%>
-
- <%
- left = left + width + 1
- month_f = month_f >> 1
-end %>
-
-<%
-#
-# Weeks headers
-#
-if show_weeks
- left = 0
- height = (show_days ? header_heigth-1 : header_heigth-1 + g_height)
- if @gantt.date_from.cwday == 1
- # @date_from is monday
- week_f = @gantt.date_from
- else
- # find next monday after @date_from
- week_f = @gantt.date_from + (7 - @gantt.date_from.cwday + 1)
- width = (7 - @gantt.date_from.cwday + 1) * zoom-1
- %>
-
- <%= week_f.cweek if width >= 16 %>
-
- <%
- left = left + width+1
- week_f = week_f+7
- end
-end %>
-
-<%
-#
-# Days headers
-#
-if show_days
- left = 0
- height = g_height + header_heigth - 1
- wday = @gantt.date_from.cwday
- (@gantt.date_to - @gantt.date_from + 1).to_i.times do
- width = zoom - 1
- %>
- 5 %>" class="gantt_hdr">
- <%= day_name(wday).first %>
-
- <%
- left = left + width+1
- wday = wday + 1
- wday = 1 if wday > 7
- end
-end %>
-
-
-<%= @gantt.lines %>
-
-
-<%
-#
-# Today red line (excluded from cache)
-#
-if Date.today >= @gantt.date_from and Date.today <= @gantt.date_to %>
- |
-
<%= link_to_content_update('« ' + l(:label_previous), params.merge(@gantt.params_previous)) %> | -<%= link_to_content_update(l(:label_next) + ' »', params.merge(@gantt.params_next)) %> | -
<%= l(:notice_gantt_chart_truncated, :max => @gantt.max_rows) %>
-<% end %> - -
-
-
-
-
-
-
-
-<%= @gantt.subjects %>
-
-
-
- |
-
-
-
-
-
- <%= link_to "#{month_f.year}-#{month_f.month}", @gantt.params.merge(:year => month_f.year, :month => month_f.month), :title => "#{month_name(month_f.month)} #{month_f.year}"%>
-
- <%
- left = left + width + 1
- month_f = month_f >> 1
-end %>
-
-<%
-#
-# Weeks headers
-#
-if show_weeks
- left = 0
- height = (show_days ? header_heigth-1 : header_heigth-1 + g_height)
- if @gantt.date_from.cwday == 1
- # @date_from is monday
- week_f = @gantt.date_from
- else
- # find next monday after @date_from
- week_f = @gantt.date_from + (7 - @gantt.date_from.cwday + 1)
- width = (7 - @gantt.date_from.cwday + 1) * zoom-1
- %>
-
- <%= week_f.cweek if width >= 16 %>
-
- <%
- left = left + width+1
- week_f = week_f+7
- end
-end %>
-
-<%
-#
-# Days headers
-#
-if show_days
- left = 0
- height = g_height + header_heigth - 1
- wday = @gantt.date_from.cwday
- (@gantt.date_to - @gantt.date_from + 1).to_i.times do
- width = zoom - 1
- %>
- 5 %>" class="gantt_hdr">
- <%= day_name(wday).first %>
-
- <%
- left = left + width+1
- wday = wday + 1
- wday = 1 if wday > 7
- end
-end %>
-
-
-<%= @gantt.lines %>
-
-
-<%
-#
-# Today red line (excluded from cache)
-#
-if Date.today >= @gantt.date_from and Date.today <= @gantt.date_to %>
- |
-
<%= link_to_content_update('« ' + l(:label_previous), params.merge(@gantt.params_previous)) %> | -<%= link_to_content_update(l(:label_next) + ' »', params.merge(@gantt.params_next)) %> | -
<%= l(:notice_gantt_chart_truncated, :max => @gantt.max_rows) %>
-<% end %> - -
-
-
-
-
-
-
-
-<%= @gantt.subjects %>
-
-
-
- |
-
-
-
-
-
- <%= link_to "#{month_f.year}-#{month_f.month}", @gantt.params.merge(:year => month_f.year, :month => month_f.month), :title => "#{month_name(month_f.month)} #{month_f.year}"%>
-
- <%
- left = left + width + 1
- month_f = month_f >> 1
-end %>
-
-<%
-#
-# Weeks headers
-#
-if show_weeks
- left = 0
- height = (show_days ? header_heigth-1 : header_heigth-1 + g_height)
- if @gantt.date_from.cwday == 1
- # @date_from is monday
- week_f = @gantt.date_from
- else
- # find next monday after @date_from
- week_f = @gantt.date_from + (7 - @gantt.date_from.cwday + 1)
- width = (7 - @gantt.date_from.cwday + 1) * zoom-1
- %>
-
- <%= week_f.cweek if width >= 16 %>
-
- <%
- left = left + width+1
- week_f = week_f+7
- end
-end %>
-
-<%
-#
-# Days headers
-#
-if show_days
- left = 0
- height = g_height + header_heigth - 1
- wday = @gantt.date_from.cwday
- (@gantt.date_to - @gantt.date_from + 1).to_i.times do
- width = zoom - 1
- %>
- 5 %>" class="gantt_hdr">
- <%= day_name(wday).first %>
-
- <%
- left = left + width+1
- wday = wday + 1
- wday = 1 if wday > 7
- end
-end %>
-
-
-<%= @gantt.lines %>
-
-
-<%
-#
-# Today red line (excluded from cache)
-#
-if Date.today >= @gantt.date_from and Date.today <= @gantt.date_to %>
- |
-
<%= link_to_content_update('« ' + l(:label_previous), params.merge(@gantt.params_previous)) %> | -<%= link_to_content_update(l(:label_next) + ' »', params.merge(@gantt.params_next)) %> | -
-
-
-
-
-
-
-
-
-
-<%
-#
-# Months headers
-#
-month_f = @gantt.date_from
-left = 0
-height = (show_weeks ? header_heigth : header_heigth + g_height)
-@gantt.months.times do
- width = ((month_f >> 1) - month_f) * zoom - 1
- %>
-
-
- <%= link_to "#{month_f.year}-#{month_f.month}", @gantt.params.merge(:year => month_f.year, :month => month_f.month), :title => "#{month_name(month_f.month)} #{month_f.year}"%>
-
- <%
- left = left + width + 1
- month_f = month_f >> 1
-end %>
-
- <%
-#
-# Weeks headers
-#
-if show_weeks
- left = 0
- height = (show_days ? header_heigth-1 : header_heigth-1 + g_height)
- if @gantt.date_from.cwday == 1
- # @date_from is monday
- week_f = @gantt.date_from
- else
- # find next monday after @date_from
- week_f = @gantt.date_from + (7 - @gantt.date_from.cwday + 1)
- width = (7 - @gantt.date_from.cwday + 1) * zoom-1
- %>
-
- <%= week_f.cweek if width >= 16 %>
-
- <%
- left = left + width+1
- week_f = week_f+7
- end
-end %>
-
-<%
-#
-# Days headers
-#
-if show_days
- left = 0
- height = g_height + header_heigth - 1
- wday = @gantt.date_from.cwday
- (@gantt.date_to - @gantt.date_from + 1).to_i.times do
- width = zoom - 1
- %>
- 5 %>" class="gantt_hdr">
- <%= day_name(wday).first %>
-
- <%
- left = left + width+1
- wday = wday + 1
- wday = 1 if wday > 7
- end
-end %>
-
-
-
-
- <% issues_by_user = {}
- @usuarios.each do |user|
-
- %>
-
-
-
-
-
-
- <% end%>
-
-
-
- <%="#{user.firstname} #{user.lastname}"%>
-
-
- <%=@utils.getRemanente(user.id, @gantt.date_from) %>h Remanente from:(<%=@gantt.date_from%>)
-
- <% issues_by_user[user.id] = @utils.getIssuesOpenedEntreFechasOr(user.id, @gantt.date_from, @gantt.date_to)
- issues_by_user[user.id].each do |issue|
-
- sum = 0
- TimeEntry.find(:all, :conditions => ["issue_id = #{issue.id}"]).each do |h| sum+=h.hours end
- calculos[issue.id] = CalculosTareas.new(issue.id, issue.start_date, issue.due_date, issue.estimated_hours, sum, issue.done_ratio, issue.priority_id, @fecha_actual)
- %>
-
- #<%=issue.id%> <%=issue.description%>
-
- <% end%>
-
- <%
- @usuarios.each do |user|
- %>
-
-
- <% @num_semanas.times do |c|
- current_week = @lunes.to_time + ( ( c ) * ( 86400 * 7 ) )
- %>
-
-
-
- <% end%>
-
-
-
- <% end%>
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- <% counter = 1
- issues_by_user[user.id].each do |issue| %>
-
- <% if(calculos[issue.id].tengo_trabajo(current_week) ) then
- current_day = current_week.to_date
- %>
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- <% end%>
- <% counter = counter + 1 %>
- <% end%>
-
- horas totales <%=current_day.strftime("%Y-%m-%d") %> <% current_day.next%>
- horas totales <%=current_day.strftime("%Y-%m-%d") %> <% current_day.next%>
- horas totales <%=current_day.strftime("%Y-%m-%d") %> <% current_day.next%>
- horas totales <%=current_day.strftime("%Y-%m-%d") %> <% current_day.next%>
- horas totales <%=current_day.strftime("%Y-%m-%d") %>
- |
-
- << Anterior - | -- Siguiente >> - | -
- leyenda - Del total de horas dedicadas se promedian entro los días totales de la petición y van rellenándose - Una vez pasa el día actual de las peticiones se ponen en gris, y se toma para el cálculo de carga como fecha de inicio el día actual -
-- - Exportar a: - - PDF - - -
- -<% content_for :sidebar do %> - <%= render :partial => 'issues/sidebar' %> -<% end %> - -<% html_title('WorkLoad') -%> \ No newline at end of file diff --git a/app/views/work_load/.tmp_show.html.erb.17407~ b/app/views/work_load/.tmp_show.html.erb.17407~ deleted file mode 100644 index 647b18c..0000000 --- a/app/views/work_load/.tmp_show.html.erb.17407~ +++ /dev/null @@ -1,320 +0,0 @@ -<% -@gantt.view = self -subject_width = 330 -header_heigth = 18 -headers_height = header_heigth -show_weeks = true -show_days = true -headers_height = 3*header_heigth -zoom = 4 -@gantt.zoom.times { zoom = zoom * 2 } -g_width = (@gantt.date_to - @gantt.date_from + 1)*zoom -g_height = [(20 * (10 + 6))+150, 206].max -t_height = g_height + headers_height -calculos = {} - -%> -
-
-
-
-
-
-
-
-
-
-<%
-#
-# Months headers
-#
-month_f = @gantt.date_from
-left = 0
-height = (show_weeks ? header_heigth : header_heigth + g_height)
-@gantt.months.times do
- width = ((month_f >> 1) - month_f) * zoom - 1
- %>
-
-
- <%= link_to "#{month_f.year}-#{month_f.month}", @gantt.params.merge(:year => month_f.year, :month => month_f.month), :title => "#{month_name(month_f.month)} #{month_f.year}"%>
-
- <%
- left = left + width + 1
- month_f = month_f >> 1
-end %>
-
- <%
-#
-# Weeks headers
-#
-if show_weeks
- left = 0
- height = (show_days ? header_heigth-1 : header_heigth-1 + g_height)
- if @gantt.date_from.cwday == 1
- # @date_from is monday
- week_f = @gantt.date_from
- else
- # find next monday after @date_from
- week_f = @gantt.date_from + (7 - @gantt.date_from.cwday + 1)
- width = (7 - @gantt.date_from.cwday + 1) * zoom-1
- %>
-
- <%= week_f.cweek if width >= 16 %>
-
- <%
- left = left + width+1
- week_f = week_f+7
- end
-end %>
-
-<%
-#
-# Days headers
-#
-if show_days
- left = 0
- height = g_height + header_heigth - 1
- wday = @gantt.date_from.cwday
- (@gantt.date_to - @gantt.date_from + 1).to_i.times do
- width = zoom - 1
- %>
- 5 %>" class="gantt_hdr">
- <%= day_name(wday).first %>
-
- <%
- left = left + width+1
- wday = wday + 1
- wday = 1 if wday > 7
- end
-end %>
-
-
-
-
- <% issues_by_user = {}
- @usuarios.each do |user|
-
- %>
-
-
-
-
-
-
- <% end%>
-
-
-
- <%="#{user.firstname} #{user.lastname}"%>
-
-
- <%=@utils.getRemanente(user.id, @gantt.date_from) %>h Remanente from:(<%=@gantt.date_from%>)
-
- <% issues_by_user[user.id] = @utils.getIssuesOpenedEntreFechasOr(user.id, @gantt.date_from, @gantt.date_to)
- issues_by_user[user.id].each do |issue|
-
- sum = 0
- TimeEntry.find(:all, :conditions => ["issue_id = #{issue.id}"]).each do |h| sum+=h.hours end
- calculos[issue.id] = CalculosTareas.new(issue.id, issue.start_date, issue.due_date, issue.estimated_hours, sum, issue.done_ratio, issue.priority_id, @fecha_actual)
- %>
-
- #<%=issue.id%> <%=issue.description%>
-
- <% end%>
-
- <%
- @usuarios.each do |user|
- %>
-
-
- <% @num_semanas.times do |c|
- current_week = @lunes.to_time + ( ( c ) * ( 86400 * 7 ) )
- %>
-
-
-
- <% end%>
-
-
-
- <% end%>
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- <% counter = 1
- issues_by_user[user.id].each do |issue| %>
-
- <% if(calculos[issue.id].tengo_trabajo(current_week) ) then
- current_day = current_week.to_date
- %>
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- <% end%>
- <% counter = counter + 1 %>
- <% end%>
-
- horas totales <%=current_day.strftime("%Y-%m-%d") %> <% current_day.next%>
- horas totales <%=current_day.strftime("%Y-%m-%d") %> <% current_day.next%>
- horas totales <%=current_day.strftime("%Y-%m-%d") %> <% current_day.next%>
- horas totales <%=current_day.strftime("%Y-%m-%d") %> <% current_day.next%>
- horas totales <%=current_day.strftime("%Y-%m-%d") %>
- |
-
- << Anterior - | -- Siguiente >> - | -
- leyenda - Del total de horas dedicadas se promedian entro los días totales de la petición y van rellenándose - Una vez pasa el día actual de las peticiones se ponen en gris, y se toma para el cálculo de carga como fecha de inicio el día actual -
-- - Exportar a: - - PDF - - -
- -<% content_for :sidebar do %> - <%= render :partial => 'issues/sidebar' %> -<% end %> - -<% html_title('WorkLoad') -%> \ No newline at end of file diff --git a/app/views/work_load/.tmp_show.html.erb.4302~ b/app/views/work_load/.tmp_show.html.erb.4302~ deleted file mode 100644 index dc39349..0000000 --- a/app/views/work_load/.tmp_show.html.erb.4302~ +++ /dev/null @@ -1,1431 +0,0 @@ -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 27
-
-
-
- 28
-
-
-
- 29
-
-
-
- 30
-
-
-
- 31
-
-
-
- 32
-
-
-
- 33
-
-
-
- 34
-
-
-
- 35
-
-
-
- 36
-
-
-
- 37
-
-
-
- 38
-
-
-
- 39
-
-
-
- 40
-
-
-
- 41
-
-
-
- 42
-
-
-
- 43
-
-
-
- 44
-
-
-
- 45
-
-
-
- 46
-
-
-
- 47
-
-
-
- 48
-
-
-
- 49
-
-
-
- 50
-
-
-
- 51
-
-
-
- 52
-
-
-
-
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
-
-
-
-
-
-
-
-
-
-
-
-
-
- Rafael Antonio
-
-
- 2,25h Remanente
-
-
- #1323 Premios codespa
-
-
- #1324 Redmine
-
-
- #1325 Premios codespa
-
-
- #1326 Premios codespa
-
-
-
-
-
- Lucía
-
-
- 2,25h Remanente
-
-
- #1323 Premios codespa
-
-
- #1324 Redmine
-
-
- #1325 Premios codespa
-
-
- #1326 Premios codespa
-
-
-
-
-
- Lucía
-
-
- 2,25h Remanente
-
-
- #1323 Premios codespa
-
-
- #1324 Redmine
-
-
- #1325 Premios codespa
-
-
- #1326 Premios codespa
-
-
-
-
-
- Lucía
-
-
- 2,25h Remanente
-
-
- #1323 Premios codespa
-
-
- #1324 Redmine
-
-
- #1325 Premios codespa
-
-
- #1326 Premios codespa
-
-
-
-
-
-
-
-
-
- Lucía
-
-
- 2,25h Remanente
-
-
- #1323 Premios codespa
-
-
- #1324 Redmine
-
-
- #1325 Premios codespa
-
-
- #1326 Premios codespa
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
- |
-
- << Anterior - | -- Siguiente >> - | -
- leyenda - Del total de horas dedicadas se promedian entro los días totales de la petición y van rellenándose - Una vez pasa el día actual de las peticiones se ponen en gris, y se toma para el cálculo de carga como fecha de inicio el día actual -
-- - Exportar a: - - PDF - - -
- - \ No newline at end of file diff --git a/app/views/work_load/.tmp_show.html.erb.63476~ b/app/views/work_load/.tmp_show.html.erb.63476~ deleted file mode 100644 index c4cf231..0000000 --- a/app/views/work_load/.tmp_show.html.erb.63476~ +++ /dev/null @@ -1,1435 +0,0 @@ -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 27
-
-
-
- 28
-
-
-
- 29
-
-
-
- 30
-
-
-
- 31
-
-
-
- 32
-
-
-
- 33
-
-
-
- 34
-
-
-
- 35
-
-
-
- 36
-
-
-
- 37
-
-
-
- 38
-
-
-
- 39
-
-
-
- 40
-
-
-
- 41
-
-
-
- 42
-
-
-
- 43
-
-
-
- 44
-
-
-
- 45
-
-
-
- 46
-
-
-
- 47
-
-
-
- 48
-
-
-
- 49
-
-
-
- 50
-
-
-
- 51
-
-
-
- 52
-
-
-
-
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
- D
- L
- M
- M
- J
- V
- S
-
-
-
-
-
-
-
-
-
-
-
-
-
- Rafael Antonio
-
-
- 2,25h Remanente
-
-
- #1323 Premios codespa
-
-
- #1324 Redmine
-
-
- #1325 Premios codespa
-
-
- #1326 Premios codespa
-
-
-
-
-
- Lucía
-
-
- 2,25h Remanente
-
-
- #1323 Premios codespa
-
-
- #1324 Redmine
-
-
- #1325 Premios codespa
-
-
- #1326 Premios codespa
-
-
-
-
-
- Lucía
-
-
- 2,25h Remanente
-
-
- #1323 Premios codespa
-
-
- #1324 Redmine
-
-
- #1325 Premios codespa
-
-
- #1326 Premios codespa
-
-
-
-
-
- Lucía
-
-
- 2,25h Remanente
-
-
- #1323 Premios codespa
-
-
- #1324 Redmine
-
-
- #1325 Premios codespa
-
-
- #1326 Premios codespa
-
-
-
-
-
-
-
-
-
- Lucía
-
-
- 2,25h Remanente
-
-
- #1323 Premios codespa
-
-
- #1324 Redmine
-
-
- #1325 Premios codespa
-
-
- #1326 Premios codespa
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
- |
-
- << Anterior - | -- Siguiente >> - | -
- leyenda - Del total de horas dedicadas se promedian entro los días totales de la petición y van rellenándose - Una vez pasa el día actual de las peticiones se ponen en gris, y se toma para el cálculo de carga como fecha de inicio el día actual -
-- - Exportar a: - - PDF - - -
- -<% content_for :sidebar do %> - <%= render :partial => 'issues/sidebar' %> -<% end %> - -<% html_title('WorkLoad') -%> \ No newline at end of file diff --git a/app/views/work_load/.tmp_show.html.erb.92594~ b/app/views/work_load/.tmp_show.html.erb.92594~ deleted file mode 100644 index 4a72050..0000000 --- a/app/views/work_load/.tmp_show.html.erb.92594~ +++ /dev/null @@ -1,382 +0,0 @@ -<% -@gantt.view = self -subject_width = 330 -header_heigth = 18 -headers_height = header_heigth -show_weeks = true -show_days = true -headers_height = 3*header_heigth -zoom = 1 -@gantt.zoom.times { zoom = zoom * 2 } -g_width = (@gantt.date_to - @gantt.date_from + 1)*zoom -g_height = [(20 * (10 + 6))+150, 206].max -t_height = g_height + headers_height -calculos = {} -%> -
-
-
-
-
-
-
-
-
-
-<%
-#
-# Months headers
-#
-month_f = @gantt.date_from
-left = 0
-height = (show_weeks ? header_heigth : header_heigth + g_height)
-@gantt.months.times do
- width = ((month_f >> 1) - month_f) * zoom - 1
- %>
-
-
- <%= link_to "#{month_f.year}-#{month_f.month}", @gantt.params.merge(:year => month_f.year, :month => month_f.month), :title => "#{month_name(month_f.month)} #{month_f.year}"%>
-
- <%
- left = left + width + 1
- month_f = month_f >> 1
-end %>
-
- <%
-#
-# Weeks headers
-#
-if show_weeks
- left = 0
- height = (show_days ? header_heigth-1 : header_heigth-1 + g_height)
- if @gantt.date_from.cwday == 1
- # @date_from is monday
- week_f = @gantt.date_from
- else
- # find next monday after @date_from
- week_f = @gantt.date_from + (7 - @gantt.date_from.cwday + 1)
- width = (7 - @gantt.date_from.cwday + 1) * zoom-1
- %>
-
- <%= week_f.cweek if width >= 16 %>
-
- <%
- left = left + width+1
- week_f = week_f+7
- end
-end %>
-
-<%
-#
-# Days headers
-#
-if show_days
- left = 0
- height = g_height + header_heigth - 1
- wday = @gantt.date_from.cwday
- (@gantt.date_to - @gantt.date_from + 1).to_i.times do
- width = zoom - 1
- %>
- 5 %>" class="gantt_hdr">
- <%= day_name(wday).first %>
-
- <%
- left = left + width+1
- wday = wday + 1
- wday = 1 if wday > 7
- end
-end %>
-
-
-
-
- <% @usuarios.each do |user| %>
-
-
-
-
-
-
- <% end%>
-
-
-
- <%="#{user.firstname} #{user.lastname}"%>
-
-
- <%=@utils.getRemanente(user.id, @gantt.date_from) %>h Remanente from:(<%=@gantt.date_from%>)
-
- <% @utils.getIssuesOpenedEntreFechasOr(user.id, @gantt.date_from, @gantt.date_to).each do |issue|
- sum = 0
- TimeEntry.find(:all, :conditions => ["issue_id = #{issue.id}"]).each do |h| sum+=h.hours end
- calculos[issue.id] = CalculosTareas.new(issue.id, issue.start_date, issue.due_date, issue.estimated_hours, sum, issue.done_ratio, issue.priority_id, @fecha_actual)
- %>
-
- #<%=issue.id%> <%=issue.description%>
-
- <% end%>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
-
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
-
-
- horas totales lunes
- horas totales martes
- horas totales miércoles
- horas totales jueves
- horas totales viernes
- |
-
- << Anterior - | -- Siguiente >> - | -
- leyenda - Del total de horas dedicadas se promedian entro los días totales de la petición y van rellenándose - Una vez pasa el día actual de las peticiones se ponen en gris, y se toma para el cálculo de carga como fecha de inicio el día actual -
-- - Exportar a: - - PDF - - -
- -<% content_for :sidebar do %> - <%= render :partial => 'issues/sidebar' %> -<% end %> - -<% html_title('WorkLoad') -%> \ No newline at end of file diff --git a/app/views/work_load/.tmp_span.html.erb.42215~ b/app/views/work_load/.tmp_span.html.erb.42215~ deleted file mode 100644 index a0c3b0a..0000000 --- a/app/views/work_load/.tmp_span.html.erb.42215~ +++ /dev/null @@ -1,55 +0,0 @@ - - - - - -+ <%= render :partial => 'month_names_header' %> + |
- <%=l(:label_previous)%> - | -<%=l(:label_next)%> - | -
t |