osm 1.2.15.dev.1 → 1.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/CHANGELOG.md +224 -221
- data/lib/osm/badge.rb +204 -102
- data/spec/osm/badge_spec.rb +217 -137
- data/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MjY5Mjk4ZWNkMTdiOTYwNjEyNjMzZDE5ZDJlNDZkMDRlNDhlNjViZA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YzkwMDhiNTljM2M5MTk0M2Y0MTUyN2MyYmVmNThlN2JlN2IwNjcxOQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YWRmZGI4YzdhOWVjNTk5NTYwNmM5OGQxMmJlYzNmYWQ4ZTcyNWE2ZDZlOTRj
|
10
|
+
NTA0MTJmYmQyZDA5MjVhNGJmYmE2YzZhNjZlZDE4MGRjY2U2YjA5ZTEyMGYw
|
11
|
+
OTc5ZDJjYmJhMjQ0NTRjMjNmMDM3Y2E0MWQyZmFjODY1ODUwM2Y=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OGYyMzY1OWU5NDMzNzlmNTk0Mjk2Yzg0YjAwZjIyYjY0MWU1MWFkZGE3ZWE2
|
14
|
+
MjhhNGM1MmZmZGFmZWE4NDU4ZTc0MDk1MTBkYzlmNGIyMGU1MTliZTc1ZTBh
|
15
|
+
NTk4NjE3NmVhY2Y1ZjY5Mzg3MGM2OWNhMDQzYzI4YzE4YjA2OGQ=
|
data/CHANGELOG.md
CHANGED
@@ -6,28 +6,31 @@
|
|
6
6
|
* Retrieving badge stock
|
7
7
|
* Updating badge stock
|
8
8
|
* Fetching badge data
|
9
|
-
* Fetching due badges (added
|
9
|
+
* Fetching due badges (added stock_levels attribute, since OSM now gives it)
|
10
10
|
* Fetching & updating badge links for Events
|
11
11
|
* Fetching & updating badge links for Activities
|
12
12
|
* Fetching & updating badge links for Meetings
|
13
13
|
* Summary now returns all started/completed/awarded badges (it can't filter by type) so can only be called from Osm::Badge
|
14
14
|
* Osm::Badge
|
15
|
-
*
|
16
|
-
* id, version, identifier,
|
15
|
+
* osm_key, osm_long_key and competion criteria attributes are gone
|
16
|
+
* id, version, identifier, group_name, latest, user_id, levels, sharing attributes added
|
17
|
+
* min_modules_required, min_requirements_required, add_columns_to_module, level_requirement, other_requirements_required, badges_required, show_level_letters, requires_modules and modules attributes added
|
17
18
|
* OSM Changed how completion criteria are retrieved (this gem now uses a special peice of OSM's API just for this purpose) so:
|
18
|
-
|
19
|
-
* New methods modules, module_letters and
|
19
|
+
* attributes sections_needed, total_needed and needed_from_section are gone
|
20
|
+
* New methods modules, module_letters, module_ids and add_columns?
|
20
21
|
* Osm::Badge::Data
|
21
|
-
*
|
22
|
-
*
|
23
|
-
*
|
22
|
+
* mark_awarded method now only marks as awarded (the optional mark_as parameter is gone)
|
23
|
+
* mark_not_awarded method added
|
24
|
+
* mark_due and mark_not_due methods added
|
24
25
|
* completed attribute renamed to due
|
25
26
|
* sections_gained method renamed to modules_gained, now returns an array of letters
|
26
27
|
* gained_in_sections renamed to gained_in_modules
|
28
|
+
* Osm::Badge::Requirement gains a mod attribute to hold the Osm::Badge::RequirementModule
|
29
|
+
* Osm::Badge::RequirementModule added
|
27
30
|
* Osm::Event::BadgeLink
|
28
|
-
* Attributes added:
|
29
|
-
* Attributes removed:
|
30
|
-
* Attributes untouched:
|
31
|
+
* Attributes added: badge_name, badge_id, badge_version, requirement_id
|
32
|
+
* Attributes removed: badge_label, badge_key, requirement_key
|
33
|
+
* Attributes untouched: badge_type, badge_section, data, requirement_label
|
31
34
|
* Osm::Activity::Badge attributes now match Osm::Event::BadgeLink
|
32
35
|
* Osm::Meeting::BadgeLink attributes now match Osm::Event::badgeLink
|
33
36
|
* Osm::Badges.get_badge_stock returns a Hash, keys are now "#{badge_id}_#{level}"
|
@@ -39,13 +42,13 @@
|
|
39
42
|
|
40
43
|
## Version 1.2.13
|
41
44
|
|
42
|
-
* Fix event.
|
45
|
+
* Fix event.get_attendance ignoring term in building the cache key
|
43
46
|
|
44
47
|
## Version 1.2.12
|
45
48
|
|
46
49
|
* Add leader? method to member (true if member is in the leaders grouping)
|
47
50
|
* Add youth? method to member (true if member is in a non-leaders grouping)
|
48
|
-
* Adjust Osm::Event::BadgeLink attributes (label becomes
|
51
|
+
* Adjust Osm::Event::BadgeLink attributes (label becomes requirement_label, add badge_label)
|
49
52
|
|
50
53
|
## Version 1.2.11
|
51
54
|
|
@@ -53,7 +56,7 @@
|
|
53
56
|
* Add retrieving of badge links to events
|
54
57
|
* When creating an event in OSM badge links are also added
|
55
58
|
* When updating an event in OSM badge links are also updated
|
56
|
-
* Add
|
59
|
+
* Add get_list method to Event (get basic event details, should cutout the need to get all events all the time)
|
57
60
|
|
58
61
|
## Version 1.2.10
|
59
62
|
|
@@ -62,11 +65,11 @@
|
|
62
65
|
|
63
66
|
## Version 1.2.9
|
64
67
|
|
65
|
-
* Add
|
68
|
+
* Add osm_long_key to badges to make getting badge stock easier
|
66
69
|
|
67
70
|
## Version 1.2.8
|
68
71
|
|
69
|
-
* api.
|
72
|
+
* api.get_user_permissions now includes the quartermaster permission
|
70
73
|
* Fix administer permission level excluded from ApiAccess
|
71
74
|
|
72
75
|
## Version 1.2.7
|
@@ -84,7 +87,7 @@
|
|
84
87
|
## Version 1.2.4
|
85
88
|
|
86
89
|
* Remove support for ruby 1.9.2 (listen gem requires >= 1.9.3)
|
87
|
-
* Activity's
|
90
|
+
* Activity's get_badge_requirements method now will iterate through activities if there's no permission to use the existing one OSM query trick
|
88
91
|
* Fix exception when OSM returns a number (instead of a string) for total/completed columns of a flexi record
|
89
92
|
|
90
93
|
## Version 1.2.3
|
@@ -93,33 +96,33 @@
|
|
93
96
|
|
94
97
|
## Version 1.2.2
|
95
98
|
|
96
|
-
* Add
|
99
|
+
* Add base_url method to Api class and instances
|
97
100
|
* Add get_photo method to member
|
98
101
|
* Add earnt and earnt? methods to Osm::Badge::Data to get the stage which has been earnt (based on the requirements hash)
|
99
102
|
|
100
103
|
## Version 1.2.1
|
101
104
|
|
102
|
-
* Add
|
105
|
+
* Add section_id read-only attribute to Osm::Error::NoCurrentTerm
|
103
106
|
|
104
107
|
## Version 1.2.0
|
105
108
|
|
106
109
|
* Trying to fetch the currrent Term for a Section which doesn;t have one now raises an Osm::Error::NoCurrentTerm instead of an Osm::Error
|
107
110
|
* Add personal details options to Section:
|
108
|
-
*
|
109
|
-
*
|
110
|
-
*
|
111
|
+
* myscout_details attribute [Boolean] for whether personal details are enabled
|
112
|
+
* myscout_details_expires attribute [Date] for expiry date of subscription
|
113
|
+
* myscout_details_email_changes_to attribute [String] where to send update emails to
|
111
114
|
* Osm::Member
|
112
|
-
*
|
113
|
-
*
|
114
|
-
* Addition of
|
115
|
+
* myscout_link method now accepts :details to get a link to the "Perosnal details" page
|
116
|
+
* myscout_link method can now link to a specific event by also passing in the id (optional 3rd parameter)
|
117
|
+
* Addition of myscout_link_key method to get the member's unique key for use in myscout links
|
115
118
|
* Osm::Section
|
116
|
-
*
|
117
|
-
*
|
119
|
+
* subscription_level_name method is marked as depricated, ready for removal in version 2.0 -> replace with Osm::SUBSCRIPTION_LEVEL_NAMES[section.subscription_level]
|
120
|
+
* myscout_programme_show attribute added - how much of the programme do parents see?
|
118
121
|
* Addition of two new constants:
|
119
|
-
* Osm::
|
120
|
-
* Osm::
|
121
|
-
* Register -
|
122
|
-
* Addition of
|
122
|
+
* Osm::SUBSCRIPTION_LEVEL_NAMES - an Array of Strings containing the human name of each subscription level (starts with "Unknown" to make indexing work nicely)
|
123
|
+
* Osm::SUBSCRIPTION_LEVELS - an Array of Symbols for each level (starts with nil to make indexing work nicely)
|
124
|
+
* Register - get_structure now only includes dates
|
125
|
+
* Addition of attendance_reminder attribute to event
|
123
126
|
* Abillity to send Sms messages to multiple numbers
|
124
127
|
* Add Gift Aid:
|
125
128
|
* Get Payments
|
@@ -133,19 +136,19 @@
|
|
133
136
|
|
134
137
|
## Version 1.0.6
|
135
138
|
|
136
|
-
* Add
|
137
|
-
* Event.
|
138
|
-
* Event::Column gains
|
139
|
-
* Event::Attendance gains
|
139
|
+
* Add badge_links to Meeting
|
140
|
+
* Event.add_column method gains a required attirbute (default false) to control whether parents are required to enter something
|
141
|
+
* Event::Column gains parent_required attribute (default false)
|
142
|
+
* Event::Attendance gains get_audit_trail(api) method
|
140
143
|
|
141
144
|
## Version 1.0.5
|
142
145
|
|
143
|
-
* Fix undefined method
|
146
|
+
* Fix undefined method youth_section? within Model.require_ability_to
|
144
147
|
|
145
148
|
## Version 1.0.4
|
146
149
|
|
147
150
|
* Add notice board option to getting My.SCOUT link for a member (pass :notice as the parameter)
|
148
|
-
* Model.
|
151
|
+
* Model.require_ability_to now only checks subscription level for youth sections
|
149
152
|
|
150
153
|
## Version 1.0.3
|
151
154
|
|
@@ -166,11 +169,11 @@
|
|
166
169
|
## Version 1.0.0
|
167
170
|
|
168
171
|
* SMS text messages:
|
169
|
-
* Section gains
|
172
|
+
* Section gains sms_sent_test, sms_messages_sent and sms_messages_remaining attributes
|
170
173
|
* Add Sms class:
|
171
|
-
* With
|
174
|
+
* With send_sms(api, section_id, member_ids, all_or_one, source_address, message) method
|
172
175
|
* With DeliveryReport Model subclass
|
173
|
-
* With
|
176
|
+
* With get_for_section(api, section) class method
|
174
177
|
|
175
178
|
## Version 0.6.3
|
176
179
|
|
@@ -193,37 +196,37 @@
|
|
193
196
|
* Add due? method to tell if the badge is due
|
194
197
|
* Add started? method to tell if the badge has been started
|
195
198
|
* Add started method to tell which stage has been started
|
196
|
-
* Add
|
197
|
-
* Add
|
198
|
-
* Add
|
199
|
+
* Add first_name and last_name attributes
|
200
|
+
* Add mark_awarded method
|
201
|
+
* Add mark_due method
|
199
202
|
* Badge
|
200
|
-
* Make
|
201
|
-
* Add
|
202
|
-
* Add optional
|
203
|
+
* Make get_badge_data_for_section an instance not class method (called get_data_for_section)
|
204
|
+
* Add get_summary_for_section(api, section, term=nil, options={}) method
|
205
|
+
* Add optional section_type parameter to get_badges_for_section method
|
203
206
|
|
204
207
|
## Version 0.5.0
|
205
208
|
|
206
209
|
* Code breaking changes to DueBadges:
|
207
|
-
* The
|
208
|
-
* Addition of
|
209
|
-
* descriptions attribute has been renamed to
|
210
|
+
* The by_member attribute now uses scout_id as the key
|
211
|
+
* Addition of member_names attribute to allow fetching of members names (the old key for the by_member attribute)
|
212
|
+
* descriptions attribute has been renamed to badge_names for consistency
|
210
213
|
* Code breaking changes to Register and subclasses:
|
211
214
|
* Register:
|
212
|
-
*
|
215
|
+
* update_attendance - :attendance option is now a Symbol not String (:yes, :unadvised_absent or :advised_absent)
|
213
216
|
* Register::Attendance:
|
214
217
|
* attendance attribute is now a Hash of Date to Symbol (instead of to String)
|
215
218
|
* Register::Attendance gains two helper methods:
|
216
|
-
*
|
217
|
-
*
|
218
|
-
* Add
|
219
|
-
* Add
|
219
|
+
* present_on?(date)
|
220
|
+
* absent_on?(date)
|
221
|
+
* Add allow_booking attribute to Event
|
222
|
+
* Add myscout_programme_times attribute to Section
|
220
223
|
* Cost attribute of Event is now checked to be either "TBC" or formatted to /\\A\\d+\\.\\d{2}\\Z/
|
221
|
-
* Add
|
222
|
-
* Add
|
224
|
+
* Add cost_tbc? method to Event
|
225
|
+
* Add cost_free? method to Event
|
223
226
|
|
224
227
|
## Version 0.4.2
|
225
228
|
|
226
|
-
* Fix undefined variable "
|
229
|
+
* Fix undefined variable "section_id" when fetching notepad from cache
|
227
230
|
|
228
231
|
## Version 0.4.1
|
229
232
|
|
@@ -233,32 +236,32 @@
|
|
233
236
|
## Version 0.4.0
|
234
237
|
|
235
238
|
* Event::Attendance
|
236
|
-
* Move fields['firstname'] to
|
237
|
-
* Move fields['lastname'] to
|
238
|
-
* Move fields['dob'] to
|
239
|
+
* Move fields['firstname'] to first_name attribute
|
240
|
+
* Move fields['lastname'] to last_name attribute
|
241
|
+
* Move fields['dob'] to date_of_birth attribute
|
239
242
|
* Move fields['attending'] to attending attribute
|
240
243
|
* The keys for fields are now Fixnums not Strings
|
241
|
-
* Addition of
|
242
|
-
* Addition of
|
243
|
-
* Addition of
|
244
|
-
* update(api,
|
244
|
+
* Addition of payment_control and payments attributes
|
245
|
+
* Addition of automatic_payments? and manual_payments? methods
|
246
|
+
* Addition of is_attending?, is_not_attending?, is_invited? and is_shown? methods
|
247
|
+
* update(api, field_id) method now updates only changed fields, becoming update(api)
|
245
248
|
* Add :network Section type
|
246
249
|
* Add custom inspect methods for:
|
247
250
|
* Event::Attendance (replace event with event.id if present)
|
248
251
|
* Event::Column (replace event with event.id if present)
|
249
|
-
* FlexiRecord::Column (replace
|
250
|
-
* FlexiRecord::Data (replace
|
251
|
-
* Badge::Requirement (replace badge with badge.
|
252
|
-
* Badge::Data (replace badge with badge.
|
252
|
+
* FlexiRecord::Column (replace flexi_record with flexi_record.id)
|
253
|
+
* FlexiRecord::Data (replace flexi_record with flexi_record.id)
|
254
|
+
* Badge::Requirement (replace badge with badge.osm_key)
|
255
|
+
* Badge::Data (replace badge with badge.osm_key)
|
253
256
|
|
254
257
|
## Version 0.3.0
|
255
258
|
|
256
259
|
* Removal of DueBadges
|
257
|
-
* Removal of
|
260
|
+
* Removal of get_badge_stock method from sections
|
258
261
|
* Addition of Badges model:
|
259
|
-
* With
|
260
|
-
* With
|
261
|
-
* With
|
262
|
+
* With get_due_badges(api, section, options={}) method
|
263
|
+
* With get_stock(api, section, options={}) method
|
264
|
+
* With update_stock(api, section, badge_key, stock_level) method
|
262
265
|
* Addition of Badge models:
|
263
266
|
* CoreBadge
|
264
267
|
* ChallengeBadge
|
@@ -266,37 +269,37 @@
|
|
266
269
|
* ActivityBadge
|
267
270
|
* All:
|
268
271
|
* Inherit from Badge (do not use this class directly)
|
269
|
-
* With
|
270
|
-
* With
|
272
|
+
* With get_badges_for_section(api, section, options={}) method
|
273
|
+
* With get_badge_data_for_section(api, section, badge, term=nil, options={}) method
|
271
274
|
* Addition of Badge::Requirements class
|
272
275
|
* Addition of Badge::Data class
|
273
276
|
* With update(api) method
|
274
|
-
* With
|
275
|
-
* With
|
276
|
-
* With
|
277
|
+
* With total_gained method
|
278
|
+
* With sections_gained method
|
279
|
+
* With gained_in_sections method
|
277
280
|
* FlexiRecord::Data now updates only changed fields
|
278
281
|
|
279
282
|
## Version 0.2.2
|
280
283
|
|
281
284
|
* Add comparing and sorting (using <=>, <, <=, >, >= and between?) to each model
|
282
285
|
* Activity - id then version
|
283
|
-
* Activity::File -
|
284
|
-
* Activity::Version -
|
286
|
+
* Activity::File - activity_id then name
|
287
|
+
* Activity::Version - activity_id then version
|
285
288
|
* ApiAccess - id
|
286
289
|
* Event - start, name then id (shortcuts, returning 0 if ids are equal)
|
287
290
|
* Event::Column - event then id
|
288
291
|
* Event::Attendance - event then row
|
289
|
-
* FlexiRecord -
|
290
|
-
* FlexiRecord::Column -
|
291
|
-
* FlexiRecord::Data -
|
292
|
-
* Grouping -
|
293
|
-
* Meeting -
|
294
|
-
* Meeting::Activity - title then
|
295
|
-
* Member -
|
292
|
+
* FlexiRecord - section_id then name
|
293
|
+
* FlexiRecord::Column - flexi_record then id (system ones first then user ones)
|
294
|
+
* FlexiRecord::Data - flexi_record, grouping_id then member_id
|
295
|
+
* Grouping - section_id then name
|
296
|
+
* Meeting - section_id, date, start_time then id
|
297
|
+
* Meeting::Activity - title then activity_id
|
298
|
+
* Member - section_id, grouping_id, grouping_leader (descending), last_name then first_name
|
296
299
|
* Register::Field - id
|
297
|
-
* Register::Attendance -
|
298
|
-
* Section -
|
299
|
-
* Term -
|
300
|
+
* Register::Attendance - section_id, grouping_id, last_name then first_name
|
301
|
+
* Section - group_name, type (by age) then name
|
302
|
+
* Term - section_id, start then id
|
300
303
|
|
301
304
|
## Version 0.2.0
|
302
305
|
|
@@ -305,38 +308,38 @@
|
|
305
308
|
* You try to access a feature which you don't have the correct permissions for
|
306
309
|
* You try to access a Section (or it's Grouping) you shouldn't be accessing
|
307
310
|
* All Model classes:
|
308
|
-
* Addition of
|
309
|
-
* Addition of
|
311
|
+
* Addition of changed_attributes method to get a list of attributes which have changed
|
312
|
+
* Addition of reset_changed_attributes method to reset the list of attributes which have changed
|
310
313
|
* Activity
|
311
314
|
* Check user has permission to view before returning from cache
|
312
|
-
* Addition of
|
315
|
+
* Addition of osm_link method to get the URL for viewing in OSM
|
313
316
|
* Add updating of Grouping
|
314
317
|
* Evening:
|
315
318
|
* Rename to Meeting
|
316
|
-
* Rename
|
317
|
-
* Rename
|
319
|
+
* Rename meeting_date attribute to date
|
320
|
+
* Rename get_programme method to get_for_section
|
318
321
|
* Event:
|
319
|
-
* Removal of
|
322
|
+
* Removal of add_field method (use add_column instead)
|
320
323
|
* Removal of fields attribute (use columns instead)
|
321
324
|
* FlexiRecord:
|
322
|
-
* Addition of id,
|
325
|
+
* Addition of id, section_id and name attributes (these no longer need to be passed to methods)
|
323
326
|
* FlexiRecord::Field renamed to FlexiRecord::Column
|
324
327
|
* The following methods are now instance not class methods:
|
325
|
-
*
|
326
|
-
*
|
327
|
-
*
|
328
|
+
* get_fields (also renamed to get_columns)
|
329
|
+
* add_field (also renamed to add_column)
|
330
|
+
* get_data
|
328
331
|
* The following methods have bceome instance methods of a subclasses:
|
329
|
-
*
|
330
|
-
*
|
331
|
-
*
|
332
|
+
* update_field (moved to column.update)
|
333
|
+
* delete_field (moved to column.delete)
|
334
|
+
* update_data (moved to data.update)
|
332
335
|
* Member:
|
333
336
|
* Removal of grouping attribute
|
334
|
-
* Removal of
|
335
|
-
* Addition of
|
337
|
+
* Removal of grouping_label attribute
|
338
|
+
* Addition of myscout_link method (used to get the link to the member's My.SCOUT page)
|
336
339
|
* Section:
|
337
|
-
*
|
338
|
-
* Addition of
|
339
|
-
*
|
340
|
+
* subscription_level attribute is now a Fixnum not Symbol
|
341
|
+
* Addition of subscription_level_name method to get the name of the subscription level for the section
|
342
|
+
* flexi_records attribute now contains an Array of Osm::FlexiRecord
|
340
343
|
* "Under the hood" changes:
|
341
344
|
* Instead of caching individual items and a list of items the gem now caches a list of IDs. This should reduce the cache size.
|
342
345
|
* When updating items requires multiple OSM requests, now only updates what changed
|
@@ -346,44 +349,44 @@
|
|
346
349
|
## Version 0.1.17
|
347
350
|
|
348
351
|
* Add comparison to Evening
|
349
|
-
* Passing a Term to the
|
352
|
+
* Passing a Term to the get_programme method of Evening is now optional
|
350
353
|
|
351
354
|
## Version 0.1.16
|
352
355
|
|
353
356
|
* Member's grouping attribute:
|
354
|
-
* Renamed to
|
355
|
-
* Virtual attribute grouping added (maps to
|
357
|
+
* Renamed to grouping_label
|
358
|
+
* Virtual attribute grouping added (maps to grouping_label currently) marked as depricated as it will use a Grouping object not a String in the future
|
356
359
|
* Fix exception when OSM returns empty string when requesting groupings for a section
|
357
360
|
* Fix exception when OSM returns empty string when requesting register structure for a section
|
358
361
|
* Fix updating of grouping for Member
|
359
|
-
* Fix validation error for Member - a leader's
|
362
|
+
* Fix validation error for Member - a leader's joining_in_years is -1
|
360
363
|
* Add spaces and spaces? methods to Event
|
361
364
|
|
362
365
|
## Version 0.1.15
|
363
366
|
|
364
|
-
* Rename
|
367
|
+
* Rename grouping_name attribute of Member to grouping
|
365
368
|
|
366
369
|
## Version 0.1.14
|
367
370
|
|
368
|
-
* Fix
|
371
|
+
* Fix grouping_name attribute of Member not being set when getting data from OSM
|
369
372
|
|
370
373
|
## Version 0.1.13
|
371
374
|
|
372
375
|
* Add attendance limit attributes to Event:
|
373
|
-
*
|
374
|
-
*
|
375
|
-
* Add
|
376
|
+
* attendance_limit - Fixnum, 0 = no limit
|
377
|
+
* attendance_limit_includes_leaders Boolean
|
378
|
+
* Add limited_attendance? method to Event
|
376
379
|
* Add setting of a section's notepad
|
377
380
|
* Add updating of Activity
|
378
|
-
* Add
|
381
|
+
* Add grouping_name attribute to Member
|
379
382
|
|
380
383
|
## Version 0.1.12
|
381
384
|
|
382
|
-
* Attribute Section.
|
383
|
-
* Attribute Section.
|
384
|
-
* Attribute Section.
|
385
|
+
* Attribute Section.myscout_email_address_send defaults to an empty String
|
386
|
+
* Attribute Section.myscout_email_address_copy defaults to an empty String
|
387
|
+
* Attribute Section.myscout_email_address_send renamed to myscout_email_address_from
|
385
388
|
* Osm::Event::Column
|
386
|
-
* Rename
|
389
|
+
* Rename parent_label attribute to label
|
387
390
|
* Add update method to update OSM
|
388
391
|
* Add delete method to update OSM
|
389
392
|
* Osm::Evening
|
@@ -393,44 +396,44 @@
|
|
393
396
|
* Now returns an Osm::Evening on success, nil on failure
|
394
397
|
* Will now pass start time, finish time and title to OSM
|
395
398
|
* Add activity to programme
|
396
|
-
* Evening.
|
397
|
-
* Activity.
|
399
|
+
* Evening.add_activity(api, activity, notes="")
|
400
|
+
* Activity.add_to_programme(api, section, date, notes="")
|
398
401
|
* Osm::Member
|
399
402
|
* Add create method to update OSM
|
400
403
|
* Add update method to update OSM
|
401
404
|
* Osm::FlexiRecord
|
402
|
-
* Add
|
403
|
-
* Add
|
404
|
-
* Add
|
405
|
-
* Add
|
405
|
+
* Add add_field method to add a field to the record in OSM
|
406
|
+
* Add update_field method to rename a field in OSM
|
407
|
+
* Add delete_field method to delete a field from OSM
|
408
|
+
* Add update_data method to update the data in OSM
|
406
409
|
|
407
410
|
## Version 0.1.11
|
408
411
|
|
409
412
|
* Fix "can't convert Hash into String" occuring when some section's config is a Hash not a JSON encoded Hash
|
410
|
-
* Remove
|
413
|
+
* Remove num_scouts attribute from Section (OSM always sets this to 999)
|
411
414
|
* Add My.SCOUT related attributes to Section:
|
412
415
|
* gocardless (Boolean) - does the section use gocardless
|
413
|
-
*
|
414
|
-
*
|
415
|
-
*
|
416
|
-
*
|
417
|
-
*
|
418
|
-
*
|
419
|
-
*
|
420
|
-
*
|
421
|
-
*
|
422
|
-
*
|
423
|
-
*
|
424
|
-
*
|
425
|
-
*
|
426
|
-
*
|
427
|
-
*
|
428
|
-
*
|
416
|
+
* myscout_events_expires (Date) - when the subscription to Events in My.SCOUT expires
|
417
|
+
* myscout_badges_expires (Date) - when the subscription to Badges in My.SCOUT expires
|
418
|
+
* myscout_programme_expires (Date) - when the subscription to Badges in My.SCOUT expires
|
419
|
+
* myscout_events (Boolean) - whether the section uses the Events part of My.SCOUT
|
420
|
+
* myscout_badges (Boolean) - whether the section uses the Badges part of My.SCOUT
|
421
|
+
* myscout_programme (Boolean) - whether the section uses the Programme part of My.SCOUT
|
422
|
+
* myscout_payments (Boolean) - whether the section uses the Payments part of My.SCOUT
|
423
|
+
* myscout_emails (Hash of Symbol to Boolean) - which email addresses are linked to MyScout for each Member
|
424
|
+
* myscout_email_address_send (String, blank OK) - which email address to send My.SCOUT emails as
|
425
|
+
* myscout_email_address_copy (String, blank OK) - which email address to send copys of My.SCOUT emails to
|
426
|
+
* myscout_badges_partial (Boolean) - Whether parents can see partially completed badges
|
427
|
+
* myscout_programme_summary (Boolean) - Whether parents can see the summary of programme items
|
428
|
+
* myscout_event_reminder_count (Integer) - How many event reminders to send to parents who haven't responded
|
429
|
+
* myscout_event_reminder_frequency (Integer) - How many days to leave between event reminder emails
|
430
|
+
* myscout_payment_reminder_count (Integer) - How many payment reminders to send to parents who haven't paid yet
|
431
|
+
* myscout_payment_reminder_frequency (Integer) - How many days to leave between payment reminder emails
|
429
432
|
* Add new OSM attributes to Event:
|
430
433
|
* notepad - the notepad shown in OSM
|
431
|
-
*
|
432
|
-
*
|
433
|
-
*
|
434
|
+
* public_notepad - the notepad shown on My.SCOUT
|
435
|
+
* confirm_by_date - the last day that parents can change their child's attendance details
|
436
|
+
* allow_changes - whether parents can change their child's attendance details
|
434
437
|
* reminders - whether reminder emails are sent
|
435
438
|
* Osm::Event
|
436
439
|
* Mark fields attribute as depricated
|
@@ -463,12 +466,12 @@
|
|
463
466
|
|
464
467
|
## Version 0.1.4
|
465
468
|
|
466
|
-
* Osm::Model has new class method
|
469
|
+
* Osm::Model has new class method get_user_permission(api, section_id, permission)
|
467
470
|
* API may return permissions value as a string not integer
|
468
471
|
|
469
472
|
## Version 0.1.3
|
470
473
|
|
471
|
-
* Add
|
474
|
+
* Add get_badge_stock(api) to section
|
472
475
|
|
473
476
|
## Version 0.1.2
|
474
477
|
|
@@ -476,7 +479,7 @@
|
|
476
479
|
|
477
480
|
## Version 0.1.1
|
478
481
|
|
479
|
-
* Add
|
482
|
+
* Add get_options Hash to Model.get_user_permissions
|
480
483
|
* Bug fixes
|
481
484
|
|
482
485
|
## Version 0.1.0
|
@@ -484,82 +487,82 @@
|
|
484
487
|
* Configuration is through Osm::configure not Osm::Api.configure and it takes a different Hash
|
485
488
|
* Api.authorize returns a different Hash
|
486
489
|
* Removal of Osm::Api methods:
|
487
|
-
*
|
488
|
-
*
|
489
|
-
*
|
490
|
+
* get_*
|
491
|
+
* update_*
|
492
|
+
* create_*
|
490
493
|
* EventAttendance is now Event::Attendance
|
491
494
|
* Removal of Osm::Role
|
492
|
-
* Osm::Section now has two new required attributes
|
493
|
-
*
|
494
|
-
* Section has a class method
|
495
|
-
* Activity now has class method get(api,
|
495
|
+
* Osm::Section now has two new required attributes group_id and group_name
|
496
|
+
* long_name and full_name methods should be replaced with something similar to "#{section.name} (#{section.group_name})" in your own code
|
497
|
+
* Section has a class method fetch_user_permissions(api) which returns a Hash (section_id to permissions Hash)
|
498
|
+
* Activity now has class method get(api, activity_id)
|
496
499
|
* ApiAccess: now has class methods
|
497
|
-
*
|
498
|
-
* get(api, section,
|
499
|
-
*
|
500
|
+
* get_all(api, section)
|
501
|
+
* get(api, section, for_api)
|
502
|
+
* get_ours(api, section) -> actually just calls get(api, section, api)
|
500
503
|
* DueBadges now has a class method get(api, section)
|
501
504
|
* Evening now has class methods:
|
502
|
-
*
|
505
|
+
* get_programme(api, section_id, term_id)
|
503
506
|
* create(api, parameters)
|
504
507
|
* Evening now has instance methods:
|
505
508
|
* update(api)
|
506
|
-
*
|
509
|
+
* get_badge_requirements(api, evening)
|
507
510
|
* Event now has class methods:
|
508
|
-
*
|
509
|
-
* get(api, section,
|
511
|
+
* get_for_section(api, section)
|
512
|
+
* get(api, section, event_id)
|
510
513
|
* create(api)
|
511
514
|
* Event now has instance methods:
|
512
515
|
* update(api)
|
513
516
|
* delete(api)
|
514
|
-
*
|
515
|
-
*
|
517
|
+
* get_attendance(api)
|
518
|
+
* add_field(api, label)
|
516
519
|
* Event now has a fields attribute
|
517
|
-
* Event::Attendance has instance method update(api,
|
520
|
+
* Event::Attendance has instance method update(api, field_id)
|
518
521
|
* FlexiRecord has class methods:
|
519
|
-
*
|
520
|
-
*
|
521
|
-
* Grouping now has a class method
|
522
|
-
* Member now has a class method to
|
522
|
+
* get_fields(api, section, flexi_record_id)
|
523
|
+
* get_data(api, section, flexi_record_id, term)
|
524
|
+
* Grouping now has a class method get_for_section(api, section)
|
525
|
+
* Member now has a class method to get_for_section(api, section_id, term_id)
|
523
526
|
* Register now has class methods:
|
524
|
-
*
|
525
|
-
*
|
526
|
-
*
|
527
|
+
* get_structure(api, section)
|
528
|
+
* get_attendance(api, section)
|
529
|
+
* update_attendance(data)
|
527
530
|
* Section now has class methods:
|
528
|
-
*
|
529
|
-
* get(api,
|
530
|
-
* Section now has instance method
|
531
|
+
* get_all(api)
|
532
|
+
* get(api, section_id)
|
533
|
+
* Section now has instance method get_notepad(api)
|
531
534
|
* Term now has class methods:
|
532
|
-
*
|
533
|
-
* get(api,
|
534
|
-
*
|
535
|
-
*
|
535
|
+
* get_all(api)
|
536
|
+
* get(api, term_id)
|
537
|
+
* get_for_section(api, section_id)
|
538
|
+
* get_current_term_for_section(api, section_id)
|
536
539
|
* create(api, parameters)
|
537
540
|
* Term now has instance method update(api)
|
538
541
|
|
539
542
|
## Version 0.0.26
|
540
543
|
|
541
544
|
* Register - Update attendance
|
542
|
-
* Add api.
|
543
|
-
* Add api.
|
545
|
+
* Add api.get_badge_requirements_for_evening
|
546
|
+
* Add api.update_register
|
544
547
|
* Event:
|
545
|
-
* Add api.
|
546
|
-
* Add api.
|
547
|
-
* Add api.
|
548
|
-
* Add api.
|
548
|
+
* Add api.ceate_event
|
549
|
+
* Add api.update_event
|
550
|
+
* Add api.delete_event
|
551
|
+
* Add api.add_event_field
|
549
552
|
* Event attendance:
|
550
|
-
* Add api.
|
551
|
-
* Add api.
|
552
|
-
* Add api.
|
553
|
-
* Add api.
|
553
|
+
* Add api.get_event
|
554
|
+
* Add api.get_event_fields
|
555
|
+
* Add api.get_event_attendance
|
556
|
+
* Add api.update_event_attendance
|
554
557
|
* Fix "uninitialized constant Osm::Api::HTTParty"
|
555
558
|
|
556
559
|
## Version 0.0.25
|
557
560
|
|
558
561
|
* FlexiRecordData, move these attributes to the fields hash:
|
559
|
-
*
|
560
|
-
*
|
562
|
+
* first_name => 'firstname'
|
563
|
+
* last_name => 'lastname'
|
561
564
|
* age => 'age'
|
562
|
-
*
|
565
|
+
* date_of_birth => 'dob'
|
563
566
|
* completed => 'completed'
|
564
567
|
* total => 'total'
|
565
568
|
|
@@ -569,12 +572,12 @@
|
|
569
572
|
|
570
573
|
## Version 0.0.23
|
571
574
|
|
572
|
-
*
|
575
|
+
* get_badge_stock_levels now returns a hash whoose values are Fixnum not String
|
573
576
|
|
574
577
|
## Version 0.0.22
|
575
578
|
|
576
|
-
* Adjustments so DueBadge is similar enough to
|
577
|
-
*
|
579
|
+
* Adjustments so DueBadge is similar enough to badge_stock data to be useful:
|
580
|
+
* by_member Hash -> Keys are member's name (String), values are the badge key (String)
|
578
581
|
* descriptions Hash -> keys are the badge key (String), values are the badge name (String)
|
579
582
|
* totals Hash -> keys are the badge key (String), values are the number required (Fixnum)
|
580
583
|
* Badge keys are the same as are used in getting badge stock levels
|
@@ -584,29 +587,29 @@
|
|
584
587
|
|
585
588
|
## Version 0.0.21
|
586
589
|
|
587
|
-
* Fix getting
|
590
|
+
* Fix getting section_id and grouping_id for api.get_members
|
588
591
|
|
589
592
|
## Version 0.0.20
|
590
593
|
|
591
|
-
* Deprecation of
|
594
|
+
* Deprecation of api_data option in api methods (raise a warning if used and adjust documentation)
|
592
595
|
* Hide sesitive information when printing data sent to OSM in debug mode
|
593
596
|
* Add archived attribute to Event
|
594
|
-
* Add :
|
597
|
+
* Add :include_archived option to api.get_events method
|
595
598
|
* Add retreival of Flexi Records
|
596
|
-
* Make
|
599
|
+
* Make set_user method of Api public
|
597
600
|
|
598
601
|
## Version 0.0.19
|
599
602
|
|
600
|
-
* Fix caching error in api.
|
603
|
+
* Fix caching error in api.get_register_data
|
601
604
|
|
602
605
|
## Version 0.0.18
|
603
606
|
|
604
607
|
* Term's end attribute is now finish
|
605
608
|
* Event's end attribute is now finish
|
606
|
-
* Evening's
|
609
|
+
* Evening's evening_id attribute is now id
|
607
610
|
* DueBadge's totals attribute is now a method (totals are calculated each time rather than during initialization)
|
608
611
|
* Added exception ArgumentIsInvalid (raised when argument.valid? is false when updating through the API)
|
609
|
-
* The following models now use
|
612
|
+
* The following models now use active_attr:
|
610
613
|
* Activity, Activity::File, Activity::Badge and Activity::Version
|
611
614
|
* ApiAccess
|
612
615
|
* DueBadges
|
@@ -628,23 +631,23 @@
|
|
628
631
|
|
629
632
|
## Version 0.0.16
|
630
633
|
|
631
|
-
* -2 is a valid
|
634
|
+
* -2 is a valid grouping_id value (corrected in Grouping)
|
632
635
|
|
633
636
|
## Version 0.0.15
|
634
637
|
|
635
638
|
* Add :debug option to Api.configure
|
636
|
-
* -2 is a valid
|
637
|
-
* Fix check of :
|
639
|
+
* -2 is a valid grouping_id value
|
640
|
+
* Fix check of :section_id in Member.initalize (apparently 0 is allowd in the API return data)
|
638
641
|
* Fix role's section not being set from API data
|
639
642
|
|
640
643
|
## Version 0.0.14
|
641
644
|
|
642
|
-
* Fix api.
|
643
|
-
* Fix check of :
|
645
|
+
* Fix api.get_register_data\ returning wrong object
|
646
|
+
* Fix check of :num_scouts in Section.initalize
|
644
647
|
|
645
648
|
## Version 0.0.13
|
646
649
|
|
647
|
-
* Fix bug - invalid
|
650
|
+
* Fix bug - invalid grouping_leader in member incorrectly risen for -1
|
648
651
|
|
649
652
|
## Version 0.0.12
|
650
653
|
|
@@ -654,14 +657,14 @@
|
|
654
657
|
* Activity.files now returns an array of Osm::Activity::File objects
|
655
658
|
* Activity.versions now returns an array of Osm::Activity::Version objects
|
656
659
|
* Section.flexi_records now returns an array of Osm::Section::FlexiRecord objects
|
657
|
-
* api.
|
658
|
-
* api.
|
660
|
+
* api.get_register_structure now returns an array of RegisterField objects
|
661
|
+
* api.get_register becomes api.get_register_data and now returns an array of RegisterData objects
|
659
662
|
* Attribute name changes:
|
660
|
-
* Activity::Badge.section becomes
|
661
|
-
* Activity::File.
|
662
|
-
* Section.
|
663
|
-
* Member.
|
664
|
-
*
|
663
|
+
* Activity::Badge.section becomes section_type
|
664
|
+
* Activity::File.file_id becomes id
|
665
|
+
* Section.extra_records becomes flexi_records
|
666
|
+
* Member.joined_in_years attribute becomes joining_in_years
|
667
|
+
* from_api method added to:
|
665
668
|
* Activity and sub classes
|
666
669
|
* ApiAccess
|
667
670
|
* DueBadges
|
@@ -677,18 +680,18 @@
|
|
677
680
|
|
678
681
|
## Version 0.0.11
|
679
682
|
|
680
|
-
* Fix undefined variable in
|
683
|
+
* Fix undefined variable in id_for_term
|
681
684
|
|
682
685
|
## Version 0.0.10
|
683
686
|
|
684
687
|
* Fix handling an empty array being returned from OSM for fields (presumably if not allowed to view)
|
685
|
-
* Fix undefined variable in
|
688
|
+
* Fix undefined variable in id_for_term
|
686
689
|
|
687
690
|
## Version 0.0.9
|
688
691
|
|
689
692
|
* Allow passing of Osm::Term objects as well as term IDs
|
690
693
|
* Allow passing of Osm::Section objects as well as section IDs
|
691
|
-
* Allow configuration of text prepended to keys used in the cache (:
|
694
|
+
* Allow configuration of text prepended to keys used in the cache (:cache_prepend_to_key option to configure method)
|
692
695
|
* Require setting of cache class to use caching (:cache option to configure method)
|
693
696
|
|
694
697
|
## version 0.0.8
|
@@ -704,7 +707,7 @@
|
|
704
707
|
## Version 0.0.6
|
705
708
|
|
706
709
|
* Usage changes:
|
707
|
-
* When calling an api.
|
710
|
+
* When calling an api.get_\* method api_data is now passed as an additional paramter not as part of the options
|
708
711
|
* Work on documentation:
|
709
712
|
* Tidy up params
|
710
713
|
* Tidy up returns
|