osm 1.2.14 → 1.2.15.dev

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.
@@ -8,59 +8,98 @@ describe "Badges" do
8
8
 
9
9
  it "Get due badges" do
10
10
  data = {
11
+ 'includeStock' => true,
12
+ 'count' => 2,
13
+ 'badgesToBuy' => 0,
14
+ 'description' => {
15
+ '93_0' => {
16
+ 'badge_identifier' => '93_0',
17
+ 'msg' => 'You do not have enough badges!',
18
+ 'name' => 'Participation',
19
+ 'picture' => '',
20
+ 'typeLabel' => 'Staged',
21
+ 'type_id' => 3
22
+ },
23
+ '145_0' => {
24
+ 'badge_identifier' => '145_0',
25
+ 'name' => 'Badge Name',
26
+ 'picture' => '',
27
+ 'typeLabel' => 'Activity',
28
+ 'type_id' => 2
29
+ },
30
+ },
11
31
  'pending' => {
12
- 'badge_name' => [
32
+ '93_0' => [
13
33
  {
14
- 'scoutid' => '1',
34
+ 'badge_id' => '93',
35
+ 'badge_identifier' => '93_0',
36
+ 'badge_version' => '0',
37
+ 'completed' => '2',
38
+ 'current_stock' => '20',
39
+ 'extra' => 'Lvl 2',
15
40
  'firstname' => 'John',
41
+ 'label' => 'Staged',
16
42
  'lastname' => 'Doe',
17
- 'level' => '',
18
- 'extra' => '',
19
- }
20
- ],
21
- 'staged_staged_participation' => [{
22
- 'scoutid' => '2',
43
+ 'name' => 'Participation',
44
+ 'patrolid' => '1502',
45
+ 'pic' => true,
46
+ 'picture' => '',
47
+ 'scout_id' => '1',
48
+ 'sid' => '1',
49
+ 'type_id' => '3',
50
+ },
51
+ {
52
+ 'badge_id' => '93',
53
+ 'badge_identifier' => '93_0',
54
+ 'badge_version' => '0',
55
+ 'completed' => '2',
56
+ 'current_stock' => '20',
57
+ 'extra' => 'Lvl 2',
23
58
  'firstname' => 'Jane',
59
+ 'label' => 'Staged',
24
60
  'lastname' => 'Doe',
25
- 'level' => '2',
26
- 'extra' => 'Lvl 2'
27
- }, {
28
- 'scoutid' => '1',
29
- 'firstname' => 'John',
30
- 'lastname' => 'Doe',
31
- 'level' => '2',
32
- 'extra' => 'Lvl 2'
33
- }
34
- ]
35
- },
36
- 'description' => {
37
- 'badge_name' => {
61
+ 'name' => 'Participation',
62
+ 'patrolid' => '1502',
63
+ 'pic' => true,
64
+ 'picture' => '',
65
+ 'scout_id' => '2',
66
+ 'sid' => '2',
67
+ 'type_id' => '3',
68
+ },
69
+ ],
70
+ '145_0' => [{
71
+ 'badge_id' => '145',
72
+ 'badge_identifier' => '145_0',
73
+ 'badge_version' => '0',
74
+ 'completed' => '1',
75
+ 'current_stock' => '10',
76
+ 'firstname' => 'John',
77
+ 'label' => 'Activity',
78
+ 'lastname' => 'Doe',
38
79
  'name' => 'Badge Name',
39
- 'section' => 'cubs',
40
- 'type' => 'activity',
41
- 'badge' => 'badge_name'
42
- },
43
- 'staged_staged_participation' => {
44
- 'name' => 'Participation',
45
- 'section' => 'staged',
46
- 'type' => 'staged',
47
- 'badge' => 'participation'
48
- }
49
- }
80
+ 'patrolid' => '1502',
81
+ 'pic' => true,
82
+ 'picture' => '',
83
+ 'scout_id' => '1',
84
+ 'sid' => '1',
85
+ 'type_id' => '2',
86
+ }],
87
+ },
50
88
  }
