sambal-cle 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. data/README.md +4 -0
  2. data/lib/sambal-cle/base_page.rb +20 -0
  3. data/lib/sambal-cle/core-ext.rb +90 -0
  4. data/lib/sambal-cle/data_objects/announcement.rb +82 -0
  5. data/lib/sambal-cle/data_objects/assessment.rb +32 -0
  6. data/lib/sambal-cle/data_objects/assignment.rb +205 -0
  7. data/lib/sambal-cle/data_objects/blog.rb +46 -0
  8. data/lib/sambal-cle/data_objects/blogger.rb +49 -0
  9. data/lib/sambal-cle/data_objects/chat_room.rb +54 -0
  10. data/lib/sambal-cle/data_objects/event.rb +89 -0
  11. data/lib/sambal-cle/data_objects/forum.rb +212 -0
  12. data/lib/sambal-cle/data_objects/lesson.rb +185 -0
  13. data/lib/sambal-cle/data_objects/message.rb +57 -0
  14. data/lib/sambal-cle/data_objects/poll.rb +74 -0
  15. data/lib/sambal-cle/data_objects/resource.rb +209 -0
  16. data/lib/sambal-cle/data_objects/site.rb +295 -0
  17. data/lib/sambal-cle/data_objects/syllabus.rb +73 -0
  18. data/lib/sambal-cle/data_objects/web_content_tool.rb +51 -0
  19. data/lib/sambal-cle/data_objects/wiki.rb +63 -0
  20. data/lib/sambal-cle/date_makers.rb +118 -0
  21. data/lib/sambal-cle/gem_ext.rb +23 -0
  22. data/lib/sambal-cle/page_helper.rb +22 -0
  23. data/lib/sambal-cle/page_maker.rb +48 -0
  24. data/lib/sambal-cle/page_objects/account.rb +111 -0
  25. data/lib/sambal-cle/page_objects/aliases.rb +43 -0
  26. data/lib/sambal-cle/page_objects/announcements.rb +190 -0
  27. data/lib/sambal-cle/page_objects/assessments.rb +874 -0
  28. data/lib/sambal-cle/page_objects/assignments.rb +770 -0
  29. data/lib/sambal-cle/page_objects/basic_lti.rb +6 -0
  30. data/lib/sambal-cle/page_objects/blogger.rb +205 -0
  31. data/lib/sambal-cle/page_objects/blogs.rb +60 -0
  32. data/lib/sambal-cle/page_objects/calendar.rb +330 -0
  33. data/lib/sambal-cle/page_objects/calendar_summary.rb +1 -0
  34. data/lib/sambal-cle/page_objects/chat_room.rb +22 -0
  35. data/lib/sambal-cle/page_objects/drop_box.rb +9 -0
  36. data/lib/sambal-cle/page_objects/email_archive.rb +22 -0
  37. data/lib/sambal-cle/page_objects/entity_picker.rb +62 -0
  38. data/lib/sambal-cle/page_objects/evaluations.rb +158 -0
  39. data/lib/sambal-cle/page_objects/feedback.rb +36 -0
  40. data/lib/sambal-cle/page_objects/forms.rb +120 -0
  41. data/lib/sambal-cle/page_objects/forums.rb +254 -0
  42. data/lib/sambal-cle/page_objects/glossary.rb +117 -0
  43. data/lib/sambal-cle/page_objects/gradebook.rb +29 -0
  44. data/lib/sambal-cle/page_objects/gradebook2.rb +17 -0
  45. data/lib/sambal-cle/page_objects/home.rb +36 -0
  46. data/lib/sambal-cle/page_objects/jforums.rb +444 -0
  47. data/lib/sambal-cle/page_objects/job_scheduler.rb +121 -0
  48. data/lib/sambal-cle/page_objects/lessons.rb +361 -0
  49. data/lib/sambal-cle/page_objects/login.rb +28 -0
  50. data/lib/sambal-cle/page_objects/matrix.rb +241 -0
  51. data/lib/sambal-cle/page_objects/media_gallery.rb +13 -0
  52. data/lib/sambal-cle/page_objects/messages.rb +622 -0
  53. data/lib/sambal-cle/page_objects/my_workspace.rb +44 -0
  54. data/lib/sambal-cle/page_objects/news.rb +8 -0
  55. data/lib/sambal-cle/page_objects/podcasts.rb +27 -0
  56. data/lib/sambal-cle/page_objects/polls.rb +69 -0
  57. data/lib/sambal-cle/page_objects/portfolio_templates.rb +161 -0
  58. data/lib/sambal-cle/page_objects/portfolios.rb +162 -0
  59. data/lib/sambal-cle/page_objects/post_em.rb +1 -0
  60. data/lib/sambal-cle/page_objects/profile.rb +51 -0
  61. data/lib/sambal-cle/page_objects/profile2.rb +344 -0
  62. data/lib/sambal-cle/page_objects/public_search.rb +61 -0
  63. data/lib/sambal-cle/page_objects/realms.rb +19 -0
  64. data/lib/sambal-cle/page_objects/resources.rb +326 -0
  65. data/lib/sambal-cle/page_objects/resources_roster.rb +0 -0
  66. data/lib/sambal-cle/page_objects/rosters.rb +70 -0
  67. data/lib/sambal-cle/page_objects/rwiki.rb +34 -0
  68. data/lib/sambal-cle/page_objects/search.rb +34 -0
  69. data/lib/sambal-cle/page_objects/sections.rb +295 -0
  70. data/lib/sambal-cle/page_objects/single_user.rb +1 -0
  71. data/lib/sambal-cle/page_objects/site_setup.rb +621 -0
  72. data/lib/sambal-cle/page_objects/site_statistics.rb +1 -0
  73. data/lib/sambal-cle/page_objects/sites.rb +255 -0
  74. data/lib/sambal-cle/page_objects/styles.rb +74 -0
  75. data/lib/sambal-cle/page_objects/syllabus.rb +166 -0
  76. data/lib/sambal-cle/page_objects/user_membership.rb +57 -0
  77. data/lib/sambal-cle/page_objects/users.rb +88 -0
  78. data/lib/sambal-cle/randomizers.rb +117 -0
  79. data/lib/sambal-cle/rich_text.rb +38 -0
  80. data/lib/sambal-cle/utilities.rb +31 -0
  81. data/lib/sambal-cle/workflows.rb +223 -0
  82. data/lib/sambal-cle.rb +31 -0
  83. data/sambal-cle.gemspec +14 -0
  84. data/test/add_assignment_to_calendar_spec.rb +86 -0
  85. data/test/assignment_announcements_spec.rb +71 -0
  86. data/test/assignment_gradebook_spec.rb +98 -0
  87. data/test/config.yml.template +4 -0
  88. data/test/directory.yml.template +123 -0
  89. data/test/duplicate_site_spec.rb +244 -0
  90. metadata +167 -0
@@ -0,0 +1,295 @@
1
+ #================
2
+ # Sections - Site Management
3
+ #================
4
+
5
+ class SectionsBase < BasePage
6
+
7
+ frame_element
8
+ basic_page_elements
9
+
10
+ class << self
11
+ def menu_elements
12
+ # Clicks the Add Sections button/link and instantiates
13
+ # the AddEditSections Class.
14
+ action(:add_sections) { |b| b.frm.link(:text=>"Add Sections").click }
15
+ action(:overview) { |b| b.frm.link(:text=>"Overview").click }
16
+ action(:student_memberships) { |b| b.frm.link(:text=>"Student Memberships").click }
17
+ action(:options) { |b| b.frm.link(:text=>"Options").click }
18
+ end
19
+ end
20
+ end
21
+
22
+ # Topmost page for Sections in Site Management
23
+ class Sections < SectionsBase
24
+
25
+ menu_elements
26
+
27
+ # Clicks the Edit link for the specified section.
28
+ # Then instantiates the AddEditSections class.
29
+ def edit(title)
30
+ frm.table(:class=>/listHier/).row(:text=>/#{Regexp.escape(title)}/).link(:text=>/Edit/).click
31
+ AddEditSections.new(@browser)
32
+ end
33
+
34
+ def assign_tas(title)
35
+ frm.table(:class=>/listHier/).row(:text=>/#{Regexp.escape(title)}/).link(:text=>/Assign TAs/).click
36
+ AssignTeachingAssistants.new(@browser)
37
+ end
38
+
39
+ def assign_students(title)
40
+ frm.table(:class=>/listHier/).row(:text=>/#{Regexp.escape(title)}/).link(:text=>/Assign Students/).click
41
+ AssignStudents.new(@browser)
42
+ end
43
+
44
+ def check(title)
45
+ frm.table(:class=>/listHier/).row(:text=>/#{Regexp.escape(title)}/).checkbox(:name=>/remove/).set
46
+ end
47
+
48
+ def section_names
49
+ names = []
50
+ frm.table(:class=>/listHier/).rows.each do |row|
51
+ if row.td(:class=>"leftIndent").exist?
52
+ names << row.td(:class=>"leftIndent").div(:index=>0).text
53
+ end
54
+ end
55
+ return names
56
+ end
57
+
58
+ def remove_sections
59
+ frm.button(:value=>"Remove Sections").click
60
+ Sections.new(@browser)
61
+ end
62
+
63
+ # Returns the text of the Teach Assistant cell for the specified
64
+ # Section.
65
+ def tas_for(title)
66
+ frm.table(:class=>/listHier/).row(:text=>/#{Regexp.escape(title)}/)[1].text
67
+ end
68
+
69
+ #
70
+ def days_for(title)
71
+ frm.table(:class=>/listHier/).row(:text=>/#{Regexp.escape(title)}/)[2].text
72
+ end
73
+
74
+ #
75
+ def time_for(title)
76
+ frm.table(:class=>/listHier/).row(:text=>/#{Regexp.escape(title)}/)[3].text
77
+ end
78
+
79
+ #
80
+ def location_for(title)
81
+ frm.table(:class=>/listHier/).row(:text=>/#{Regexp.escape(title)}/)[4].text
82
+ end
83
+
84
+ #
85
+ def current_size_for(title)
86
+ frm.table(:class=>/listHier/).row(:text=>/#{Regexp.escape(title)}/)[5].text
87
+ end
88
+
89
+ #
90
+ def availability_for(title)
91
+ frm.table(:class=>/listHier/).row(:text=>/#{Regexp.escape(title)}/)[6].text
92
+ end
93
+
94
+ def alert_text
95
+ frm.div(:class=>"validation").text
96
+ end
97
+
98
+ def success_text
99
+ frm.div(:class=>"success").text
100
+ end
101
+
102
+ end
103
+
104
+ # Methods in this class currently do not support
105
+ # adding multiple instances of sections simultaneously.
106
+ # That will be added at some future time.
107
+ # The same goes for adding days with different meeting times. This will hopefully
108
+ # be supported in the future.
109
+ class AddEditSections < SectionsBase
110
+
111
+ menu_elements
112
+
113
+ # The Update button is only available when editing an existing Sections record.
114
+ def update
115
+ frm.button(:value=>"Update").click
116
+ if frm.div(:class=>"validation").exist?
117
+ AddEditSections.new(@browser)
118
+ else
119
+ Sections.new(@browser)
120
+ end
121
+ end
122
+
123
+ # This method takes an array object containing strings of the
124
+ # days of the week and then clicks the appropriate checkboxes, based
125
+ # on those strings.
126
+ def check_days(array)
127
+ frm.checkbox(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:monday/).set if array.include?(/mon/i)
128
+ frm.checkbox(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:tuesday/).set if array.include?(/tue/i)
129
+ frm.checkbox(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:wednesday/).set if array.include?(/wed/i)
130
+ frm.checkbox(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:thursday/).set if array.include?(/thu/i)
131
+ frm.checkbox(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:friday/).set if array.include?(/fri/i)
132
+ frm.checkbox(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:saturday/).set if array.include?(/sat/i)
133
+ frm.checkbox(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:sunday/).set if array.include?(/sun/i)
134
+ end
135
+
136
+ element(:category) { |b| b.frm.select(:id=>/SectionsForm:category/) }
137
+ element(:name) { |b| b.frm.text_field(:id=>/SectionsForm:sectionTable:0:titleInput/) }
138
+ element(:monday) { |b| b.frm.checkbox(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:monday/) }
139
+ element(:tuesday) { |b| b.frm.checkbox(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:tuesday/) }
140
+ element(:wednesday) { |b| b.frm.checkbox(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:wednesday/) }
141
+ element(:thursday) { |b| b.frm.checkbox(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:thursday/) }
142
+ element(:friday) { |b| b.frm.checkbox(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:friday/) }
143
+ element(:saturday) { |b| b.frm.checkbox(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:saturday/) }
144
+ element(:sunday) { |b| b.frm.checkbox(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:sunday/) }
145
+ element(:start_time) { |b| b.frm.text_field(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:startTime/) }
146
+ element(:end_time) { |b| b.frm.text_field(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:endTime/) }
147
+ element(:location) { |b| b.frm.text_field(:id=>/SectionsForm:sectionTable:0:meetingsTable:0:location/) }
148
+ element(:startAM) { |b| b.frm.radio(:name=>/SectionsForm:sectionTable:0:meetingsTable:0:startTimeAm/, :index=>0) }
149
+ element(:startPM) { |b| b.frm.radio(:name=>/SectionsForm:sectionTable:0:meetingsTable:0:startTimeAm/, :index=>1) }
150
+ element(:endAM) { |b| b.frm.radio(:name=>/SectionsForm:sectionTable:0:meetingsTable:0:endTimeAm/, :index=>0) }
151
+ element(:endPM) { |b| b.frm.radio(:name=>/SectionsForm:sectionTable:0:meetingsTable:0:endTimeAm/, :index=>1) }
152
+ element(:unlimited_students) { |b| b.frm.radio(:name=>/SectionsForm:sectionTable:0:limit/, :index=>0) }
153
+ element(:limited_students) { |b| b.frm.radio(:name=>/SectionsForm:sectionTable:0:limit/, :index=>1) }
154
+ element(:max_students) { |b| b.frm.text_field(:id=>/SectionsForm:sectionTable:0:maxEnrollmentInput/) }
155
+
156
+ end
157
+
158
+ #
159
+ class AssignTeachingAssistants < SectionsBase
160
+
161
+ menu_elements
162
+
163
+ def assign_TAs
164
+ frm.button(:value=>"Assign TAs").click
165
+ Sections.new(@browser)
166
+ end
167
+
168
+ element(:available_tas) { |b| b.frm.select(:id=>"memberForm:availableUsers") }
169
+ element(:assigned_tas) { |b| b.frm.select(:id=>"memberForm:selectedUsers") }
170
+ action(:assign) { |b| b.frm.button(:value=>">").click }
171
+ action(:unassign) { |b| b.frm.button(:value=>"<").click }
172
+ action(:assign_all) { |b| b.frm.button(:value=>">>").click }
173
+ action(:unassign_all) { |b| b.frm.button(:value=>"<<").click }
174
+
175
+ end
176
+
177
+ #
178
+ class AssignStudents < SectionsBase
179
+
180
+ menu_elements
181
+
182
+ def assign_students
183
+ frm.button(:value=>"Assign students").click
184
+ Sections.new(@browser)
185
+ end
186
+
187
+ element(:available_students) { |b| b.frm.select(:id=>"memberForm:availableUsers") }
188
+ element(:assigned_students) { |b| b.frm.select(:id=>"memberForm:selectedUsers") }
189
+ action(:assign) { |b| b.frm.button(:value=>">").click }
190
+ action(:unassign) { |b| b.frm.button(:value=>"<").click }
191
+ action(:assign_all) { |b| b.frm.button(:value=>">>").click }
192
+ action(:unassign_all) { |b| b.frm.button(:value=>"<<").click }
193
+
194
+ end
195
+
196
+ # The Options page for Sections.
197
+ class SectionsOptions < SectionsBase
198
+
199
+ menu_elements
200
+
201
+ element(:students_can_sign_up) { |b| b.frm.checkbox(:id=>"optionsForm:selfRegister") }
202
+ element(:students_can_switch) { |b| b.frm.checkbox(:id=>"optionsForm:selfSwitch") }
203
+
204
+ action(:update) { |b| b.frm.button(:id=>"optionsForm:_idJsp50").click }
205
+ action(:cancel) { |b| b.frm.button(:id=>"optionsForm:_idJsp51").click }
206
+
207
+ end
208
+
209
+ # The Add Sections Page in Site Management
210
+ class AddSections < SectionsBase
211
+
212
+ menu_elements
213
+
214
+ element(:num_to_add) { |b| b.frm.select_list(:id=>"addSectionsForm:numToAdd") }
215
+ element(:category) { |b| b.frm.select_list(:id=>"addSectionsForm:category") }
216
+ action(:cancel) { |b| b.frm.button(:id=>"addSectionsForm:_idJsp90").click }
217
+ # Note that the following field definitions are appropriate for
218
+ # ONLY THE FIRST instance of each of the fields. The Add Sections page
219
+ # allows for an arbitrary number of these fields to exist.
220
+ # If you are going to test the addition of multiple sections
221
+ # and/or meetings, then their elements will have to be
222
+ # explicitly called or defined in the test scripts themselves.
223
+ element(:name) { |b| b.frm.text_field(:id=>"addSectionsForm:sectionTable:0:titleInput") }
224
+ element(:unlimited_size) { |b| b.frm.radio(:name=>"addSectionsForm:sectionTable:0:limit") }
225
+ element(:limited_size) { |b| b.frm.select_list(:name=>"addSectionsForm:sectionTable:0:limit") }
226
+ element(:max_enrollment) { |b| b.frm.text_field(:id=>"addSectionsForm:sectionTable:0:maxEnrollmentInput") }
227
+ element(:monday) { |b| b.frm.text_field(:id=>"addSectionsForm:sectionTable:0:meetingsTable:0:monday") }
228
+ element(:tuesday) { |b| b.frm.checkbox(:id=>"addSectionsForm:sectionTable:0:meetingsTable:0:tuesday") }
229
+ element(:wednesday) { |b| b.frm.text_field(:id=>"addSectionsForm:sectionTable:0:meetingsTable:0:wednesday") }
230
+ element(:thursday) { |b| b.frm.text_field(:id=>"addSectionsForm:sectionTable:0:meetingsTable:0:thursday") }
231
+ element(:friday) { |b| b.frm.text_field(:id=>"addSectionsForm:sectionTable:0:meetingsTable:0:friday") }
232
+ element(:saturday) { |b| b.frm.text_field(:id=>"addSectionsForm:sectionTable:0:meetingsTable:0:saturday") }
233
+ element(:sunday) { |b| b.frm.text_field(:id=>"addSectionsForm:sectionTable:0:meetingsTable:0:sunday") }
234
+ element(:start_time) { |b| b.frm.text_field(:id=>"addSectionsForm:sectionTable:0:meetingsTable:0:startTime") }
235
+ element(:start_am) { |b| b.frm.select_list(:name=>"addSectionsForm:sectionTable:0:meetingsTable:0:startTimeAm") }
236
+ element(:start_pm) { |b| b.frm.select_list(:name=>"addSectionsForm:sectionTable:0:meetingsTable:0:startTimeAm") }
237
+ element(:end_time) { |b| b.frm.text_field(:id=>"addSectionsForm:sectionTable:0:meetingsTable:0:endTime") }
238
+ element(:end_am) { |b| b.frm.select_list(:name=>"addSectionsForm:sectionTable:0:meetingsTable:0:endTimeAm") }
239
+ element(:end_pm) { |b| b.frm.select_list(:name=>"addSectionsForm:sectionTable:0:meetingsTable:0:endTimeAm") }
240
+ element(:location) { |b| b.frm.text_field(:id=>"addSectionsForm:sectionTable:0:meetingsTable:0:location") }
241
+ action(:add_days) { |b| b.frm.link(:id=>"addSectionsForm:sectionTable:0:addMeeting").click }
242
+
243
+ end
244
+
245
+ # Exactly like the Add Sections page, but used when editing an existing section
246
+ class EditSections < SectionsBase
247
+
248
+ menu_elements
249
+
250
+ element(:num_to_add) { |b| b.frm.select_list(:id=>"editSectionsForm:numToAdd") }
251
+ element(:category) { |b| b.frm.select_list(:id=>"editSectionsForm:category") }
252
+ action(:cancel) { |b| b.frm.button(:id=>"editSectionsForm:_idJsp90").click }
253
+ # Note that the following field definitions are appropriate for
254
+ # ONLY THE FIRST instance of each of the fields. The Edit Sections page
255
+ # allows for an arbitrary number of these fields to exist.
256
+ # If you are going to test the editing of multiple sections
257
+ # and/or meetings, then their elements will have to be
258
+ # explicitly called or defined in the test scripts themselves.
259
+ element(:name) { |b| b.frm.text_field(:id=>"editSectionsForm:sectionTable:0:titleInput") }
260
+ element(:unlimited_size) { |b| b.frm.select_list(:name=>"editSectionsForm:sectionTable:0:limit") }
261
+ element(:limited_size) { |b| b.frm.select_list(:name=>"editSectionsForm:sectionTable:0:limit") }
262
+ element(:max_enrollment) { |b| b.frm.text_field(:id=>"editSectionsForm:sectionTable:0:maxEnrollmentInput") }
263
+ element(:monday) { |b| b.checkbox(id=>"editSectionsForm:sectionTable:0:meetingsTable:0:monday") }
264
+ element(:tuesday) { |b| b.checkbox(id=>"editSectionsForm:sectionTable:0:meetingsTable:0:tuesday") }
265
+ element(:wednesday) { |b| b.checkbox(id=>"editSectionsForm:sectionTable:0:meetingsTable:0:wednesday") }
266
+ element(:thursday) { |b| b.checkbox(id=>"editSectionsForm:sectionTable:0:meetingsTable:0:thursday") }
267
+ element(:friday) { |b| b.checkbox(id=>"editSectionsForm:sectionTable:0:meetingsTable:0:friday") }
268
+ element(:saturday) { |b| b.checkbox(id=>"editSectionsForm:sectionTable:0:meetingsTable:0:saturday") }
269
+ element(:sunday) { |b| b.checkbox(id=>"editSectionsForm:sectionTable:0:meetingsTable:0:sunday") }
270
+ element(:start_time) { |b| b.frm.text_field(:id=>"editSectionsForm:sectionTable:0:meetingsTable:0:startTime") }
271
+ element(:start_am) { |b| b.frm.select_list(:name=>"editSectionsForm:sectionTable:0:meetingsTable:0:startTimeAm") }
272
+ element(:start_pm) { |b| b.frm.select_list(:name=>"editSectionsForm:sectionTable:0:meetingsTable:0:startTimeAm") }
273
+ element(:end_time) { |b| b.frm.text_field(:id=>"editSectionsForm:sectionTable:0:meetingsTable:0:endTime") }
274
+ element(:end_am) { |b| b.frm.select_list(:name=>"editSectionsForm:sectionTable:0:meetingsTable:0:endTimeAm") }
275
+ element(:end_pm) { |b| b.frm.select_list(:name=>"editSectionsForm:sectionTable:0:meetingsTable:0:endTimeAm") }
276
+ element(:location) { |b| b.frm.text_field(:id=>"editSectionsForm:sectionTable:0:meetingsTable:0:location") }
277
+ action(:add_days) { |b| b.frm.link(:id=>"editSectionsForm:sectionTable:0:addMeeting").click }
278
+
279
+ end
280
+
281
+ # The Sections page
282
+ # found in the SITE MANAGEMENT menu for a Site
283
+ class SectionsOverview < SectionsBase
284
+
285
+ menu_elements
286
+
287
+ action(:sort_name) { |b| b.frm.link(id=>"overviewForm:sectionsTable:_idJsp54").click }
288
+ action(:sort_ta) { |b| b.frm.link(id=>"overviewForm:sectionsTable:_idJsp73").click }
289
+ action(:sort_day) { |b| b.frm.link(id=>"overviewForm:sectionsTable:_idJsp78").click }
290
+ action(:sort_time) { |b| b.frm.link(id=>"overviewForm:sectionsTable:_idJsp83").click }
291
+ action(:sort_location) { |b| b.frm.link(id=>"overviewForm:sectionsTable:_idJsp88").click }
292
+ action(:sort_current_size) { |b| b.frm.link(id=>"overviewForm:sectionsTable:_idJsp93").click }
293
+ action(:sort_avail) { |b| b.frm.link(id=>"overviewForm:sectionsTable:_idJsp97").click }
294
+
295
+ end
@@ -0,0 +1 @@
1
+ # This needs some work. :-)