Sprankelprachtig aan/afmeldsysteem

show.html.haml 5.6KB

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