51
- FakeWeb.register_uri(:post, "https://www.onlinescoutmanager.co.uk/challenges.php?action=outstandingBadges&section=cubs&sectionid=1&termid=2", :body => data.to_json, :content_type => 'application/json')
89
+ FakeWeb.register_uri(:post, "https://www.onlinescoutmanager.co.uk/ext/badges/due/?action=get&section=cubs&sectionid=1&termid=2", :body => data.to_json, :content_type => 'application/json')
52
90
 
53
91
  db = Osm::Badges.get_due_badges(@api, Osm::Section.new(:id => 1, :type => :cubs), 2)
54
92
  db.empty?.should be_false
55
- db.badge_names.should == {'badge_name_1'=>'Badge Name', 'staged_staged_participation_2'=>'Participation (Level 2)'}
56
- db.by_member.should == {1=>['badge_name_1', 'staged_staged_participation_2'], 2=>['staged_staged_participation_2']}
93
+ db.badge_names.should == {'145_0_1'=>'Activity - Badge Name', '93_0_2'=>'Staged - Participation (Lvl 2)'}
94
+ db.by_member.should == {1=>['93_0_2', '145_0_1'], 2=>['93_0_2']}
57
95
  db.member_names.should == {1 => 'John Doe', 2 => 'Jane Doe'}
58
- db.totals.should == {'staged_staged_participation_2'=>2, 'badge_name_1'=>1}
96
+ db.badge_stock.should == {'93_0_2'=>20, '145_0_1'=>10}
97
+ db.totals.should == {'93_0_2'=>2, '145_0_1'=>1}
59
98
  db.valid?.should be_true
60
99
  end
61
100
 
62
101
  it "handles an empty array representing no due badges" do
63
- FakeWeb.register_uri(:post, "https://www.onlinescoutmanager.co.uk/challenges.php?action=outstandingBadges&section=cubs&sectionid=1&termid=2", :body => '[]', :content_type => 'application/json')
102
+ FakeWeb.register_uri(:post, "https://www.onlinescoutmanager.co.uk/ext/badges/due/?action=get&section=cubs&sectionid=1&termid=2", :body => '[]', :content_type => 'application/json')
64
103
  db = Osm::Badges.get_due_badges(@api, Osm::Section.new(:id => 1, :type => :cubs), 2)
65
104
  db.should_not be_nil
66
105
  end
@@ -68,13 +107,13 @@ describe "Badges" do
68
107
 
69
108
  it "Fetch badge stock levels" do
70
109
  badges_body = {
71
- 'stock' => {
72
- 'sectionid' => '1',
73
- 'badge_1' => '1',
74
- 'badge_2' => '2'
75
- }
110
+ 'identifier' => 'badge_id_level',
111
+ 'items' => [
112
+ { 'shortname' => 'badge_1', 'stock' => 1, 'desired' => 0, 'due' => 0 },
113
+ { 'shortname' => 'badge_2', 'stock' => 2, 'desired' => 0, 'due' => 0 },
114
+ ]
76
115
  }
77
- FakeWeb.register_uri(:post, "https://www.onlinescoutmanager.co.uk/challenges.php?action=getInitialBadges&type=core&sectionid=1&section=beavers&termid=2", :body => badges_body.to_json, :content_type => 'application/json')
116
+ FakeWeb.register_uri(:post, "https://www.onlinescoutmanager.co.uk/ext/badges/stock/?action=getBadgeStock&section=beavers&section_id=1&term_id=2", :body => badges_body.to_json, :content_type => 'application/json')
78
117
  Osm::Term.stub(:get_current_term_for_section) { Osm::Term.new(:id => 2) }
79
118
 
80
119
  section = Osm::Section.new(:id => 1, :type => :beavers)
@@ -84,26 +123,28 @@ describe "Badges" do
84
123
  describe "Update badge stock levels" do
85
124
 
86
125
  it "Succeds" do
