diff options
| -rw-r--r-- | app/controllers/calendars_controller.rb | 32 | ||||
| -rw-r--r-- | app/controllers/concerns/workgroup_support.rb | 12 | ||||
| -rw-r--r-- | app/helpers/table_builder_helper/url.rb | 2 | 
3 files changed, 45 insertions, 1 deletions
| diff --git a/app/controllers/calendars_controller.rb b/app/controllers/calendars_controller.rb index 585851f00..17297c758 100644 --- a/app/controllers/calendars_controller.rb +++ b/app/controllers/calendars_controller.rb @@ -1,4 +1,5 @@  class CalendarsController < ChouetteController +  include WorkgroupSupport    include PolicyChecker    include TimeTablesHelper @@ -54,10 +55,18 @@ class CalendarsController < ChouetteController    private    def decorate_calendars(calendars) +<<<<<<< HEAD      CalendarDecorator.decorate(        calendars,        context: {          workgroup: workgroup +======= +    ModelDecorator.decorate( +      calendars, +      with: CalendarDecorator, +      context: { +        workgroup: current_workgroup +>>>>>>> update calendar build_links for table builder        }      )    end @@ -82,17 +91,30 @@ class CalendarsController < ChouetteController    helper_method :workgroup    def resource +<<<<<<< HEAD      @calendar ||= workgroup.calendars.where('(organisation_id = ? OR shared = ?)', current_organisation.id, true).find_by_id(params[:id]) +======= +<<<<<<< HEAD +    @calendar = Calendar.where('organisation_id = ? OR shared = true', current_organisation.id).find_by_id(params[:id]).decorate +======= +    @calendar = Calendar.where('(organisation_id = ? OR shared = ?) AND workgroup_id = ?', current_organisation.id).find_by_id(params[:id], true, @workgroup.id) +>>>>>>> update calendar build_links for table builder +>>>>>>> update calendar build_links for table builder    end    def build_resource      super.tap do |calendar| +<<<<<<< HEAD        calendar.workgroup = workgroup +======= +      calendar.workgroup = current_workgroup +>>>>>>> update calendar build_links for table builder        calendar.organisation = current_organisation      end    end    def collection +<<<<<<< HEAD      @calendars ||= begin        scope = workgroup.calendars.where('(organisation_id = ? OR shared = ?)', current_organisation.id, true)        scope = shared_scope(scope) @@ -101,6 +123,16 @@ class CalendarsController < ChouetteController        calendars = calendars.order(sort_column + ' ' + sort_direction) if sort_column && sort_direction        calendars = calendars.paginate(page: params[:page])      end +======= +    return @calendars if @calendars +    scope = Calendar.where('(organisation_id = ? OR shared = ?) AND workgroup_id = ?', current_organisation.id, true, @workgroup.id) +    scope = shared_scope(scope) +    @q = scope.ransack(params[:q]) + +    calendars = @q.result +    calendars = calendars.order(sort_column + ' ' + sort_direction) if sort_column && sort_direction +    @calendars = calendars.paginate(page: params[:page]) +>>>>>>> update calendar build_links for table builder    end    def ransack_contains_date diff --git a/app/controllers/concerns/workgroup_support.rb b/app/controllers/concerns/workgroup_support.rb new file mode 100644 index 000000000..a3b49bb12 --- /dev/null +++ b/app/controllers/concerns/workgroup_support.rb @@ -0,0 +1,12 @@ +module WorkgroupSupport +  extend ActiveSupport::Concern + +  included do +    before_action :find_workgroup +  end + +  def find_workgroup +   @workgroup ||= Workgroup.find params[:workgroup_id] +  end + +end diff --git a/app/helpers/table_builder_helper/url.rb b/app/helpers/table_builder_helper/url.rb index 57172301c..0e3dce0aa 100644 --- a/app/helpers/table_builder_helper/url.rb +++ b/app/helpers/table_builder_helper/url.rb @@ -3,7 +3,7 @@ module TableBuilderHelper      def self.polymorphic_url_parts(item, referential, workgroup)        polymorph_url = [] -      unless item.is_a?(Referential) || item.is_a?(ComplianceControlSet) +      unless item.is_a?(Calendar) || item.is_a?(Referential) || item.is_a?(ComplianceControlSet)          if referential            polymorph_url << referential            polymorph_url << item.line if item.respond_to? :line | 
