Class: Comfy::Admin::Meetalendar::MeetupsController

Inherits:
Cms::BaseController
  • Object
show all
Defined in:
app/controllers/comfy/admin/meetalendar/meetups_controller.rb

Instance Method Summary collapse

Instance Method Details

#authorize_calendarObject



27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'app/controllers/comfy/admin/meetalendar/meetups_controller.rb', line 27

def authorize_calendar
  @goto_url = Comfy::Admin::Meetalendar::MeetupsCalendarSyncer.get_authorization_url
  key_code = params_permit_key_code[:key_code]
  if !key_code.nil?
    begin
      Comfy::Admin::Meetalendar::MeetupsCalendarSyncer.authorize_and_remember(key_code)
      flash[:success] = "Calendar successfully authorized."
    rescue ::ActiveResource::UnauthorizedAccess => exception
      flash[:error] = exception.message.to_s
    ensure
      (redirect_to(action: :index) and return)
    end
  end
end

#authorize_meetupObject



42
43
44
# File 'app/controllers/comfy/admin/meetalendar/meetups_controller.rb', line 42

def authorize_meetup
  redirect_to(Comfy::Admin::Meetalendar::MeetupsControllerLogic::authorize_meetup(request, callback_comfy_admin_meetalendar_meetups_path(@site).to_s)) and return
end

#callbackObject



46
47
48
49
50
51
52
53
54
55
# File 'app/controllers/comfy/admin/meetalendar/meetups_controller.rb', line 46

def callback
  begin
    Comfy::Admin::Meetalendar::MeetupsControllerLogic::callback(params_permit_code[:code], request, callback_comfy_admin_meetalendar_meetups_path(@site).to_s)
    flash[:success] = "Meetup successfully authorized."
  rescue  ::ActiveResource::ClientError => ex
    flash[:error] = ex.message.to_s
  ensure
    redirect_to(action: :index) and return
  end
end

#createObject



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'app/controllers/comfy/admin/meetalendar/meetups_controller.rb', line 63

def create
  @selected_groups_ids = params_permit_selected[:selected_groups_ids]
  if @selected_groups_ids.nil?
    flash[:error] = "Could not create new Meetup subscription(s) as no Meetup groups where selected."
  else
    @selected_groups_ids.each do |selected_id|
      already_present_meetup = Comfy::Admin::Meetalendar::MeetupGroup.where(group_id: selected_id).first

      group_data = params_permit_id(selected_id)

      if group_data.nil?
        flash[:error] = flash[:error].to_s + " + No group data was present for group id: #{selected_id}"
      else
        if already_present_meetup.nil?
          @meetup = Comfy::Admin::Meetalendar::MeetupGroup.new({"group_id": selected_id, "name": group_data[:name], "approved_cities": group_data[:approved_cities], "group_link": group_data[:group_link]})
          @meetup.save!
        else
          already_present_meetup.name = group_data[:name]
          already_present_meetup.approved_cities = group_data[:approved_cities]
          already_present_meetup.group_link = group_data[:group_link]
          already_present_meetup.save!
        end
      end
    end
    # TODO(Schau): Check if this works as intended! flash[:error].blank? instead?
    flash[:success] = "Created or Updated new Meetup Subscription(s)." if flash[:error].nil?
  end
  redirect_to(action: :index) and return
end

#destroyObject



110
111
112
113
114
# File 'app/controllers/comfy/admin/meetalendar/meetups_controller.rb', line 110

def destroy
  @meetup.destroy
  flash[:success] = 'Meetup deleted'
  redirect_to(action: :index) and return
end

#editObject



93
94
95
# File 'app/controllers/comfy/admin/meetalendar/meetups_controller.rb', line 93

def edit
  render
end

#failureObject



57
58
59
60
61
# File 'app/controllers/comfy/admin/meetalendar/meetups_controller.rb', line 57

def failure
  # TODO(Schau): Possibly there are arguments given to this function/route containing more info on why meetup api authorization failed.
  flash[:error] = "Meetup authorization failed."
  redirect_to(action: :index) and return
end

#indexObject



8
9
10
# File 'app/controllers/comfy/admin/meetalendar/meetups_controller.rb', line 8

def index
  @meetups = Comfy::Admin::Meetalendar::MeetupGroup.page(params[:page])
end

#search_maskObject



12
13
14
# File 'app/controllers/comfy/admin/meetalendar/meetups_controller.rb', line 12

def search_mask
  render
end

#search_resultObject



16
17
18
19
20
21
22
23
24
25
# File 'app/controllers/comfy/admin/meetalendar/meetups_controller.rb', line 16

def search_result
  search_result = Comfy::Admin::Meetalendar::MeetupsControllerLogic.search_result(params_permit_parameters[:parameters], Time.now)
  @groups_id_name = search_result.groups_id_name
  @found_upcoming_grouped_events = search_result.found_upcoming_grouped_events
  @found_last_grouped_events = search_result.found_last_grouped_events
  @meetup_groups = search_result.meetup_groups
  rescue ::ActiveResource::UnauthorizedAccess => exception
    flash[:error] = "Could not load groups and events from meetup. Is the client authorized to the Meetup API?"
    redirect_to(action: :index) and return
end

#updateObject



97
98
99
100
101
102
103
104
105
106
107
108
# File 'app/controllers/comfy/admin/meetalendar/meetups_controller.rb', line 97

def update
  edited_approved_cities = params_permit_edited_approved_cities[:edited_approved_cities]
  if edited_approved_cities.nil?
    flash[:error] = "New approved cities could not be read. Please try again."
    redirect_to(action: :edit) and return
  else
    @meetup.approved_cities = edited_approved_cities
    @meetup.save!
    flash[:success] = "Edited Meetup Subscription."
    redirect_to(action: :index) and return
  end
end