87
- url = "https://www.onlinescoutmanager.co.uk/challenges.php?action=updateStock"
126
+ url = "https://www.onlinescoutmanager.co.uk/ext/badges.php?action=updateStock"
88
127
  HTTParty.should_receive(:post).with(url, {:body => {
89
128
  'apiid' => @CONFIGURATION[:api][:osm][:id],
90
129
  'token' => @CONFIGURATION[:api][:osm][:token],
91
130
  'userid' => 'user_id',
92
131
  'secret' => 'secret',
93
132
  'stock' => 10,
94
- 'table' => 'badge',
95
- 'sectionid' => 1,
133
+ 'sectionid' => 2,
96
134
  'section' => :beavers,
97
- }}) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"sectionid":"1","badge":"10"}'}) }
135
+ 'type' => 'current',
136
+ 'level' => 1,
137
+ 'badge_id' => 3
138
+ }}) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"ok":true}'}) }
98
139
 
99
- section = Osm::Section.new(:id => 1, :type => :beavers)
100
- Osm::Badges.update_stock(@api, section, 'badge', 10).should be_true
140
+ section = Osm::Section.new(:id => 2, :type => :beavers)
141
+ Osm::Badges.update_stock(@api, section, 3, 10).should be_true
101
142
  end
102
143
 
103
144
  it "Fails" do
104
- HTTParty.stub(:post) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"sectionid":"1","badge":"1"}'}) }
145
+ HTTParty.stub(:post) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"ok":false}'}) }
105
146
  section = Osm::Section.new(:id => 1, :type => :beavers)
106
- Osm::Badges.update_stock(@api, section, 'badge', 10).should be_false
147
+ Osm::Badges.update_stock(@api, section, 3, 10).should be_false
107
148
  end
108
149
 
109
150
  end
@@ -123,20 +123,22 @@ describe "Event" do
123
123
 
124
124
  it "Create" do
125
125
  bl = Osm::Event::BadgeLink.new(
126
- :badge_key => 'artist',
127
126
  :badge_type => :activity,
128
- :requirement_key => 'a_01',
129
127
  :badge_section => :cubs,
130
128
  :requirement_label => 'A: Poster',
131
- :badge_label => 'Artist',
132
- :data => 'abc'
129
+ :data => 'abc',
130
+ :badge_name => 'Artist',
131
+ :badge_id => 1,
132
+ :badge_version => 0,
133
+ :requirement_id => 2,
133
134
  )
134
135
 
135
- bl.badge_key.should == 'artist'
136
136
  bl.badge_type.should == :activity
137
- bl.requirement_key.should == 'a_01'
138
137
  bl.badge_section.should == :cubs
139
- bl.badge_label.should == 'Artist'
138
+ bl.badge_name.should == 'Artist'
139
+ bl.badge_id.should == 1
140
+ bl.badge_version.should == 0
141
+ bl.requirement_id.should == 2
140
142
  bl.requirement_label.should == 'A: Poster'
141
143
  bl.data.should == 'abc'
142
144
  bl.valid?.should be_true
@@ -187,8 +189,8 @@ describe "Event" do
187
189
  'publicnotes' => 'public notepad',
188
190
  'config' => '[{"id":"f_1","name":"Name","pL":"Label","pR":"1"}]',
189
191
  'badgelinks' => [
190
- {"section"=>"cubs", "badgetype"=>"activity", "badge"=>"athletics", "columnname"=>"b_06", "data"=>"", "badgeLongName"=>"Athletics", "columnnameLongName"=>"B: Run", "sectionLongName"=>"Cubs", "badgetypeLongName"=>"Activity"},
191
- {"section"=>"staged", "badgetype"=>"staged", "badge"=>"hikes", "columnname"=>"custom_69153", "data"=>"1", "badgeLongName"=>"Hikes", "columnnameLongName"=>"C: Hike name = 1", "sectionLongName"=>"Staged", "badgetypeLongName"=>"Staged"},
192
+ {"section"=>"cubs", "badgetype"=>"activity", "badge"=>"activity_athletics", "columnname"=>"b", "data"=>"Yes", "badgeLongName"=>"Athletics", "columnnameLongName"=>"B: Run", "sectionLongName"=>"Cubs", "badgetypeLongName"=>"Activity", "badge_id"=>"179", "badge_version"=>"0", "column_id"=>"3"},
193
+ {"section"=>"staged", "badgetype"=>"staged", "badge"=>"hikes", "columnname"=>"custom", "data"=>"1", "badgeLongName"=>"Hikes", "columnnameLongName"=>"C: Hike name = 1", "sectionLongName"=>"Staged", "badgetypeLongName"=>"Staged", "badge_id"=>"197", "badge_version"=>"0", "column_id"=>"4"},
192
194
  ],
