Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if window.location.toString().indexOf('https://redmine.in4mates.com/rb/taskboards') == 0
- $().ready ->
- getUserEstimations = ->
- user_taskboard_stats = {}
- task_status_names = []
- [2,3,4,5,6,7,8,9].forEach (taskboard_column)->
- if $("tr td:nth-child(#{taskboard_column})",'#board_header').length
- task_status_name = $("tr td:nth-child(#{taskboard_column})",'#board_header')[0].innerHTML
- task_status_names.push(task_status_name)
- $(".model.issue.task","td:nth-child(#{taskboard_column})",'#impediments , #tasks').toArray().forEach (e)->
- username = $('.assigned_to_id.editable .t', e).html() || 'Nieprzypisany'
- hours = parseFloat($('.remaining_hours.editable', e).html() || '0')
- user_taskboard_stats[username] = {} unless user_taskboard_stats[username]
- user_taskboard_stats[username][task_status_name] = {} unless user_taskboard_stats[username][task_status_name]
- user_taskboard_stats[username][task_status_name]['hours'] = (user_taskboard_stats[username][task_status_name]['hours'] || 0) + hours
- user_taskboard_stats[username][task_status_name]['count'] = (user_taskboard_stats[username][task_status_name]['count'] || 0) + 1
- table_string = "<tr><td>Przypisane do:</td>"
- task_status_names.forEach (name)->
- table_string += "<td>#{name}</td>"
- table_string += "<td>SUMA</td></tr>"
- status_sums = {}
- Object.keys(user_taskboard_stats).forEach (username) ->
- table_string += "<tr><td>#{username}</td>"
- user_hour_sum = 0
- user_count_sum = 0
- task_status_names.forEach (status)->
- status_sums[status] = {} unless status_sums[status]
- if !user_taskboard_stats[username][status]
- table_string += "<td></td>"
- else
- hours = user_taskboard_stats[username][status].hours
- count = user_taskboard_stats[username][status].count
- status_sums[status].hours = (status_sums[status].hours || 0) + hours
- status_sums[status].count = (status_sums[status].count || 0) + count
- user_hour_sum = user_hour_sum + hours
- user_count_sum = user_count_sum + count
- table_string += "<td>#{hours}H (#{count})</td>"
- table_string += "</td><td>#{user_hour_sum}H (#{user_count_sum})</td>"
- table_string += "<tr><td>Suma</td>"
- sum_sums = {hours: 0, count: 0}
- task_status_names.forEach (name)->
- hours = status_sums[name].hours || 0
- count = status_sums[name].count || 0
- sum_sums.hours = sum_sums.hours + hours
- sum_sums.count = sum_sums.count + count
- table_string += "<td>#{hours}H (#{count})</td>"
- table_string += "<td>#{sum_sums.hours}H (#{sum_sums.count})</td></tr>"
- return table_string
- button_code = '<button id="show_estimations_button">Pokaz estymacje</button>'
- $('#userid').after('<div id="users_estimation_sums" style="width: 90%; height: 100%">'+button_code+'</div>')
- $('#show_estimations_button').on 'click', ->
- if $("#estimations_table").length
- $("#estimations_table")[0].outerHTML = ""
- else
- $('#show_estimations_button').after('<table id="estimations_table" border="1">'+getUserEstimations()+'</table>')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement