class Admin::CalendarsController < OrbitAdminController # GET /events # GET /events.json def index if params[:start].present? && params[:end].present? sdt = Time.at(params[:start].to_i) edt = Time.at(params[:end].to_i) @monthly_events = Event.monthly_event(sdt,edt) @re = Event.recurring_event(sdt,edt) events = @monthly_events.inject(@re, :<<) end respond_to do |format| format.html # index.html.erb format.json { render json: events.to_json } end end # GET /events/1 # GET /events/1.json def show @event = Event.find(params[:id]) respond_to do |format| format.html # show.html.erb format.json { render json: @event } end end def agenda agenda_start = Date.strptime(params[:agenda_start], '%m/%d/%Y') agenda_end = Date.strptime(params[:agenda_end], '%m/%d/%Y') @events = Event.agenda_events(agenda_start,agenda_end) # re = Event.recurring_event(Time.at(params[:unix_start].to_i), Time.at(params[:unix_end].to_i)) # @events = @events.inject(re, :<<) render :json=>@events.to_json end # GET /events/new # GET /events/new.json def new @event = Event.new categories = user_authenticated_categories rescue [] if categories.first == "all" @categories = CalendarType.all else @categories = CalendarType.where(:category_id.in => categories) rescue [] end @end_d_t = params[:endDate] @start_d_t = params[:startDate] @all_day = false; @recurring = false; if params case params[:allDay] when "true" @all_day = true when "false" @all_day = false case params[:recurring] when "true" @recurring = true when "false" @recurring = false end end end render :layout => false end # GET /events/1/edit def edit @event = Event.find(params[:id]) categories = user_authenticated_categories rescue [] if categories.first == "all" @categories = CalendarType.all else @categories = CalendarType.where(:category_id.in => categories) rescue [] end @end_d_t = @event.end.strftime("%Y/%m/%d %H:%M").to_s @start_d_t = @event.start.strftime("%Y/%m/%d %H:%M").to_s @all_day = @event.all_day @recurring = @event.recurring render :layout => false end # POST /events # POST /events.json def create @event = Event.new(event_page_params) if @event.present? && @event.save render json: @event.to_json else respond_to do |format| format.html { render action: "new" } format.json { render json: @event.errors, status: :unprocessable_entity } end end end # PUT /events/1 # PUT /events/1.json def update @event = Event.find(params[:id]) if @event.update_attributes(event_page_params) render json: @event.to_json else respond_to do |format| format.html { render action: "edit" } format.json { render json: @event.errors, status: :unprocessable_entity } #format.js end end end # DELETE /events/1 # DELETE /events/1.json def destroy @event = Event.find(params[:id]) @event.destroy render :json => {"success"=>true}.to_json # respond_to do |format| # format.html { redirect_to events } # format.json { head :no_content } # end end private def event_page_params params.require(:event).permit! end def can_edit_or_delete_event?(obj) create_user = obj.create_user_id.to_s rescue nil if @user_authenticated_categories.first == "all" return true elsif @current_user_is_sub_manager && !create_user.nil? create_user == current_user.id.to_s else @user_authenticated_categories.include?obj.calendar_type.category_id rescue (current_user.is_manager?(@module_app) rescue false) end end end