193
195
  'sectionid' => '1',
194
196
  'googlecalendar' => nil,
@@ -237,17 +239,18 @@ describe "Event" do
237
239
  event.columns[0].name.should == 'Name'
238
240
  event.columns[0].label.should == 'Label'
239
241
  event.columns[0].parent_required.should be_true
240
- event.badges[0].badge_key.should == 'athletics'
241
- event.badges[0].badge_label.should == 'Athletics'
242
+ event.badges[0].badge_name.should == 'Athletics'
242
243
  event.badges[0].badge_section.should == :cubs
243
244
  event.badges[0].badge_type.should == :activity
244
- event.badges[0].requirement_key.should == 'b_06'
245
- event.badges[0].data.should == ''
245
+ event.badges[0].requirement_id.should == 3
246
+ event.badges[0].data.should == 'Yes'
246
247
  event.badges[0].requirement_label.should == 'B: Run'
247
- event.badges[1].badge_key.should == 'hikes'
248
+ event.badges[0].badge_id.should == 179
249
+ event.badges[0].badge_version.should == 0
250
+ event.badges[1].badge_name.should == 'Hikes'
248
251
  event.badges[1].badge_section.should == :staged
249
252
  event.badges[1].badge_type.should == :staged
250
- event.badges[1].requirement_key.should == 'custom_69153'
253
+ event.badges[1].requirement_id.should == 4
251
254
  event.badges[1].data.should == '1'
252
255
  event.valid?.should be_true
253
256
  end
@@ -604,7 +607,7 @@ describe "Event" do
604
607
  :attendance_reminder => 1,
605
608
  :allow_booking => true,
606
609
  }
607
- @badge_url = 'https://www.onlinescoutmanager.co.uk/ext/events/event/index.php?action=badgeAddToEvent&sectionid=1&eventid=2'
610
+ @badge_url = 'https://www.onlinescoutmanager.co.uk/ext/badges/records/index.php?action=linkBadgeToItem&sectionid=1'
608
611
  end
609
612
 
610
613
  it "'Normal badge'" do
@@ -613,22 +616,27 @@ describe "Event" do
613
616
  'token' => @CONFIGURATION[:api][:osm][:token],
614
617
  'userid' => 'user_id',
615
618
  'secret' => 'secret',
619
+ 'type' => 'event',
620
+ 'id' => 2,
616
621
  'section' => :beavers,
617
- 'badgetype' => :activity,
618
- 'badge' => 'test',
619
- 'columnname' => 'a_01',
620
- 'data' => '',
621
- 'newcolumnname' => '',
622
+ 'sectionid' => 1,
623
+ 'badge_id' => 3,
624
+ 'badge_version' => 2,
625
+ 'column_id' => 1,
626
+ 'column_data' => '',
627
+ 'new_column_name' => '',
622
628
  }
623
- HTTParty.should_receive(:post).with(@badge_url, {:body => post_data}) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"ok":true}'}) }
629
+ HTTParty.should_receive(:post).with(@badge_url, {:body => post_data}) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"status":true}'}) }
624
630
 
625
631
  @attributes[:badges] = [Osm::Event::BadgeLink.new(
626
- badge_key: 'test',
627
632
  badge_type: :activity,
628
- requirement_key: 'a_01',
629
633
  badge_section: :beavers,
630
634
  requirement_label: '',
631
635
  data: '',
636
+ badge_name: 'Test badge',
637
+ badge_id: 3,
638
+ badge_version: 2,
639
+ requirement_id: 1,
632
640
  )]
633
641
  event = Osm::Event.create(@api, @attributes)
634
642
  event.should_not be_nil
@@ -641,22 +649,26 @@ describe "Event" do
641
649
  'token' => @CONFIGURATION[:api][:osm][:token],
642
650
  'userid' => 'user_id',
643
651
  'secret' => 'secret',
