Advertisement
Guest User

Untitled

a guest
Apr 21st, 2017
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if window.location.toString().indexOf('https://redmine.in4mates.com/rb/taskboards') == 0
  2.   $().ready ->
  3.     getUserEstimations = ->
  4.       user_taskboard_stats = {}
  5.       task_status_names = []
  6.       [2,3,4,5,6,7,8,9].forEach (taskboard_column)->
  7.         if $("tr td:nth-child(#{taskboard_column})",'#board_header').length
  8.           task_status_name = $("tr td:nth-child(#{taskboard_column})",'#board_header')[0].innerHTML
  9.           task_status_names.push(task_status_name)
  10.           $(".model.issue.task","td:nth-child(#{taskboard_column})",'#impediments , #tasks').toArray().forEach (e)->
  11.             username = $('.assigned_to_id.editable .t', e).html() || 'Nieprzypisany'
  12.             hours = parseFloat($('.remaining_hours.editable', e).html() || '0')
  13.             user_taskboard_stats[username] = {} unless user_taskboard_stats[username]
  14.             user_taskboard_stats[username][task_status_name] = {} unless user_taskboard_stats[username][task_status_name]
  15.             user_taskboard_stats[username][task_status_name]['hours'] = (user_taskboard_stats[username][task_status_name]['hours'] || 0) + hours
  16.             user_taskboard_stats[username][task_status_name]['count'] = (user_taskboard_stats[username][task_status_name]['count'] || 0) + 1
  17.  
  18.       table_string = "<tr><td>Przypisane do:</td>"
  19.       task_status_names.forEach (name)->
  20.         table_string += "<td>#{name}</td>"
  21.       table_string += "<td>SUMA</td></tr>"
  22.       status_sums = {}
  23.       Object.keys(user_taskboard_stats).forEach (username) ->
  24.         table_string += "<tr><td>#{username}</td>"
  25.         user_hour_sum = 0
  26.         user_count_sum = 0
  27.         task_status_names.forEach (status)->
  28.           status_sums[status] = {} unless status_sums[status]
  29.           if !user_taskboard_stats[username][status]
  30.             table_string += "<td></td>"
  31.           else
  32.             hours = user_taskboard_stats[username][status].hours
  33.             count = user_taskboard_stats[username][status].count
  34.  
  35.             status_sums[status].hours = (status_sums[status].hours || 0) + hours
  36.             status_sums[status].count = (status_sums[status].count || 0) + count
  37.             user_hour_sum = user_hour_sum + hours
  38.             user_count_sum = user_count_sum + count
  39.             table_string += "<td>#{hours}H (#{count})</td>"
  40.         table_string += "</td><td>#{user_hour_sum}H (#{user_count_sum})</td>"
  41.       table_string += "<tr><td>Suma</td>"
  42.       sum_sums = {hours: 0, count: 0}
  43.       task_status_names.forEach (name)->
  44.         hours = status_sums[name].hours || 0
  45.         count = status_sums[name].count || 0
  46.         sum_sums.hours = sum_sums.hours + hours
  47.         sum_sums.count = sum_sums.count + count
  48.         table_string += "<td>#{hours}H (#{count})</td>"
  49.       table_string += "<td>#{sum_sums.hours}H (#{sum_sums.count})</td></tr>"
  50.       return table_string
  51.     button_code = '<button id="show_estimations_button">Pokaz estymacje</button>'
  52.     $('#userid').after('<div id="users_estimation_sums" style="width: 90%; height: 100%">'+button_code+'</div>')
  53.     $('#show_estimations_button').on 'click', ->
  54.       if $("#estimations_table").length
  55.         $("#estimations_table")[0].outerHTML = ""
  56.       else
  57.         $('#show_estimations_button').after('<table id="estimations_table" border="1">'+getUserEstimations()+'</table>')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement