droom 0.0.1
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.
- data/MIT-LICENSE +20 -0
- data/README.md +23 -0
- data/Rakefile +27 -0
- data/app/assets/images/droom/arrows.png +0 -0
- data/app/assets/images/droom/big_icons.png +0 -0
- data/app/assets/images/droom/blueblob.png +0 -0
- data/app/assets/images/droom/close.png +0 -0
- data/app/assets/images/droom/cross.png +0 -0
- data/app/assets/images/droom/download.png +0 -0
- data/app/assets/images/droom/greyblob.png +0 -0
- data/app/assets/images/droom/help/goodreader.jpg +0 -0
- data/app/assets/images/droom/ical.png +0 -0
- data/app/assets/images/droom/icons.png +0 -0
- data/app/assets/images/droom/medium_icons.png +0 -0
- data/app/assets/images/droom/medium_object_icons.png +0 -0
- data/app/assets/images/droom/minimonth.png +0 -0
- data/app/assets/images/droom/minisymbols.png +0 -0
- data/app/assets/images/droom/object_icons.png +0 -0
- data/app/assets/images/droom/pinkblob.png +0 -0
- data/app/assets/images/droom/place_busy.png +0 -0
- data/app/assets/images/droom/place_quiet.png +0 -0
- data/app/assets/images/droom/plus_bullet.png +0 -0
- data/app/assets/images/droom/search.png +0 -0
- data/app/assets/images/droom/setup.png +0 -0
- data/app/assets/images/droom/small_go.png +0 -0
- data/app/assets/images/droom/smallbullet.png +0 -0
- data/app/assets/images/droom/smallspinner.gif +0 -0
- data/app/assets/images/droom/spinner.gif +0 -0
- data/app/assets/images/droom/spr_toolbar_icons_r2.png +0 -0
- data/app/assets/images/droom/tablesort.png +0 -0
- data/app/assets/images/droom/tick.png +0 -0
- data/app/assets/images/droom/tinysymbols.png +0 -0
- data/app/assets/images/droom/twister.png +0 -0
- data/app/assets/images/droom/vcard.png +0 -0
- data/app/assets/images/droom/venue_bullet.png +0 -0
- data/app/assets/javascripts/droom.js.coffee +88 -0
- data/app/assets/javascripts/droom/calendar.js.coffee +121 -0
- data/app/assets/javascripts/droom/drag_sort.js.coffee +22 -0
- data/app/assets/javascripts/droom/forms.js.coffee +746 -0
- data/app/assets/javascripts/droom/lib/extensions.js.coffee +60 -0
- data/app/assets/javascripts/droom/lib/jquery.animate-colors.js +109 -0
- data/app/assets/javascripts/droom/lib/jquery.cookie.js +71 -0
- data/app/assets/javascripts/droom/lib/jquery.sortable.js +97 -0
- data/app/assets/javascripts/droom/lib/kalendae.js +1692 -0
- data/app/assets/javascripts/droom/lib/modernizr.js +4 -0
- data/app/assets/javascripts/droom/lib/parser_rules/advanced.js +553 -0
- data/app/assets/javascripts/droom/lib/parser_rules/simple.js +32 -0
- data/app/assets/javascripts/droom/lib/wysihtml5.js +9550 -0
- data/app/assets/javascripts/droom/map.js.coffee +123 -0
- data/app/assets/javascripts/droom/sort.js.coffee +126 -0
- data/app/assets/javascripts/droom/suggester.js.coffee +230 -0
- data/app/assets/stylesheets/droom.css.sass +1151 -0
- data/app/assets/stylesheets/lib/_kalendae.css.sass +142 -0
- data/app/assets/stylesheets/lib/_toolbar.css.sass +192 -0
- data/app/controllers/droom/dashboard_controller.rb +27 -0
- data/app/controllers/droom/document_attachments_controller.rb +19 -0
- data/app/controllers/droom/documents_controller.rb +116 -0
- data/app/controllers/droom/engine_controller.rb +43 -0
- data/app/controllers/droom/events_controller.rb +120 -0
- data/app/controllers/droom/group_invitations_controller.rb +47 -0
- data/app/controllers/droom/groups_controller.rb +67 -0
- data/app/controllers/droom/invitations_controller.rb +43 -0
- data/app/controllers/droom/memberships_controller.rb +47 -0
- data/app/controllers/droom/pages_controller.rb +61 -0
- data/app/controllers/droom/people_controller.rb +92 -0
- data/app/controllers/droom/suggestions_controller.rb +58 -0
- data/app/controllers/droom/venues_controller.rb +39 -0
- data/app/helpers/droom/droom_helper.rb +74 -0
- data/app/models/droom/agenda_category.rb +8 -0
- data/app/models/droom/category.rb +27 -0
- data/app/models/droom/document.rb +110 -0
- data/app/models/droom/document_attachment.rb +71 -0
- data/app/models/droom/document_link.rb +31 -0
- data/app/models/droom/event.rb +409 -0
- data/app/models/droom/event_set.rb +6 -0
- data/app/models/droom/group.rb +66 -0
- data/app/models/droom/group_invitation.rb +23 -0
- data/app/models/droom/invitation.rb +30 -0
- data/app/models/droom/membership.rb +27 -0
- data/app/models/droom/page.rb +26 -0
- data/app/models/droom/person.rb +302 -0
- data/app/models/droom/personal_document.rb +98 -0
- data/app/models/droom/recurrence_rule.rb +82 -0
- data/app/models/droom/venue.rb +125 -0
- data/app/views/droom/dashboard/_marginalia.html.haml +3 -0
- data/app/views/droom/dashboard/_my_future_events.html.haml +9 -0
- data/app/views/droom/dashboard/_my_group_documents.html.haml +6 -0
- data/app/views/droom/dashboard/_my_past_events.haml +6 -0
- data/app/views/droom/dashboard/index.html.haml +5 -0
- data/app/views/droom/documents/_created.html.haml +2 -0
- data/app/views/droom/documents/_document.html.haml +14 -0
- data/app/views/droom/documents/_document_line.html.haml +2 -0
- data/app/views/droom/documents/_documents_list.html.haml +31 -0
- data/app/views/droom/documents/_documents_table.html.haml +13 -0
- data/app/views/droom/documents/_event_document_form.html.haml +15 -0
- data/app/views/droom/documents/_form.html.haml +22 -0
- data/app/views/droom/documents/_listing.html.haml +8 -0
- data/app/views/droom/documents/_suggested.html.haml +9 -0
- data/app/views/droom/documents/_table_document.html.haml +31 -0
- data/app/views/droom/documents/edit.html.haml +1 -0
- data/app/views/droom/documents/index.html.haml +29 -0
- data/app/views/droom/documents/new.html.haml +1 -0
- data/app/views/droom/errors/bang.html.haml +12 -0
- data/app/views/droom/errors/not_allowed.html.haml +12 -0
- data/app/views/droom/errors/not_found.html.haml +12 -0
- data/app/views/droom/events/_attachment.html.haml +1 -0
- data/app/views/droom/events/_attachment_list.html.haml +4 -0
- data/app/views/droom/events/_calendar.html.haml +54 -0
- data/app/views/droom/events/_created.html.haml +2 -0
- data/app/views/droom/events/_event.html.haml +77 -0
- data/app/views/droom/events/_event_line.html.haml +13 -0
- data/app/views/droom/events/_events.html.haml +2 -0
- data/app/views/droom/events/_form.html.haml +35 -0
- data/app/views/droom/events/_invitations.html.haml +20 -0
- data/app/views/droom/events/_other_page_parts.html.haml +0 -0
- data/app/views/droom/events/_popup_event.html.haml +6 -0
- data/app/views/droom/events/_suggested.html.haml +12 -0
- data/app/views/droom/events/_views.html.haml +7 -0
- data/app/views/droom/events/edit.html.haml +1 -0
- data/app/views/droom/events/index.html.haml +12 -0
- data/app/views/droom/events/index.rss.builder +20 -0
- data/app/views/droom/events/new.html.haml +1 -0
- data/app/views/droom/events/show.html.haml +4 -0
- data/app/views/droom/group_invitations/_attending_groups.html.haml +8 -0
- data/app/views/droom/group_invitations/_created.html.haml +3 -0
- data/app/views/droom/group_invitations/_form.html.haml +4 -0
- data/app/views/droom/group_invitations/new.html.haml +1 -0
- data/app/views/droom/groups/_created.html.haml +3 -0
- data/app/views/droom/groups/_form.html.haml +12 -0
- data/app/views/droom/groups/_group.html.haml +11 -0
- data/app/views/droom/groups/_groups.html.haml +3 -0
- data/app/views/droom/groups/edit.html.haml +1 -0
- data/app/views/droom/groups/index.html.haml +7 -0
- data/app/views/droom/groups/show.html.haml +13 -0
- data/app/views/droom/invitations/_attending_people.html.haml +8 -0
- data/app/views/droom/invitations/_created.html.haml +3 -0
- data/app/views/droom/invitations/_form.html.haml +5 -0
- data/app/views/droom/invitations/new.html.haml +1 -0
- data/app/views/droom/memberships/_button.html.haml +11 -0
- data/app/views/droom/memberships/_created.html.haml +4 -0
- data/app/views/droom/memberships/_form.html.haml +7 -0
- data/app/views/droom/memberships/_member.html.haml +33 -0
- data/app/views/droom/memberships/_memberships.html.haml +4 -0
- data/app/views/droom/pages/_contents.html.haml +10 -0
- data/app/views/droom/pages/_form.html.haml +36 -0
- data/app/views/droom/pages/_full_page.html.haml +17 -0
- data/app/views/droom/pages/_page.html.haml +5 -0
- data/app/views/droom/pages/_pages.html.haml +2 -0
- data/app/views/droom/pages/admin.html.haml +24 -0
- data/app/views/droom/pages/edit.html.haml +1 -0
- data/app/views/droom/pages/index.html.haml +10 -0
- data/app/views/droom/pages/new.html.haml +4 -0
- data/app/views/droom/pages/show.html.haml +5 -0
- data/app/views/droom/people/_created.html.haml +6 -0
- data/app/views/droom/people/_form.html.haml +40 -0
- data/app/views/droom/people/_people.html.haml +29 -0
- data/app/views/droom/people/_person.html.haml +34 -0
- data/app/views/droom/people/_suggested.html.haml +9 -0
- data/app/views/droom/people/edit.html.haml +1 -0
- data/app/views/droom/people/index.html.haml +11 -0
- data/app/views/droom/people/new.html.haml +1 -0
- data/app/views/droom/people/show.html.haml +1 -0
- data/app/views/droom/shared/_calendar_and_search.html.haml +2 -0
- data/app/views/droom/shared/_calendar_holder.haml +3 -0
- data/app/views/droom/shared/_controls.html.haml +8 -0
- data/app/views/droom/shared/_navigation.html.haml +8 -0
- data/app/views/droom/shared/_search_form.html.haml +4 -0
- data/app/views/droom/shared/_suggestions.html.haml +11 -0
- data/app/views/droom/shared/_toolbar.html.haml +17 -0
- data/app/views/droom/venues/_suggested.html.haml +6 -0
- data/app/views/droom/venues/index.html.haml +6 -0
- data/app/views/droom/venues/show.html.haml +21 -0
- data/app/views/layouts/droom/application.html.haml +36 -0
- data/config/initializers/dav.rb +2 -0
- data/config/initializers/paperclip.rb +26 -0
- data/config/initializers/snail.rb +2 -0
- data/config/locales/en.yml +191 -0
- data/config/routes.rb +51 -0
- data/db/migrate/20120910075016_create_droom_data.rb +134 -0
- data/db/migrate/20120917095804_agenda_sections.rb +13 -0
- data/db/migrate/20120918121352_add_postal_address_to_people.rb +10 -0
- data/db/migrate/20121009075049_give_groups_descriptions.rb +5 -0
- data/db/migrate/20121009105244_more_names.rb +5 -0
- data/db/migrate/20121009145944_event_agenda_sections.rb +13 -0
- data/db/migrate/20121011091230_create_group_invitations.rb +10 -0
- data/db/migrate/20121012144720_give_people_positions.rb +5 -0
- data/db/migrate/20121012154558_help_pages.rb +13 -0
- data/db/migrate/20121012163201_category_slugs.rb +5 -0
- data/db/migrate/20121101160102_document_links.rb +14 -0
- data/db/migrate/20121101181247_people_visibility.rb +7 -0
- data/db/migrate/20121102094738_shy_people.rb +6 -0
- data/db/migrate/20121102095856_visibility_defaults.rb +8 -0
- data/lib/droom.rb +73 -0
- data/lib/droom/dav_resource.rb +36 -0
- data/lib/droom/engine.rb +8 -0
- data/lib/droom/helpers.rb +25 -0
- data/lib/droom/monkeys.rb +15 -0
- data/lib/droom/renderers.rb +13 -0
- data/lib/droom/validators.rb +5 -0
- data/lib/droom/version.rb +3 -0
- data/lib/generators/droom/dashboard/dashboard_generator.rb +16 -0
- data/lib/generators/droom/install/USAGE +9 -0
- data/lib/generators/droom/install/install_generator.rb +15 -0
- data/lib/generators/droom/install/templates/droom_initializer.rb +6 -0
- data/lib/generators/droom/views/views_generator.rb +9 -0
- data/lib/tasks/droom_tasks.rake +4 -0
- metadata +635 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
= form_for [@event, @group_invitation], :html => {:remote => true, :data => {:type => :html}} do |f|
|
|
2
|
+
%input.group_picker{:type => "text", :placeholder => t(:group_name), :autocomplete => "off"}
|
|
3
|
+
= f.hidden_field :group_id, :class => "group_picker_target"
|
|
4
|
+
= link_to t(:cancel), "/", :class => 'cancel'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render :partial => "form"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
= form_for @group, :html => {:class => 'edit group', :remote => true, :data => {:type => :html}} do |f|
|
|
2
|
+
%table.main.groups
|
|
3
|
+
%tr.group
|
|
4
|
+
%th.name
|
|
5
|
+
= f.text_field :name, :class => 'name', :placeholder => t(:group_name)
|
|
6
|
+
%td.description
|
|
7
|
+
= f.text_field :description, :class => 'name', :placeholder => t(:group_description)
|
|
8
|
+
%td.count
|
|
9
|
+
%td.buttons
|
|
10
|
+
= f.submit t(:save)
|
|
11
|
+
= t :or
|
|
12
|
+
= link_to t(:cancel), "/", :class => 'cancel'
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
- group ||= @group
|
|
2
|
+
%tr.group.holder{:id => "group_#{group.id}"}
|
|
3
|
+
%th.name
|
|
4
|
+
= link_to group.name, group
|
|
5
|
+
%td.description= group.description
|
|
6
|
+
%td.count= t(:group_members, :count => group.people.count)
|
|
7
|
+
%td.buttons
|
|
8
|
+
- if admin?
|
|
9
|
+
= link_to t(:edit_group), edit_group_url(group), :class => 'admin edit minimal', :remote => true, :data => {:action => "overlay_form", :type => "html"}
|
|
10
|
+
- if current_user.admin?
|
|
11
|
+
= link_to t(:remove), group_url(group), :method => 'delete', :class => 'admin delete minimal', :remote => 'true', :data => {:confirm => t(:confirm_delete_group, :name => group.name)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render :partial => "form"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#people
|
|
2
|
+
|
|
3
|
+
%h1= @group.name
|
|
4
|
+
|
|
5
|
+
%p
|
|
6
|
+
= @group.description
|
|
7
|
+
|
|
8
|
+
= render :partial => 'droom/memberships/memberships'
|
|
9
|
+
|
|
10
|
+
- if current_user.admin?
|
|
11
|
+
.holder
|
|
12
|
+
%p.admin
|
|
13
|
+
= link_to t(:add_member), droom.new_group_membership_url(@group), :class => "add", :remote => true, :data => {:action => "append_form", :type => "html", :affected => "table.people"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
- event ||= @event
|
|
2
|
+
|
|
3
|
+
.people{ :"data-url" => "#{event_invitations_path(event)}.js", :"data-refreshable" => true}
|
|
4
|
+
- Droom::Person.personally_invited_to_event(event).each do |person|
|
|
5
|
+
%li.person.holder
|
|
6
|
+
= link_to person.name, person_url(person)
|
|
7
|
+
- if admin?
|
|
8
|
+
= link_to t(:remove), event_invitation_path(event, event.invitations.find_by_person_id(person.id)), :remote => true, :method => "delete", :class => 'delete minimal', :data => {:confirm => t(:confirm_uninvite_person, :name => person.name, :event_name => @event.name)}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
= form_for [@event, @invitation], :html => {:remote => true, :data => {:type => :html}} do |f|
|
|
2
|
+
%input.person_picker{:type => "text", :placeholder => t(:person_name), :autocomplete => "off"}
|
|
3
|
+
= f.hidden_field :person_id, :class => "person_picker_target"
|
|
4
|
+
= link_to t(:cancel), "/", :class => 'cancel'
|
|
5
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render :partial => "form"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
- group ||= @group
|
|
2
|
+
- person ||= @person
|
|
3
|
+
- member = Droom::Membership.find_by_person_id_and_group_id(person.id, group.id)
|
|
4
|
+
|
|
5
|
+
.holder
|
|
6
|
+
- if member
|
|
7
|
+
%a.toggle_active{:href => group_membership_path(group, member), :"data-type" => "html", :"data-remote" => "true", :"data-method" => :delete}
|
|
8
|
+
.a_member
|
|
9
|
+
- else
|
|
10
|
+
%a.toggle_active{:href => new_group_membership_path(group, :person_id => person.id), :"data-type" => "html", :"data-remote" => "true"}
|
|
11
|
+
.not_a_member
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
= form_for [@group, @membership], :html => {:remote => true, :data => {:type => :html}} do |f|
|
|
2
|
+
%input.person_picker{:type => "text", :placeholder => t(:person_name), :autocomplete => "off"}
|
|
3
|
+
= f.hidden_field :person_id, :class => "person_picker_target"
|
|
4
|
+
= link_to t(:cancel), "/", :class => 'cancel'
|
|
5
|
+
%p.formnote
|
|
6
|
+
=t :new_membership_instructions, :name => @group.name
|
|
7
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
- membership ||= @membership
|
|
2
|
+
- person = membership.person
|
|
3
|
+
%tr.person.holder{:id => "person_#{person.id}"}
|
|
4
|
+
%td.icon
|
|
5
|
+
%span.placeholder
|
|
6
|
+
|
|
7
|
+
%th.name
|
|
8
|
+
= person.title
|
|
9
|
+
= person.name
|
|
10
|
+
|
|
11
|
+
%td.email
|
|
12
|
+
%p
|
|
13
|
+
= mail_to person.email
|
|
14
|
+
%td.phone
|
|
15
|
+
- if person.phone
|
|
16
|
+
%p
|
|
17
|
+
= person.phone
|
|
18
|
+
- else
|
|
19
|
+
%p.unavailable
|
|
20
|
+
no phone
|
|
21
|
+
/ %td.address
|
|
22
|
+
/ - if person.address?
|
|
23
|
+
/ %p
|
|
24
|
+
/ = person.address.to_html
|
|
25
|
+
/ - else
|
|
26
|
+
/ %p.unavailable
|
|
27
|
+
/ no address
|
|
28
|
+
%td.buttons
|
|
29
|
+
%a{:href => person_url(person, :format => :vcf), :class => 'vcard'}
|
|
30
|
+
/ - if admin?
|
|
31
|
+
/ = link_to t(:edit_person), edit_person_url(person), :class => 'admin edit minimal', :remote => true, :data => {:action => "overlay_form", :type => "html"}
|
|
32
|
+
- if current_user.admin?
|
|
33
|
+
= link_to t(:remove), group_membership_url(@group, Droom::Membership.find_by_group_id_and_person_id(@group.id, person.id)), :method => 'delete', :class => 'admin delete minimal', :remote => 'true', :data => {:confirm => t(:confirm_remove_member, :name => person.name, :group => @group.name)}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
= form_for @page, :html => {:class => 'edit page', :remote => true, :data => {:type => :html}} do |f|
|
|
2
|
+
|
|
3
|
+
%p
|
|
4
|
+
= f.text_field :title, :placeholder => t(:page_title), :class => 'pagetitle'
|
|
5
|
+
|
|
6
|
+
%p
|
|
7
|
+
= f.text_field :slug, :placeholder => t(:page_slug), :class => 'slug'
|
|
8
|
+
%br
|
|
9
|
+
%span.formnote
|
|
10
|
+
= t :page_slug_explanation
|
|
11
|
+
|
|
12
|
+
%p
|
|
13
|
+
= f.text_area :summary, :placeholder => t(:page_summary), :class => 'small'
|
|
14
|
+
%br
|
|
15
|
+
%span.formnote
|
|
16
|
+
= t :page_summary_explanation
|
|
17
|
+
|
|
18
|
+
%p
|
|
19
|
+
= f.text_area :body, :placeholder => t(:page_body), :class => 'large'
|
|
20
|
+
|
|
21
|
+
%p
|
|
22
|
+
= f.text_field :video_id, :placeholder => t(:page_video_id), :class => 'youtube'
|
|
23
|
+
%br
|
|
24
|
+
%span.formnote
|
|
25
|
+
= t :page_youtube_explanation
|
|
26
|
+
|
|
27
|
+
.controls
|
|
28
|
+
.save.button
|
|
29
|
+
= f.submit t(:save), :class => "submit"
|
|
30
|
+
/ = link_to t(:save), '#', :class => 'submit'
|
|
31
|
+
.cancel.button
|
|
32
|
+
- if @page.new_record?
|
|
33
|
+
= link_to t(:cancel), pages_url
|
|
34
|
+
- else
|
|
35
|
+
= link_to t(:cancel), droom.help_page_url(@page.slug)
|
|
36
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
- page ||= @page
|
|
2
|
+
|
|
3
|
+
#help_page.holder
|
|
4
|
+
%h1.pagetitle
|
|
5
|
+
= page.title
|
|
6
|
+
- if admin?
|
|
7
|
+
%span.admin<
|
|
8
|
+
= link_to t(:edit_page), edit_page_url(page), :class => 'edit minimal', :remote => true, :data => {:action => "overlay_form", :type => "html"}
|
|
9
|
+
= link_to t(:remove), page_url(page), :method => 'delete', :class => 'delete minimal', :remote => 'true', :data => {:confirm => t(:confirm_delete_page, :title => page.title), :affected => ".contents"}
|
|
10
|
+
|
|
11
|
+
- if page.video_id?
|
|
12
|
+
.video
|
|
13
|
+
%iframe{:width => 640, :height => 480, :src => "http://www.youtube-nocookie.com/embed/#{page.video_id}?rel=0", :frameborder => 0, :allowfullscreen => true}
|
|
14
|
+
|
|
15
|
+
- if page.body?
|
|
16
|
+
.body
|
|
17
|
+
= page.rendered_body.html_safe
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
- content_for :pagetitle do
|
|
2
|
+
= t :manage_pages
|
|
3
|
+
|
|
4
|
+
#pagetitle
|
|
5
|
+
%h1
|
|
6
|
+
= t :fellows_and_scholars
|
|
7
|
+
%span.addendum
|
|
8
|
+
= t :manage_pages
|
|
9
|
+
|
|
10
|
+
.localnav
|
|
11
|
+
= render :partial => 'people/admin_nav', :locals => {:login => true}
|
|
12
|
+
|
|
13
|
+
#admin.pages
|
|
14
|
+
%p
|
|
15
|
+
= t :manage_pages_introduction
|
|
16
|
+
|
|
17
|
+
%h3
|
|
18
|
+
= link_to t(:add_page), new_page_url
|
|
19
|
+
|
|
20
|
+
= render :partial => 'page', :collection => @pages, :locals => {:show_admin => true}
|
|
21
|
+
|
|
22
|
+
.pagination
|
|
23
|
+
= paginate @pages
|
|
24
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render :partial => 'form'
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
- if current_user.admin?
|
|
2
|
+
.holder
|
|
3
|
+
%p.admin
|
|
4
|
+
= link_to t(:add_page), droom.new_page_url, :class => "add", :remote => true, :data => {:action => "append_form", :type => "html", :affected => ".page_list"}
|
|
5
|
+
|
|
6
|
+
#help_pages
|
|
7
|
+
%h1.pagetitle
|
|
8
|
+
=t(:help_pages)
|
|
9
|
+
|
|
10
|
+
= render :partial => "pages"
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
= form_for @person, :html => {:class => 'edit person', :remote => true, :data => {:type => :html}} do |f|
|
|
2
|
+
%table.main.people
|
|
3
|
+
%tr.person
|
|
4
|
+
%td.icon
|
|
5
|
+
%span
|
|
6
|
+
%th.name
|
|
7
|
+
= f.text_field :title, :class => 'title', :placeholder => t(:person_title)
|
|
8
|
+
- if Droom.use_forenames
|
|
9
|
+
= f.text_field :forename, :class => 'forename', :placeholder => t(:person_forename)
|
|
10
|
+
= f.text_field :name, :class => 'name', :placeholder => t(:person_surname)
|
|
11
|
+
- else
|
|
12
|
+
= f.text_field :name, :class => 'name', :placeholder => t(:person_name)
|
|
13
|
+
%br
|
|
14
|
+
- if @person.new_record?
|
|
15
|
+
= f.check_box :invite_on_creation, :class => 'invite'
|
|
16
|
+
= f.label :invite_on_creation
|
|
17
|
+
= f.check_box :admin_user
|
|
18
|
+
= f.label :admin_user
|
|
19
|
+
|
|
20
|
+
%td.email
|
|
21
|
+
= f.email_field :email, :class => 'email', :placeholder => t(:person_email)
|
|
22
|
+
%td.phone
|
|
23
|
+
= f.text_field :phone, :class => 'phone', :placeholder => t(:person_phone)
|
|
24
|
+
/ %td.address
|
|
25
|
+
/ = f.text_field :post_line1, :class => 'post_line1', :placeholder => t(:person_post_line1)
|
|
26
|
+
/ %br
|
|
27
|
+
/ = f.text_field :post_line2, :class => 'post_line2', :placeholder => t(:person_post_line2)
|
|
28
|
+
/ %br
|
|
29
|
+
/ = f.text_field :post_city, :class => 'post_city', :placeholder => t(:person_post_city)
|
|
30
|
+
/ %br
|
|
31
|
+
/ = f.text_field :post_region, :class => 'post_region', :placeholder => t(:person_post_region)
|
|
32
|
+
/ %br
|
|
33
|
+
/ = f.text_field :post_country, :class => 'post_country', :placeholder => t(:person_post_country)
|
|
34
|
+
/ %br
|
|
35
|
+
/ = f.text_field :post_code, :class => 'post_code', :placeholder => t(:person_post_code)
|
|
36
|
+
%td.buttons
|
|
37
|
+
= f.submit t(:save)
|
|
38
|
+
= t :or
|
|
39
|
+
= link_to t(:cancel), "/", :class => 'cancel'
|
|
40
|
+
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
%table.main.people{:data => {:refreshable => true, :url => "#{people_path}.js"}}
|
|
2
|
+
%thead
|
|
3
|
+
%tr
|
|
4
|
+
%th
|
|
5
|
+
%th
|
|
6
|
+
%th
|
|
7
|
+
%th
|
|
8
|
+
- if current_user.admin?
|
|
9
|
+
- @groups.each do |group|
|
|
10
|
+
%th.group.admin
|
|
11
|
+
.rotate
|
|
12
|
+
= truncate(group.name, :length => 12)
|
|
13
|
+
%th.admin
|
|
14
|
+
.rotate
|
|
15
|
+
= t :edit
|
|
16
|
+
%th.admin
|
|
17
|
+
.rotate
|
|
18
|
+
= t :delete
|
|
19
|
+
|
|
20
|
+
%tbody.drag_sort
|
|
21
|
+
- if @people.any?
|
|
22
|
+
- @people.each do |p|
|
|
23
|
+
= render :partial => 'person', :object => p
|
|
24
|
+
- else
|
|
25
|
+
%tr
|
|
26
|
+
%td{:colspan => 4}
|
|
27
|
+
%p.nothing_to_see
|
|
28
|
+
= t :no_people
|
|
29
|
+
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
- person ||= @person
|
|
2
|
+
- cssclass = "placeholder"
|
|
3
|
+
- cssclass << " invited" if person.has_invited_user?
|
|
4
|
+
- cssclass << " active" if person.has_active_user?
|
|
5
|
+
|
|
6
|
+
%tr.person.holder{:id => "person_#{person.id}"}
|
|
7
|
+
%td.icon.handle
|
|
8
|
+
%span{:class => cssclass}
|
|
9
|
+
|
|
10
|
+
%th.name
|
|
11
|
+
= person.formal_name
|
|
12
|
+
|
|
13
|
+
%td.email
|
|
14
|
+
%p
|
|
15
|
+
= mail_to person.email
|
|
16
|
+
%td.phone
|
|
17
|
+
- if person.phone
|
|
18
|
+
%p
|
|
19
|
+
= person.phone
|
|
20
|
+
- else
|
|
21
|
+
%p.unavailable
|
|
22
|
+
no phone
|
|
23
|
+
- if admin?
|
|
24
|
+
- @groups.each do |group|
|
|
25
|
+
%td.group.admin
|
|
26
|
+
= render :partial => 'droom/memberships/button', :locals => {:group => group, :person => person}
|
|
27
|
+
- unless admin?
|
|
28
|
+
%td.buttons
|
|
29
|
+
%a{:href => person_url(person, :format => :vcf), :class => 'vcard'}
|
|
30
|
+
- if admin?
|
|
31
|
+
%td.admin
|
|
32
|
+
= link_to t(:edit_person), edit_person_url(person), :class => 'admin edit minimal', :remote => true, :data => {:action => "overlay_form", :type => "html"}
|
|
33
|
+
%td.admin
|
|
34
|
+
= link_to t(:remove), person_url(person), :method => 'delete', :class => 'admin delete minimal', :remote => 'true', :data => {:confirm => t(:confirm_delete_person, :name => person.name)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render :partial => 'form'
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#people
|
|
2
|
+
- if current_user.admin?
|
|
3
|
+
.holder
|
|
4
|
+
%p.admin
|
|
5
|
+
= link_to t(:add_person), droom.new_person_url, :class => "add", :remote => true, :data => {:action => "append_form", :type => "html", :affected => "table.people"}
|
|
6
|
+
= link_to t(:manage_groups), droom.groups_url, :class => "edit"
|
|
7
|
+
|
|
8
|
+
%p
|
|
9
|
+
= link_to "Download this list to your address book", directory_url(:format => :vcf), :class => 'vcard download'
|
|
10
|
+
|
|
11
|
+
= render :partial => "people"
|