644
- 'section' => :staged,
645
- 'badgetype' => :staged,
646
- 'badge' => 'hikes',
647
- 'columnname' => '',
648
- 'data' => '1',
649
- 'newcolumnname' => 'Label for added column',
652
+ 'type' => 'event',
653
+ 'id' => 2,
654
+ 'section' => :beavers,
655
+ 'sectionid' => 1,
656
+ 'badge_id' => 3,
657
+ 'badge_version' => 2,
658
+ 'column_id' => -2,
659
+ 'column_data' => '1',
660
+ 'new_column_name' => 'Label for added column',
650
661
  }
651
- HTTParty.should_receive(:post).with(@badge_url, {:body => post_data}) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"ok":true}'}) }
662
+ HTTParty.should_receive(:post).with(@badge_url, {:body => post_data}) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"status":true}'}) }
652
663
 
653
664
  @attributes[:badges] = [Osm::Event::BadgeLink.new(
654
- badge_key: 'hikes',
655
665
  badge_type: :staged,
656
- requirement_key: '',
657
- badge_section: :staged,
666
+ badge_section: :beavers,
658
667
  requirement_label: 'Label for added column',
659
668
  data: '1',
669
+ badge_name: 'Test badge',
670
+ badge_id: 3,
671
+ badge_version: 2,
660
672
  )]
661
673
  event = Osm::Event.create(@api, @attributes)
662
674
  event.should_not be_nil
@@ -669,22 +681,27 @@ describe "Event" do
669
681
  'token' => @CONFIGURATION[:api][:osm][:token],
670
682
  'userid' => 'user_id',
671
683
  'secret' => 'secret',
672
- 'section' => :staged,
673
- 'badgetype' => :staged,
674
- 'badge' => 'nights',
675
- 'columnname' => 'custom_01234',
676
- 'data' => '2',
677
- 'newcolumnname' => '',
684
+ 'type' => 'event',
685
+ 'id' => 2,
686
+ 'section' => :beavers,
687
+ 'sectionid' => 1,
688
+ 'badge_id' => 3,
689
+ 'badge_version' => 2,
690
+ 'column_id' => 4,
691
+ 'column_data' => '2',
692
+ 'new_column_name' => '',
678
693
  }
679
- HTTParty.should_receive(:post).with(@badge_url, {:body => post_data}) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"ok":true}'}) }
694
+ HTTParty.should_receive(:post).with(@badge_url, {:body => post_data}) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"status":true}'}) }
680
695
 
681
696
  @attributes[:badges] = [Osm::Event::BadgeLink.new(
682
- badge_key: 'nights',
683
697
  badge_type: :staged,
684
- requirement_key: 'custom_01234',
685
- badge_section: :staged,
698
+ badge_section: :beavers,
686
699
  requirement_label: '',
687
700
  data: '2',
701
+ badge_name: 'Test badge',
702
+ badge_id: 3,
703
+ badge_version: 2,
704
+ requirement_id: 4,
688
705
  )]
689
706
  event = Osm::Event.create(@api, @attributes)
690
707
  event.should_not be_nil
@@ -836,7 +853,16 @@ describe "Event" do
836
853
  :cost => '1.23',
837
854
  :location => 'Somewhere',
838
855
  :notes => 'none',
839
- :badges => [Osm::Event::BadgeLink.new(badge_key: 'test')],
856
+ :badges => [Osm::Event::BadgeLink.new(
857
+ badge_type: :activity,
858
+ badge_section: :scouts,
859
+ requirement_label: 'A: Paint',
860
+ data: 'Yes',
861
+ badge_name: 'Artist',
862
+ badge_id: 3,
863
+ badge_version: 2,
864
+ requirement_id: 4,
865
+ )],
840
866
  :columns => [],
841
867
  :notepad => '',
842
868
  :public_notepad => '',
@@ -851,44 +877,38 @@ describe "Event" do
851
877
  end
852
878
 
853
879
  it "Added" do
