social_stream-events 0.0.2 → 0.0.4

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.
Files changed (150) hide show
  1. data/.gitignore +9 -2
  2. data/GPL Affero license b/data/GPL Affero → license +0 -0
  3. data/Gemfile +1 -5
  4. data/README.rdoc +0 -0
  5. data/Rakefile +7 -0
  6. data/app/assets/images/btn/btn_certificate.png +0 -0
  7. data/app/assets/images/btn/btn_certificates.png +0 -0
  8. data/app/assets/images/btn/btn_edit.png +0 -0
  9. data/app/assets/images/btn/btn_embebed.png +0 -0
  10. data/app/assets/images/btn/btn_event.png +0 -0
  11. data/app/assets/images/btn/btn_outline.png +0 -0
  12. data/app/assets/images/btn/event.png +0 -0
  13. data/app/assets/images/btn/flyer.png +0 -0
  14. data/app/assets/images/btn/keynote.png +0 -0
  15. data/app/assets/images/btn/live.png +0 -0
  16. data/app/assets/images/btn/time.png +0 -0
  17. data/app/assets/images/btn/trash.png +0 -0
  18. data/app/assets/images/icons/IconsByGlyphish.txt +0 -0
  19. data/app/assets/images/icons/down.png +0 -0
  20. data/app/assets/images/icons/search.png +0 -0
  21. data/app/assets/images/icons/up.png +0 -0
  22. data/app/assets/images/logos/actor/event.png +0 -0
  23. data/app/assets/images/logos/contact/event.png +0 -0
  24. data/app/assets/images/logos/original/event.png +0 -0
  25. data/app/assets/images/logos/profile/event.png +0 -0
  26. data/app/assets/images/logos/representation/event.png +0 -0
  27. data/app/assets/images/tab_bottom.png +0 -0
  28. data/app/assets/javascripts/schedule.js +0 -0
  29. data/app/assets/javascripts/social_stream-events.js +0 -0
  30. data/app/assets/stylesheets/fullcalendar.css +0 -0
  31. data/app/assets/stylesheets/fullcalendar.print.css +0 -0
  32. data/app/assets/stylesheets/social_stream-events.css +1 -5
  33. data/app/controllers/agendas_controller.rb +0 -0
  34. data/app/controllers/events_controller.rb +0 -0
  35. data/app/controllers/sessions_controller.rb +0 -0
  36. data/app/helpers/event_helper.rb +0 -0
  37. data/app/models/agenda.rb +0 -0
  38. data/app/models/event.rb +0 -0
  39. data/app/models/session.rb +0 -0
  40. data/app/views/agendas/_agenda.html.erb +0 -0
  41. data/app/views/agendas/_edit.html.erb +0 -0
  42. data/app/views/agendas/_schedule.html.erb +0 -0
  43. data/app/views/agendas/_show.html.erb +0 -0
  44. data/app/views/agendas/_show_day.html.erb +0 -0
  45. data/app/views/agendas/edit.html.erb +0 -0
  46. data/app/views/agendas/event.html.erb +0 -0
  47. data/app/views/agendas/index.html.erb +0 -0
  48. data/app/views/agendas/show.html.erb +0 -0
  49. data/app/views/documents/_mediawall.html.erb +0 -0
  50. data/app/views/events/_event.html.erb +0 -0
  51. data/app/views/events/_event_with_details.html.erb +2 -0
  52. data/app/views/events/_form.html.erb +0 -0
  53. data/app/views/events/_jquery.html.erb +0 -0
  54. data/app/views/events/_manage.html.erb +0 -0
  55. data/app/views/events/_new_activity.html.erb +2 -0
  56. data/app/views/events/{_fields.html.erb → _new_activity_fields.html.erb} +0 -0
  57. data/app/views/events/_sessions_edit.html.erb +0 -0
  58. data/app/views/events/_sidebar_cloud.html.erb +0 -0
  59. data/app/views/events/_sidebar_index.html.erb +0 -0
  60. data/app/views/events/_sidebar_show.html.erb +0 -0
  61. data/app/views/events/agendas.html +0 -0
  62. data/app/views/events/edit.html.erb +0 -0
  63. data/app/views/events/index.html.erb +0 -0
  64. data/app/views/events/manage.html.erb +0 -0
  65. data/app/views/events/manage.js.erb +0 -0
  66. data/app/views/events/show.html.erb +0 -0
  67. data/app/views/profiles/_outline.html.erb +0 -0
  68. data/app/views/sessions/_form.html.erb +0 -0
  69. data/app/views/sessions/_new.html.erb +0 -0
  70. data/app/views/sessions/_session.html.erb +0 -0
  71. data/app/views/sessions/_show.html.erb +0 -0
  72. data/app/views/sessions/create.html.erb +0 -0
  73. data/app/views/sessions/create.js.erb +0 -0
  74. data/app/views/sessions/destroy.js.erb +0 -0
  75. data/app/views/sessions/edit.html.erb +0 -0
  76. data/app/views/sessions/index.html.erb +0 -0
  77. data/app/views/sessions/index.js.erb +0 -0
  78. data/app/views/sessions/new.html.erb +0 -0
  79. data/app/views/toolbar/_organizer.html.erb +0 -0
  80. data/app/views/toolbar/_sponsor.html.erb +0 -0
  81. data/app/views/toolbar/_suscribed.html.erb +0 -0
  82. data/config/locales/en.yml +0 -9
  83. data/config/routes.rb +0 -16
  84. data/db/{20110615143707_create_social_stream_events.rb → migrate/20110910161707_create_social_stream_events.rb} +0 -0
  85. data/lib/generators/social_stream/events/install_generator.rb +0 -0
  86. data/lib/social_stream-events.rb +6 -1
  87. data/lib/social_stream/events/engine.rb +5 -2
  88. data/lib/social_stream/events/version.rb +5 -0
  89. data/lib/social_stream/migrations/events.rb +2 -19
  90. data/lib/social_stream/toolbar_config/events.rb +40 -0
  91. data/social_stream-events.gemspec +5 -2
  92. data/vendor/assets/javascripts/fullcalendar.js +0 -0
  93. data/vendor/assets/javascripts/gcal.js +0 -0
  94. metadata +36 -88
  95. data/app/assets/javascripts/settings.js +0 -20
  96. data/app/assets/stylesheets/activities.css +0 -4
  97. data/app/assets/stylesheets/settings.css +0 -4
  98. data/app/assets/stylesheets/tie.css +0 -4
  99. data/app/assets/stylesheets/users.css +0 -4
  100. data/app/controllers/activities_controller.rb +0 -42
  101. data/app/controllers/calendar_events_controller.rb +0 -157
  102. data/app/controllers/settings_controller.rb +0 -70
  103. data/app/models/calendar_event.rb +0 -191
  104. data/app/models/calendar_event_series.rb +0 -126
  105. data/app/views/activities/_activity.html.erb +0 -5
  106. data/app/views/activities/_child.html.erb +0 -18
  107. data/app/views/activities/_comments.html.erb +0 -3
  108. data/app/views/activities/_index.html.erb +0 -94
  109. data/app/views/activities/_new.html.erb +0 -29
  110. data/app/views/activities/_options.html.erb +0 -15
  111. data/app/views/activities/_root.html.erb +0 -37
  112. data/app/views/activities/_wall.html.erb +0 -5
  113. data/app/views/activities/_walls.html.erb +0 -34
  114. data/app/views/activities/documents.js.erb +0 -1
  115. data/app/views/activities/index.js.erb +0 -1
  116. data/app/views/calendar_events/_calendar.html.erb +0 -0
  117. data/app/views/calendar_events/_edit_form.html.erb +0 -58
  118. data/app/views/calendar_events/_form.html.erb +0 -65
  119. data/app/views/calendar_events/available.html.erb +0 -81
  120. data/app/views/calendar_events/create.js.erb +0 -18
  121. data/app/views/calendar_events/edit.js.erb +0 -1
  122. data/app/views/calendar_events/index.html.erb +0 -162
  123. data/app/views/calendar_events/move.js.erb +0 -0
  124. data/app/views/calendar_events/new.js.erb +0 -9
  125. data/app/views/calendar_events/resize.js.erb +0 -0
  126. data/app/views/calendar_events/schedule.html.erb +0 -143
  127. data/app/views/events/_new.html.erb +0 -2
  128. data/app/views/kaminari/_first_page.html.erb +0 -11
  129. data/app/views/kaminari/_gap.html.erb +0 -8
  130. data/app/views/kaminari/_last_page.html.erb +0 -11
  131. data/app/views/kaminari/_next_page.html.erb +0 -11
  132. data/app/views/kaminari/_page.html.erb +0 -12
  133. data/app/views/kaminari/_paginator.html.erb +0 -23
  134. data/app/views/kaminari/_prev_page.html.erb +0 -11
  135. data/app/views/profiles/_profile.html.erb +0 -40
  136. data/app/views/settings/_contacto.html.erb +0 -24
  137. data/app/views/settings/_header.html.erb +0 -8
  138. data/app/views/settings/_index.html.erb +0 -16
  139. data/app/views/settings/_manage.html.erb +0 -25
  140. data/app/views/settings/_settings.html.erb +0 -49
  141. data/app/views/settings/delete_relation.js.erb +0 -3
  142. data/app/views/settings/index.html.erb +0 -38
  143. data/app/views/settings/manage.html.erb +0 -31
  144. data/app/views/settings/show.html.erb +0 -15
  145. data/app/views/settings/update_relation.js.erb +0 -1
  146. data/app/views/toolbar/_home.html.erb +0 -11
  147. data/app/views/toolbar/_logo.html.erb +0 -23
  148. data/app/views/toolbar/_profile.html.erb +0 -21
  149. data/app/views/users/_index.html.erb +0 -33
  150. data/app/views/users/index.html.erb +0 -46
