From 31a3cb18b7f01377555f19aac790a7061980bc41 Mon Sep 17 00:00:00 2001 From: James Mason Date: Fri, 23 Feb 2018 00:06:10 -0800 Subject: [PATCH] Implement caching on admin event view Resolves https://github.com/openSUSE/osem/issues/1985 --- app/views/admin/events/_proposal.html.haml | 246 +++++++++++---------- 1 file changed, 124 insertions(+), 122 deletions(-) diff --git a/app/views/admin/events/_proposal.html.haml b/app/views/admin/events/_proposal.html.haml index a1d9387a..71fa4a73 100644 --- a/app/views/admin/events/_proposal.html.haml +++ b/app/views/admin/events/_proposal.html.haml @@ -1,134 +1,136 @@ -.row - .col-md-12 - %h3 - = @event.title - %br - %small - = @event.subtitle - .btn-group.pull-right - = link_to 'Registrations', registrations_admin_conference_program_event_path(@conference.short_title, @event), class: 'btn btn-success' - = link_to 'Edit', edit_admin_conference_program_event_path(@conference.short_title, @event), class: 'btn btn-mini btn-primary' +- cache ['admin/event', @conference, @program, @event] do + .row + .col-md-12 + %h3 + = @event.title + %br + %small + = @event.subtitle + .btn-group.pull-right + = link_to 'Registrations', registrations_admin_conference_program_event_path(@conference.short_title, @event), class: 'btn btn-success' + = link_to 'Edit', edit_admin_conference_program_event_path(@conference.short_title, @event), class: 'btn btn-mini btn-primary' -.row - .col-md-12 - %table.table - %tr - %td.col-md-2 - %b Type - %td - = event_type_dropdown(@event, @event_types, @conference.short_title) - %tr - %td - %b Highlight - %td - = event_switch_checkbox(@event, :is_highlight, @conference.short_title) - %tr - %td - %b State - %td - = state_dropdown(@event, @conference.short_title, @conference.email_settings) - %tr - %td - %b Track - %td - = track_dropdown(@event, @tracks, @conference.short_title) - %tr - %td - %b Difficulty - %td - = difficulty_dropdown(@event, @difficulty_levels, @conference.short_title) - %tr - %td - %b Requires Registration - %td - = event_switch_checkbox(@event, :require_registration, @conference.short_title) - - if @event.require_registration - = registered_text(@event) - - - if @program.languages.present? + .row + .col-md-12 + %table.table + %tr + %td.col-md-2 + %b Type + %td + = event_type_dropdown(@event, @event_types, @conference.short_title) %tr %td - %b Language + %b Highlight %td - = @event.language + = event_switch_checkbox(@event, :is_highlight, @conference.short_title) + %tr + %td + %b State + %td + = state_dropdown(@event, @conference.short_title, @conference.email_settings) + %tr + %td + %b Track + %td + = track_dropdown(@event, @tracks, @conference.short_title) + %tr + %td + %b Difficulty + %td + = difficulty_dropdown(@event, @difficulty_levels, @conference.short_title) + %tr + %td + %b Requires Registration + %td + = event_switch_checkbox(@event, :require_registration, @conference.short_title) + - if @event.require_registration + = registered_text(@event) - - unless @event.room.nil? + - if @program.languages.present? + %tr + %td + %b Language + %td + = @event.language + + - unless @event.room.nil? + %tr + %td + %b Room + %td + = @event.room.name + - unless @event.time.nil? + %tr + %td + %b Scheduled time + %td + = time_with_timezone(@event.time) %tr %td - %b Room + %b Submitter %td - = @event.room.name - - unless @event.time.nil? + = link_to @event.submitter.name, admin_user_path(@event.submitter) + ( + = link_to @event.submitter.email, "mailto: #{@event.submitter.email}" + ) %tr %td - %b Scheduled time + %b Speakers %td - = time_with_timezone(@event.time) - %tr - %td - %b Submitter - %td - = link_to @event.submitter.name, admin_user_path(@event.submitter) - ( - = link_to @event.submitter.email, "mailto: #{@event.submitter.email}" - ) - %tr - %td - %b Speakers - %td - - @event.speakers.each do |speaker| + - @event.speakers.each do |speaker| + %div + = link_to speaker.name, admin_user_path(speaker) + ( + = link_to speaker.email, "mailto: #{speaker.email}" + ) + %tr + %td + %b Biographies + %td + - @event.speakers.each do |speaker| + - unless speaker.biography.blank? + %b + = speaker.name + = markdown(speaker.biography) + %tr + %td + %b Submitted on + %td= @event.created_at + %tr + %td + %b Last updated on + %td= @event.updated_at + %tr + %td + %b Abstract + %td= markdown(@event.abstract) + %tr + %td + %b Requirements + %td= simple_format(@event.description) + + - if @conference.program.rating_enabled? + = render 'voting', + event: @event, + show_votes: @program.show_voting?, + max_rating: @program.rating, + voting_period: @program.voting_period?, + votes: @votes, + conference_id: @conference.short_title + +- cache [@conference, @event, @comments] do + .row + = link_to "Comments (#{@comment_count})", '#', id: 'event-comment-link' + #comments-div + %hr + %ul.media + %div + .row-fluid + = semantic_form_for :comment, url: comment_admin_conference_program_event_path(@conference.short_title, @event.id), method: :post do |f| + = f.input :body + = f.submit 'Add Comment', class: 'btn btn-primary pull-right' + %br + %br + - @comments.each do |comment| %div - = link_to speaker.name, admin_user_path(speaker) - ( - = link_to speaker.email, "mailto: #{speaker.email}" - ) - %tr - %td - %b Biographies - %td - - @event.speakers.each do |speaker| - - unless speaker.biography.blank? - %b - = speaker.name - = markdown(speaker.biography) - %tr - %td - %b Submitted on - %td= @event.created_at - %tr - %td - %b Last updated on - %td= @event.updated_at - %tr - %td - %b Abstract - %td= markdown(@event.abstract) - %tr - %td - %b Requirements - %td= simple_format(@event.description) - - - if @conference.program.rating_enabled? - = render 'voting', - event: @event, - show_votes: @program.show_voting?, - max_rating: @program.rating, - voting_period: @program.voting_period?, - votes: @votes, - conference_id: @conference.short_title - -.row - = link_to "Comments (#{@comment_count})", '#', id: 'event-comment-link' - #comments-div - %hr - %ul.media - %div - .row-fluid - = semantic_form_for :comment, url: comment_admin_conference_program_event_path(@conference.short_title, @event.id), method: :post do |f| - = f.input :body - = f.submit 'Add Comment', class: 'btn btn-primary pull-right' - %br - %br - - @comments.each do |comment| - %div - = render partial: 'nested_comments', locals: { comment: comment, padding: 0} + = render partial: 'nested_comments', locals: { comment: comment, padding: 0}