Sprankelprachtig aan/afmeldsysteem

show.html.haml 6.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. - all_buttons = @activity.may_change?(current_person)
  2. .row
  3. .col-md-9
  4. .panel.panel-default
  5. .panel-heading
  6. = @activity.name
  7. - if all_buttons
  8. = link_to edit_group_activity_path(@group, @activity), class: 'pull-right' do
  9. %i.fa.fa-pencil
  10. %table.table
  11. %tr
  12. %td
  13. = t 'activities.attrs.organizers'
  14. %td
  15. = @organizers
  16. %tr
  17. %td
  18. = t 'activities.attrs.description'
  19. %td
  20. = @activity.description
  21. %tr
  22. %td
  23. = t 'activities.attrs.where'
  24. %td
  25. = @activity.location
  26. %tr
  27. %td
  28. = t 'activities.attrs.when'
  29. %td
  30. = l @activity.start, format: :long
  31. - if @activity.end
  32. \-
  33. - if @activity.end.to_date == @activity.start.to_date
  34. = l @activity.end, format: '%H:%M'
  35. - else
  36. = l @activity.end, format: :long
  37. %tr
  38. %td
  39. = t 'activities.attrs.deadline'
  40. %td
  41. - if @activity.deadline
  42. = l @activity.deadline, format: :long
  43. - if @ownparticipant
  44. .col-md-3
  45. .panel.panel-default
  46. .panel-heading
  47. = t 'activities.participant.yourresponse'
  48. .panel-body
  49. = render partial: "activities/wide_presence_buttons", locals: {activity: @activity, person: @ownparticipant.person, state: @ownparticipant.attending}
  50. = editable @ownparticipant,
  51. :notes,
  52. url: presence_group_activity_path(@activity.group, @activity, person_id: @ownparticipant.person_id),
  53. title: t('activities.participant.notes'),
  54. value: @ownparticipant.notes,
  55. emptytext: t('activities.participant.add_notes')
  56. .hidden-xs
  57. %h2
  58. = @num_participants
  59. = t 'activities.participant.plural'
  60. = render partial: "state_counts", locals: {counts: @counts}
  61. %table.table.table-bordered
  62. - @participants.each do |p|
  63. %tr{class: p.row_class, data: {person_id: p.person.id, activity_id: @activity.id}}
  64. %td
  65. = p.person.full_name
  66. - if p.is_organizer
  67. %i.fa.fa-star-o
  68. %td
  69. = editable p, :notes, url: presence_group_activity_path(@activity.group, @activity, person_id: p.person_id), title: t('activities.participant.notes'), value: p.notes, emptytext: "--"
  70. %td
  71. - if p.person.id == current_person.id || all_buttons
  72. = render partial: "activities/presence_buttons", locals: {activity: @activity, person: p.person, state: p.attending}
  73. .hidden-sm.hidden-md.hidden-lg
  74. .panel.panel-default.panel-success
  75. .panel-heading
  76. %a{role: 'button', href: '#present-collapse', data: {toggle: 'collapse'}, 'aria-expanded': 'false'}
  77. %span.sv-show-collapsed
  78. %i.fa.fa-angle-down
  79. %span.sv-show-expanded
  80. %i.fa.fa-angle-up
  81. = t 'activities.state.present'
  82. %span.badge
  83. = @counts[true] || "0"
  84. %table.table.collapse#present-collapse
  85. %tbody
  86. - @participants.where(attending: true).each do |p|
  87. %tr{data: {person_id: p.person.id, activity_id: @activity.id}}
  88. %td
  89. = p.person.full_name
  90. - if p.is_organizer
  91. %i.fa.fa-star-o
  92. %td
  93. - if p.person.id == current_person.id || all_buttons
  94. = render partial: "activities/presence_buttons", locals: {activity: @activity, person: p.person, state: p.attending}
  95. %tr{data: {person_id: p.person_id, activity_id: @activity.id}}
  96. %td{colspan: "2"}
  97. = editable p, :notes, url: presence_group_activity_path(@activity.group, @activity, person_id: p.person_id), title: t('activities.participant.notes'), value: p.notes, emptytext: "--"
  98. .panel.panel-default
  99. .panel-heading
  100. %a{role: 'button', href: '#unknown-collapse', data: {toggle: 'collapse'}, 'aria-expanded': 'false'}
  101. %span.sv-show-collapsed
  102. %i.fa.fa-angle-down
  103. %span.sv-show-expanded
  104. %i.fa.fa-angle-up
  105. = t 'activities.state.need_response'
  106. %span.badge
  107. = @counts[nil] || "0"
  108. %table.table.collapse#unknown-collapse
  109. %tbody
  110. - @participants.where(attending: nil).each do |p|
  111. %tr{data: {person_id: p.person.id, activity_id: @activity.id}}
  112. %td
  113. = p.person.full_name
  114. - if p.is_organizer
  115. %i.fa.fa-star-o
  116. %td
  117. - if p.person.id == current_person.id || all_buttons
  118. = render partial: "activities/presence_buttons", locals: {activity: @activity, person: p.person, state: p.attending}
  119. %tr{data: {person_id: p.person_id, activity_id: @activity.id}}
  120. %td{colspan: "2"}
  121. = editable p, :notes, url: presence_group_activity_path(@activity.group, @activity, person_id: p.person_id), title: t('activities.participant.notes'), value: p.notes, emptytext: "--"
  122. .panel.panel-default.panel-danger
  123. .panel-heading
  124. %a{role: 'button', href: '#absent-collapse', data: {toggle: 'collapse'}, 'aria-expanded': 'false'}
  125. %span.sv-show-collapsed
  126. %i.fa.fa-angle-down
  127. %span.sv-show-expanded
  128. %i.fa.fa-angle-up
  129. = t 'activities.state.absent'
  130. %span.badge
  131. = @counts[false] || "0"
  132. %table.table.collapse#absent-collapse
  133. %tbody
  134. - @participants.where(attending: false).each do |p|
  135. %tr{data: {person_id: p.person.id, activity_id: @activity.id}}
  136. %td
  137. = p.person.full_name
  138. - if p.is_organizer
  139. %i.fa.fa-star-o
  140. %td
  141. - if p.person.id == current_person.id || all_buttons
  142. = render partial: "activities/presence_buttons", locals: {activity: @activity, person: p.person, state: p.attending}
  143. %tr{data: {person_id: p.person_id, activity_id: @activity.id}}
  144. %td{colspan: "2"}
  145. = editable p, :notes, url: presence_group_activity_path(@activity.group, @activity, person_id: p.person_id), title: t('activities.participant.notes'), value: p.notes, emptytext: "--"