1+ <?php
2+
3+ /**
4+ * Copyright 2017 OpenStack Foundation
5+ * Licensed under the Apache License, Version 2.0 (the "License");
6+ * you may not use this file except in compliance with the License.
7+ * You may obtain a copy of the License at
8+ * http://www.apache.org/licenses/LICENSE-2.0
9+ * Unless required by applicable law or agreed to in writing, software
10+ * distributed under the License is distributed on an "AS IS" BASIS,
11+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+ * See the License for the specific language governing permissions and
13+ * limitations under the License.
14+ **/
15+ final class PresentationSpeakerAdminController extends Controller
16+ {
17+ /**
18+ * @var SummitAppAdminController The parent controller
19+ */
20+ protected $ parent ;
21+
22+ private static $ allowed_actions = array
23+ (
24+ 'speakers ' ,
25+ 'editSpeaker ' ,
26+ 'speakersMerge ' ,
27+ );
28+
29+ private static $ url_handlers = array
30+ (
31+ 'merge ' => 'speakersMerge ' ,
32+ '$SpeakerID! ' => 'editSpeaker ' ,
33+ 'GET ' => 'speakers ' ,
34+ );
35+
36+ /**
37+ * PresentationSpeakerAdminController constructor.
38+ * @param SummitAppAdminController $parent
39+ */
40+ public function __construct (SummitAppAdminController $ parent )
41+ {
42+ parent ::__construct ();
43+ $ this ->parent = $ parent ;
44+ }
45+
46+ public function Link ($ action = null )
47+ {
48+ return $ this ->parent ->Link ($ action );
49+ }
50+
51+ public function speakers (SS_HTTPRequest $ request )
52+ {
53+ $ summit_id = intval ($ request ->param ('SummitID ' ));
54+
55+ $ summit = Summit::get ()->byID ($ summit_id );
56+
57+ Requirements::css ('summit/css/simple-sidebar.css ' );
58+ // tag inputes
59+ Requirements::css ('themes/openstack/bower_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput.css ' );
60+ Requirements::css ('themes/openstack/bower_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput-typeahead.css ' );
61+ Requirements::css ('themes/openstack/bower_assets/sweetalert/dist/sweetalert.css ' );
62+ Requirements::css ('summit/css/summitapp-addspeaker.css ' );
63+
64+ Requirements::javascript ('summit/javascript/simple-sidebar.js ' );
65+ Requirements::javascript ('themes/openstack/javascript/bootstrap-paginator/src/bootstrap-paginator.js ' );
66+ Requirements::javascript ('themes/openstack/javascript/urlfragment.jquery.js ' );
67+ Requirements::javascript ('themes/openstack/javascript/jquery-ajax-loader.js ' );
68+ Requirements::javascript ('themes/openstack/bower_assets/sweetalert/dist/sweetalert.min.js ' );
69+ Requirements::javascript ('themes/openstack/bower_assets/jquery-validate/dist/jquery.validate.min.js ' );
70+ Requirements::javascript ('themes/openstack/bower_assets/jquery-validate/dist/additional-methods.min.js ' );
71+ Requirements::javascript ('themes/openstack/bower_assets/typeahead.js/dist/typeahead.bundle.min.js ' );
72+ Requirements::javascript ('themes/openstack/bower_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput.min.js ' );
73+ Requirements::javascript ('themes/openstack/javascript/jquery.cleanform.js ' );
74+ Requirements::javascript ('summit/javascript/summitapp-addspeaker.js ' );
75+
76+ return $ this ->parent ->getViewer ('speakers ' )->process
77+ (
78+ $ this ->customise
79+ (
80+ array
81+ (
82+ 'Summit ' => $ summit ,
83+ )
84+ )
85+ );
86+ }
87+
88+ public function speakersMerge (SS_HTTPRequest $ request )
89+ {
90+ $ summit_id = intval ($ request ->param ('SummitID ' ));
91+
92+ $ summit = Summit::get ()->byID ($ summit_id );
93+
94+ Requirements::css ('summit/css/simple-sidebar.css ' );
95+ // tag inputes
96+ Requirements::css ('themes/openstack/bower_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput.css ' );
97+ Requirements::css ('themes/openstack/bower_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput-typeahead.css ' );
98+ Requirements::css ('themes/openstack/bower_assets/sweetalert/dist/sweetalert.css ' );
99+ Requirements::css ('summit/css/summit-admin-speaker-merge.css ' );
100+
101+ Requirements::javascript ('summit/javascript/simple-sidebar.js ' );
102+ Requirements::javascript ('themes/openstack/javascript/bootstrap-paginator/src/bootstrap-paginator.js ' );
103+ Requirements::javascript ('themes/openstack/javascript/urlfragment.jquery.js ' );
104+ Requirements::javascript ('themes/openstack/javascript/jquery-ajax-loader.js ' );
105+ Requirements::javascript ('themes/openstack/bower_assets/sweetalert/dist/sweetalert.min.js ' );
106+ Requirements::javascript ('themes/openstack/bower_assets/jquery-validate/dist/jquery.validate.min.js ' );
107+ Requirements::javascript ('themes/openstack/bower_assets/jquery-validate/dist/additional-methods.min.js ' );
108+ Requirements::javascript ('themes/openstack/bower_assets/typeahead.js/dist/typeahead.bundle.min.js ' );
109+ Requirements::javascript ('themes/openstack/bower_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput.min.js ' );
110+ Requirements::javascript ('themes/openstack/javascript/jquery.cleanform.js ' );
111+ Requirements::javascript ('summit/javascript/summit-admin-speaker-merge.js ' );
112+
113+ return $ this ->parent ->getViewer ('speakers_merge ' )->process
114+ (
115+ $ this ->customise
116+ (
117+ array
118+ (
119+ 'Summit ' => $ summit ,
120+ )
121+ )
122+ );
123+ }
124+
125+ public function editSpeaker (SS_HTTPRequest $ request )
126+ {
127+ $ summit_id = intval ($ request ->param ('SummitID ' ));
128+ $ summit = Summit::get ()->byID ($ summit_id );
129+ $ speaker_id = intval ($ request ->param ('SpeakerID ' ));
130+ $ speaker = PresentationSpeaker::get ()->byID ($ speaker_id );
131+
132+ Requirements::css ('summit/css/simple-sidebar.css ' );
133+ Requirements::css ('summit/css/summit-admin-edit-speaker.css ' );
134+ Requirements::css ('themes/openstack/bower_assets/chosen/chosen.min.css ' );
135+ Requirements::css ('themes/openstack/bower_assets/sweetalert/dist/sweetalert.css ' );
136+ // tag input
137+ Requirements::css ('themes/openstack/bower_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput.css ' );
138+ Requirements::css ('themes/openstack/bower_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput-typeahead.css ' );
139+ Requirements::javascript ('themes/openstack/bower_assets/sweetalert/dist/sweetalert.min.js ' );
140+ Requirements::javascript ('themes/openstack/bower_assets/jquery-validate/dist/jquery.validate.min.js ' );
141+ Requirements::javascript ('themes/openstack/bower_assets/jquery-validate/dist/additional-methods.min.js ' );
142+ Requirements::javascript ('themes/openstack/bower_assets/chosen/chosen.jquery.min.js ' );
143+ Requirements::javascript ('summit/javascript/simple-sidebar.js ' );
144+ Requirements::javascript ('//tinymce.cachefly.net/4.3/tinymce.min.js ' );
145+ Requirements::javascript ('themes/openstack/bower_assets/typeahead.js/dist/typeahead.bundle.min.js ' );
146+ Requirements::javascript ('themes/openstack/bower_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput.min.js ' );
147+ Requirements::javascript ('summit/javascript/summitapp-editspeaker.js ' );
148+
149+ return $ this ->parent ->getViewer ('EditSpeaker ' )->process
150+ (
151+ $ this ->customise
152+ (
153+ array
154+ (
155+ 'Summit ' => $ summit ,
156+ 'Speaker ' => $ speaker ,
157+ )
158+ )
159+ );
160+ }
161+
162+ }
0 commit comments