@@ -1,70 +0,0 @@
1
- class SettingsController < InheritedResources::Base
2
-
3
- respond_to :html, :js
4
- #before_filter :authenticate_user!
5
- def show
6
-
7
- end
8
-
9
- def manage
10
-
11
- # @cs_ = Actor.joins('INNER JOIN contacts ON contacts.receiver_id = actors.id INNER JOIN ties ON ties.contact_id = contacts.id INNER JOIN relations ON relations.id = ties.relation_id').where(:subject_type => ['User', 'Group', 'Event'], :contacts=>{:sender_id => current_subject}, :relations=>{:type => 'Relation::Custom'}).page(params[:page]).per(10)
12
-
13
- @cs = current_subject.contact_subjects(:direction => :sent)
14
- @cs = Kaminari.paginate_array(@cs).page(params[:page]).per(10)
15
- # @cs_page = Paginator.new(self, cs.length, 10, 1)
16
- # @offset = 0
17
- # @cs= cs[offset..(offset + 10 -1)]
18
-
19
- end
20
-
21
- def delete_relation
22
- @receiver = Actor.find params[:id]
23
- logger.info "antes del each"
24
- contact=Contact.where(["sender_id="+current_subject.id.to_s+" and receiver_id="+@receiver.id.to_s])
25
- logger.info "cs:"+current_subject.name+"receiver:"+@receiver.name
26
- tie_to_delete=contact.first.ties
27
- logger.info "antes del if"
28
- tie_x=tie_to_delete.first
29
- if tie_x != nil
30
- tie_x.destroy
31
- end
32
- @cs = current_subject.contact_subjects(:direction => :sent)
33
- @cs = Kaminari.paginate_array(@cs).page(params[:page]).per(10)
34
- respond_to do |format|
35
- format.js {render :layout => false}
36
- end
37
- # redirect_to "/settings/manage"
38
- end
39
-
40
- def update_relation
41
- @receiver = Actor.find params[:id]
42
- relations = params['manage']
43
- logger.info "antes del each"
44
- relations.each do |x,y|
45
- relation_id = y
46
- contacto=Contact.where(["sender_id="+current_subject.id.to_s+" and receiver_id="+@receiver.id.to_s])
47
- logger.info "cs:"+current_subject.name+"receiver:"+@receiver.name
48
- tie_a_editar=contacto.first.ties
49
- logger.info "antes del if"
50
- tie_x=tie_a_editar.first
51
- if tie_x != nil
52
- logger.info "dentro del if"
53
- tie_x.relation_id=relation_id
54
- tie_x.save
55
- logger.info "luego del save"
56
- else
57
- logger.info "dentro del else"
58
- nuevo_tie=Tie.new
59
- nuevo_tie.contact_id=contacto.first.id
60
- nuevo_tie.relation_id=relation_id
61
- nuevo_tie.save
62
- end
63
- end
64
- respond_to do |format|
65
- format.js {render :layout => false}
66
- end
67
-
68
- # redirect_to "/settings/manage"
69
- end
70
- end
@@ -1,191 +0,0 @@
1
- # == Schema Information
2
- # Schema version: 20100330111833
3
- #
4
- # Table name: events
5
- #
6
- # id :integer(4) not null, primary key
7
- # title :string(255)
8
- # starttime :datetime
9
- # endtime :datetime
10
- # all_day :boolean(1)
11
- # created_at :datetime
12
- # updated_at :datetime
13
- # description :text
14
- # event_series_id :integer(4)
15
- #
16
-
17
- class CalendarEvent < ActiveRecord::Base
18
- attr_accessor :period, :frequency, :commit_button
19
-
20
- validates_presence_of :title, :description
21
-
22
- belongs_to :calendar_event_series
23
-
24
- belongs_to :object, :polymorphic => true
25
-
26
- named_scope :object_type, lambda { |type|
27
- type ?
28
- { :conditions => [ "object_type = ?", type.to_s.classify ] } :
29
- {}
30
- }
31
-
32
- REPEATS = [
33
- ["No repetir", "Does not repeat"],
34
- # ["Diariamente", "Daily" ],
35
- ["Semanalmente", "Weekly" ]
36
- # ["Mensualmente", "Monthly" ],
37
- # ["Anualmente", "Yearly" ]
38
- ]
39
-
40
- def validate
41
- if (starttime >= endtime) and !all_day
42
- errors.add_to_base("Inicio debe ser menor que Fin")
43
- end
44
- end
45
-
46
- def update_calendar_events(events, event)
47
- events.each do |e|
48
- begin
49
- st, et = e.starttime, e.endtime
50
- e.attributes = event
51
- if calendar_event_series.period.downcase == 'monthly' or calendar_event_series.period.downcase == 'yearly'
52
- nst = DateTime.parse("#{e.starttime.hour}:#{e.starttime.min}:#{e.starttime.sec}, #{e.starttime.day}-#{st.month}-#{st.year}")
53
- net = DateTime.parse("#{e.endtime.hour}:#{e.endtime.min}:#{e.endtime.sec}, #{e.endtime.day}-#{et.month}-#{et.year}")
54
- else
55
- nst = DateTime.parse("#{e.starttime.hour}:#{e.starttime.min}:#{e.starttime.sec}, #{st.day}-#{st.month}-#{st.year}")
56
- net = DateTime.parse("#{e.endtime.hour}:#{e.endtime.min}:#{e.endtime.sec}, #{et.day}-#{et.month}-#{et.year}")
57
- end
58
- #puts "#{nst} ::::::::: #{net}"
59
- rescue
60
- nst = net = nil
61
- end
62
- if nst and net
63
- # e.attributes = event
64
- e.starttime, e.endtime = nst, net
65
- e.save
66
- end
67
- end
68
-
69
- calendar_event_series.attributes = event
70
- calendar_event_series.save
71
- end
72
-
73
- #method to know if an event happens in the future
74
- def future?
75
- return has_date? && starttime.future?
76
- end
77
-
78
-
79
- #method to know if an event happens in the past
80
- def past?
81
- return has_date? && endtime.past?
82
- end
83
-
84
-
85
- def has_date?
86
- starttime
87
- end
88
-
89
- #method to get the starting date of an event in the correct format
90
- def get_formatted_date
91
- has_date? ?
92
- I18n::localize(starttime, :format => "%A, %d %b %Y #{I18n::translate('date.at')} %H:%M. #{get_formatted_timezone}") :
93
- I18n::t('date.undefined')
94
- end
95
-
96
- def get_formatted_timezone
97
- has_date? ?
98
- "#{I18n::t('timezone.one')}: #{Time.zone.name} (#{starttime.zone}, GMT #{starttime.formatted_offset})" :
99
- I18n::t('date.undefined')
100
- end
101
-
102
- #method to get the starting hour of an event in the correct format
103
- def get_formatted_hour
104
- has_date? ? starttime.strftime("%H:%M") : I18n::t('date.undefined')
105
- end
106
-
107
- def get_formatted_timezone_lite
108
- has_date? ?
109
- "GMT #{starttime.formatted_offset}" :
110
- I18n::t('date.undefined')
111
- end
112
-
113
- def to_s
114
- s = I18n.localize(starttime, :format => '%A %d de %B de %Y')
115
- if (starttime.strftime('%Y-%m-%d') == endtime.strftime('%Y-%m-%d'))
116
- s += " de " + starttime.strftime("%H:%M") + " hasta " + endtime.strftime("%H:%M") + " " + get_formatted_timezone_lite
117
- end
118
- #starttime.strftime '%m/%d/%Y' + ' hasta ' + endtime.strftime '%m/%d/%Y'
119
- end
120
-
121
- def to_string(timezone)
122
- s = I18n.localize(starttime, :format => '%A %d de %B de %Y')
123
- if (starttime.strftime('%Y-%m-%d') == endtime.strftime('%Y-%m-%d'))
124
- logger.error "timezone= #{timezone}"
125
- if (!timezone.nil? && timezone != "")
126
- s += " de " + starttime.in_time_zone(timezone).strftime("%H:%M") + " hasta " + endtime.in_time_zone(timezone).strftime("%H:%M") + " GMT #{starttime.in_time_zone(timezone).formatted_offset}"
127
- end
128
- s += " (" + starttime.utc.strftime("%H:%M") + " hasta " + endtime.utc.strftime("%H:%M") + " GMT)"
129
- end
130
- #starttime.strftime '%m/%d/%Y' + ' hasta ' + endtime.strftime '%m/%d/%Y'
131
- end
132
-
133
- def in(nce)
134
- return (starttime <= nce.starttime && endtime > nce.starttime) || (starttime < nce.endtime && endtime >= nce.endtime)
135
- end
136
-
137
- def self.find_room(reservation, room_id)
138
- logger.error "reservation=#{reservation.id} room=#{room_id}"
139
- room_object=Room.find room_id
140
- calendar_events_roster = room_object.calendar_events
141
- logger.error "*** calendar_series.size = #{calendar_events_roster.size}"
142
- for iterador in calendar_events_roster
143
- logger.error "*** iterador.id = #{iterador.id} all_day=#{iterador.all_day}"
144
- if iterador.all_day
145
- logger.error "#{iterador.starttime} #{iterador.endtime}"
146
- eventos = CalendarEvent.find(:all, :conditions => ["object_type = 'Room' AND object_id=? AND ((starttime <= ? AND endtime> ?) OR (starttime< ? AND endtime>= ? ))", room_id, iterador.starttime, iterador.starttime, iterador.endtime, iterador.endtime])
147
- logger.error "tamanio #{eventos.size}"
148
- if eventos.size != 0
149
- return false
150
- end
151
- else
152
- logger.error "#{iterador.starttime} #{iterador.endtime}"
153
- eventos = CalendarEvent.find(:all, :conditions => ["object_type = 'Room' AND object_id=? AND ((starttime <= ? AND endtime> ?) OR (starttime< ? AND endtime>= ? ))", room_id, iterador.starttime, iterador.starttime, iterador.endtime, iterador.endtime])
154
- logger.error "tamanio #{eventos.size}"
155
- if eventos.size != 0
156
- return false
157
- end
158
- end
159
- end
160
- return true
161
- end
162
-
163
- def self.find_room_reserved(reservation, room_id)
164
- logger.error "reserved reservation=#{reservation.id} room=#{room_id}"
165
- reservations_approved = Reservation.find(:all, :conditions => ["room_id=? AND state=?", room_id, Reservation::STATE_APPROVED])
166
- for reservation_approved in reservations_approved
167
- calendar_events_roster = reservation_approved.calendar_events
168
- logger.error "*** reserved calendar_series.size = #{calendar_events_roster.size}"
169
- for iterador in calendar_events_roster
170
- logger.error "*** reserved iterador.id = #{iterador.id} all_day=#{iterador.all_day}"
171
- if iterador.all_day
172
- logger.error "reserved {iterador.starttime} #{iterador.endtime}"
173
- eventos = CalendarEvent.find(:all, :conditions => ["object_type = 'Room' AND object_id=? AND ((starttime <= ? AND endtime> ?) OR (starttime< ? AND endtime>= ? ))", room_id, iterador.starttime, iterador.starttime, iterador.endtime, iterador.endtime])
174
- logger.error "reserved tamanio #{eventos.size}"
175
- if eventos.size != 0
176
- return false
177
- end
178
- else
179
- logger.error "reserved #{iterador.starttime} #{iterador.endtime}"
180
- eventos = CalendarEvent.find(:all, :conditions => ["object_type = 'Room' AND object_id=? AND ((starttime <= ? AND endtime> ?) OR (starttime< ? AND endtime>= ? ))", room_id, iterador.starttime, iterador.starttime, iterador.endtime, iterador.endtime])
181
- logger.error "reserved tamanio #{eventos.size}"
182
- if eventos.size != 0
183
- return false
184
- end
185
- end
186
- end
187
- end
188
- return true
189
- end
190
-
191
- end
@@ -1,126 +0,0 @@
1
- # == Schema Information
2
- # Schema version: 20100330111833
3
- #
4
- # Table name: event_series
5
- #
6
- # id :integer(4) not null, primary key
7
- # frequency :integer(4) default(1)
8
- # period :string(255) default("months")
9
- # starttime :datetime
10
- # endtime :datetime
11
- # all_day :boolean(1)
12
- # created_at :datetime
13
- # updated_at :datetime
14
- #
15
-
16
- class CalendarEventSeries < ActiveRecord::Base
17
- attr_accessor :commit_button
18
- attr_accessible :id, :title, :description, :starttime, :endtime, :frequency, :period, :all_day, :object_type, :object_id
19
-
20
- validates_presence_of :frequency, :period, :starttime, :endtime
21
- validates_presence_of :title, :description
22
-
23
- has_many :calendar_events, :dependent => :destroy
24
-
25
- belongs_to :object, :polymorphic => true
26
-
27
- named_scope :object_type, lambda { |type|
28
- type ?
29
- { :conditions => [ "object_type = ?", type.to_s.classify ] } :
30
- {}
31
- }
32
-
33
- def after_create
34
- #create_events_until
35
- end
36
-
37
- def self.find_or_create(starttime, endtime, room_id)
38
- calendar_series = self.find(:all, :conditions => [ "object_type = 'Room' AND object_id=?", room_id ] )
39
- logger.error "*** calendar_series.size = #{calendar_series.size}"
40
- for iterador in calendar_series
41
- logger.error "*** iterador.id = #{iterador.id}"
42
- if iterador.all_day
43
- if iterador.repeat_until.nil?
44
- indice= ((endtime - iterador.starttime)/(iterador.frequency.send(iterador.r_period(iterador.period)) )).to_i
45
- fecha_consulta= (indice*iterador.frequency).send(iterador.r_period(iterador.period)).from_now(iterador.starttime)
46
- fecha_consulta_end= (indice*iterador.frequency).send(iterador.r_period(iterador.period)).from_now(iterador.endtime)
47
-
48
- logger.error "#{fecha_consulta} #{fecha_consulta_end}"
49
- eventos= CalendarEvent.find(:all, :conditions => ["starttime =? AND calendar_event_series_id=?",fecha_consulta,iterador.id])
50
- logger.error "tamanio #{eventos.size}"
51
- if eventos.size == 0
52
- CalendarEvent.create(:title=>iterador.title,:description=>iterador.description,:starttime=>fecha_consulta,:endtime=>fecha_consulta_end,:all_day=>iterador.all_day,:object_type=>'Room',:object_id=>room_id, :calendar_event_series_id=>iterador.id)
53
- end
54
- else
55
- if endtime <= iterador.repeat_until
56
- indice= ((endtime - iterador.starttime)/(iterador.frequency.send(iterador.r_period(iterador.period)) )).to_i
57
-
58
- fecha_consulta= (indice*iterador.frequency).send(iterador.r_period(iterador.period)).from_now(iterador.starttime)
59
- fecha_consulta_end= (indice*iterador.frequency).send(iterador.r_period(iterador.period)).from_now(iterador.endtime)
60
- logger.error fecha_consulta
61
- eventos= CalendarEvent.find(:all, :conditions => ["starttime =? AND calendar_event_series_id=?",fecha_consulta,iterador.id])
62
- if eventos.size == 0
63
- CalendarEvent.create(:title=>iterador.title,:description=>iterador.description,:starttime=>fecha_consulta,:endtime=>fecha_consulta_end,:all_day=>iterador.all_day,:object_type=>'Room',:object_id=>room_id, :calendar_event_series_id=>iterador.id)
64
- end
65
- end
66
- end
67
-
68
- else
69
- if iterador.repeat_until.nil? || endtime <= iterador.repeat_until
70
- indice= ((endtime - iterador.starttime)/(iterador.frequency.send(iterador.r_period(iterador.period)) )).to_i
71
-
72
- fecha_consulta= (indice*iterador.frequency).send(iterador.r_period(iterador.period)).from_now(iterador.starttime)
73
- fecha_consulta_end= (indice*iterador.frequency).send(iterador.r_period(iterador.period)).from_now(iterador.endtime)
74
-
75
- logger.error fecha_consulta
76
- eventos= CalendarEvent.find(:all, :conditions => ["starttime =? AND endtime=? AND calendar_event_series_id=?",fecha_consulta,fecha_consulta_end,iterador.id])
77
- if eventos.size == 0
78
- CalendarEvent.create(:title=>iterador.title,:description=>iterador.description,:starttime=>fecha_consulta,:endtime=>fecha_consulta_end,:all_day=>iterador.all_day,:object_type=>'Room',:object_id=>room_id, :calendar_event_series_id=>iterador.id)
79
- end
80
- end
81
- end
82
- end
83
- end
84
-
85
- def create_events_until
86
-
87
- st = starttime
88
- et = endtime
89
- p = r_period(period)
90
- nst, net = st, et
91
- while frequency.send(p).from_now(st) <= repeat_until
92
- # logger.error "*** title=#{title} description=#{description} all_day=#{all_day}"
93
- # logger.error "*** starttime=#{nst} endtime=#{net} object_id=#{object_id} object_type=#{object_type}"
94
-
95
- #while frequency.send(p).from_now(st) <= end_time
96
- # puts "#{nst} ::::::::: #{net}" if nst and net
97
- self.calendar_events.create(:title => title, :description => description, :all_day => all_day, :starttime => nst, :endtime => net, :object_id => object_id, :object_type => 'Room')
98
- nst = st = frequency.send(p).from_now(st)
99
- net = et = frequency.send(p).from_now(et)
100
-
101
- if period.downcase == 'monthly' or period.downcase == 'yearly'
102
- begin
103
- nst = DateTime.parse("#{starttime.hour}:#{starttime.min}:#{starttime.sec}, #{starttime.day}-#{st.month}-#{st.year}")
104
- net = DateTime.parse("#{endtime.hour}:#{endtime.min}:#{endtime.sec}, #{endtime.day}-#{et.month}-#{et.year}")
105
- rescue
106
- nst = net = nil
107
- end
108
- end
109
- end
110
- end
111
-
112
- def r_period(period)
113
- case period
114
- when 'Daily'
115
- p = 'days'
116
- when "Weekly"
117
- p = 'weeks'
118
- when "Monthly"
119
- p = 'months'
120
- when "Yearly"
121
- p = 'years'
122
- end
123
- return p
124
- end
125
-
126
- end
@@ -1,5 +0,0 @@
1
- <% if activity.is_root? %>
2
- <%= render :partial => "activities/root", :locals => { :activity => activity } %>
3
- <% else %>
4
- <%= render :partial => "activities/child", :locals => { :activity => activity } %>
5
- <% end %>
@@ -1,18 +0,0 @@
1
- <%= div_for activity, :class => "subactivity" do %>
2
- <div class="actor_logo_subactivity">
3
- <%= link_to image_tag(activity.sender_subject.logo.url(:actor),
4
- :alt => activity.sender_subject.name),
5
- activity.sender_subject %>
6
- </div>
7
- <div class="activity_content">
8
- <div class="actor_name-activity_objects">
9
- <%= link_to(activity.sender_subject.name, activity.sender_subject) %>
10
- <span class="subactivity_objects">
11
- <%= render activity.activity_objects %>
12
- </span>
13
- </div>
14
- <%= render :partial => 'activities/options',
15
- :locals => { :activity => activity } %>
16
- </div>
17
- <% end %>
18
- <div class="space_comments"></div>
@@ -1,3 +0,0 @@
1
- <div class="activity_comments" id="comments_<%= dom_id(activity) %>">
2
- <%= render activity.comments %>
3
- </div>
@@ -1,94 +0,0 @@
1
- <% content_for :javascript do %>
2
- $(function() {
3
- /**
4
- * the element
5
- */
6
- var $ui = $('#form_filter');
7
- var $ui_really = $('#ul_filter');
8
- /**
9
- * on focus and on click display the dropdown,
10
- * and change the arrow image
11
- */
12
- /*$ui.find('.sb_down').bind('focus click',function()*/
13
- $ui.find('.sb_down').bind('mouseover',function()
14
- {
15
- $ui.find('.sb_down')
16
- .addClass('sb_up')
17
- .removeClass('sb_down')
18
- .andSelf()
19
- .find('.sb_dropdown')
20
- .show();
21
- /*$ui.find('.sb_up')
22
- .hide();*/
23
- });
24
-
25
- /**
26
- * on mouse leave hide the dropdown,
27
- * and change the arrow image
28
- */
29
-
30
- $ui_really.bind('mouseleave',function(){
31
-
32
- $ui.find('.sb_up')
33
- .addClass('sb_down')
34
- .removeClass('sb_up')
35
- .andSelf()
36
- .find('.sb_dropdown')
37
- .hide();
38
- /*$ui.find('.sb_down')
39
- .show();*/
40
- });
41
-
42
- /**
43
- * selecting all checkboxes
44
- */
45
- $ui.find('.sb_dropdown').find('label[for="all"]').prev().bind('click',function(){
46
- $(this).parent().siblings().find(':checkbox').attr('checked',this.checked).attr('disabled',this.checked);
47
- });
48
- });
49
- <% end %>
50
- <div id="wrapper_activities">
51
- <div id="wrapper_activities_header">
52
- <div id="activities_title" class="content_size">
53
- <div class="activities_title_header">
54
- <%= image_tag("btn/activity.png") %><%= t 'activity.title' %>
55
- </div>
56
- </div>
57
- <%= render :partial => 'activities/new', :locals => { :receiver => owner } %>
58
- </div>
59
- <div id="filter_div">
60
- <%= form_tag "/activities/documents", :method => :post ,:id=> 'form_filter', :class => "tie_form",:remote=> true do %>
61
- <span class="sb_down">Filter</span>
62
- <ul class="sb_dropdown" style="display:none;" id="ul_filter">
63
-
64
- <li>
65
- <%= check_box_tag 'types', 'Documents', false, :class => 'accept_tos',:onchange=>'$(\'#form_filter\').submit();'%>
66
- <label for="<%=t('activity.view.documents')%>"><%=t('activity.view.documents')%></label>
67
- </li>
68
- <li>
69
- <%= check_box_tag 'types', 'Audio', false, :class => 'accept_tos',:onchange=>'$(\'#form_filter\').submit();'%>
70
- <label for="t('activity.view.audio')"><%=t('activity.view.audio')%></label>
71
- </li>
72
- <li>
73
- <%= check_box_tag 'types', 'Event', false, :class => 'accept_tos',:onchange=>'$(\'#form_filter\').submit();'%>
74
- <label for="<%=t('activity.view.event')%>"><%=t('activity.view.event')%></label>
75
- </li>
76
- <li>
77
- <%= check_box_tag 'types', 'Picture', false, :class => 'accept_tos',:onchange=>'$(\'#form_filter\').submit();'%>
78
- <label for="<%=t('activity.view.photos')%>"><%=t('activity.view.photos')%></label>
79
- </li>
80
- <li>
81
- <%= check_box_tag 'types', 'Post', false, :class => 'accept_tos',:onchange=>'$(\'#form_filter\').submit();'%>
82
- <label for="<%=t('activity.view.post')%>"><%=t('activity.view.post')%></label>
83
- </li>
84
- <li>
85
- <%= check_box_tag 'types', 'Video', false, :class => 'accept_tos',:onchange=>'$(\'#form_filter\').submit();'%>
86
- <label for="<%=t('activity.view.video')%>"><%=t('activity.view.video')%></label>
87
- </li>
88
- </ul>
89
- <% end %>
90
- </div>
91
- <%= render :partial => 'activities/wall',
92
- :locals => { :activities => activities } %>
93
-
94
- </div>