854
- url = 'https://www.onlinescoutmanager.co.uk/ext/events/event/index.php?action=badgeAddToEvent&sectionid=1&eventid=2'
855
- post_data = {
856
- 'apiid' => @CONFIGURATION[:api][:osm][:id],
857
- 'token' => @CONFIGURATION[:api][:osm][:token],
858
- 'userid' => 'user_id',
859
- 'secret' => 'secret',
860
- 'badgelinks' => [{
861
- 'section' => nil,
862
- 'badgetype' => nil,
863
- 'badge' => 'test2',
864
- 'columnname' => nil,
865
- 'data' => nil,
866
- 'newcolumnname' => nil,
867
- }],
868
- }
869
- HTTParty.should_receive(:post).with(url, {:body => post_data}) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"ok":true,"error":"Update Error"}'}) }
870
-
871
- @event.badges.push(Osm::Event::BadgeLink.new(badge_key: 'test2'))
880
+ badge = Osm::Event::BadgeLink.new(
881
+ badge_type: :activity,
882
+ badge_section: :scouts,
883
+ requirement_label: 'A: Draw',
884
+ data: 'Yes',
885
+ badge_name: 'Artist',
886
+ badge_id: 3,
887
+ badge_version: 2,
888
+ requirement_id: 6,
889
+ )
890
+ @event.should_receive(:add_badge_link).with(@api, badge) { true }
891
+
892
+ @event.badges.push(badge)
872
893
  @event.update(@api).should be_true
873
894
  end
874
895
 
875
896
  it "Removed" do
876
- url = 'https://www.onlinescoutmanager.co.uk/ext/events/event/index.php?action=badgeDeleteFromEvent&sectionid=1&eventid=2'
897
+ url = 'https://www.onlinescoutmanager.co.uk/ext/badges/records/index.php?action=deleteBadgeLink&sectionid=1'
877
898
  post_data = {
878
899
  'apiid' => @CONFIGURATION[:api][:osm][:id],
879
900
  'token' => @CONFIGURATION[:api][:osm][:token],
880
901
  'userid' => 'user_id',
881
902
  'secret' => 'secret',
882
- 'badgelinks' => [{
883
- 'section' => nil,
884
- 'badgetype' => nil,
885
- 'badge' => 'test',
886
- 'columnname' => nil,
887
- 'data' => nil,
888
- 'newcolumnname' => nil,
889
- }],
903
+ 'section' => :scouts,
904
+ 'sectionid' => 1,
905
+ 'type' => 'event',
906
+ 'id' => 2,
907
+ 'badge_id' => 3,
908
+ 'badge_version' => 2,
909
+ 'column_id' => 4,
890
910
  }
891
- HTTParty.should_receive(:post).with(url, {:body => post_data}) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"ok":true,"error":"Update Error"}'}) }
911
+ HTTParty.should_receive(:post).with(url, {:body => post_data}) { OsmTest::DummyHttpResult.new(:response=>{:code=>'200', :body=>'{"status":true}'}) }
892
912
 
893
913
  @event.badges = []
894
914
  @event.update(@api).should be_true
@@ -1215,13 +1235,13 @@ describe "Event" do
1215
1235
 
1216
1236
  describe "API Strangeness" do
1217
1237
 
1218
- it "handles a non existant array when no events" do
1238
+ it "Handles a non existant array when no events" do
1219
1239
  data = '{"identifier":"eventid","label":"name"}'
1220
1240
  FakeWeb.register_uri(:post, "https://www.onlinescoutmanager.co.uk/events.php?action=getEvents&sectionid=1&showArchived=true", :body => data, :content_type => 'application/json')
1221
1241
  events = Osm::Event.get_for_section(@api, 1).should == []
1222
1242
  end
1223
1243
 
1224
- it "handles missing config from OSM" do
1244
+ it "Handles missing config from OSM" do
1225
1245
  events_body = '{"identifier":"eventid","label":"name","items":[{"eventid":"2","name":"An Event","startdate":"2001-02-03","enddate":"2001-02-05","starttime":"00:00:00","endtime":"12:00:00","cost":"0.00","location":"Somewhere","notes":"Notes","sectionid":1,"googlecalendar":null,"archived":"0","confdate":null,"allowchanges":"1","disablereminders":"1","attendancelimit":"3","limitincludesleaders":"1"}]}'
1226
1246
 
1227
1247
  event_body = {