conschedule 0.1.0
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 +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +154 -0
- data/Rakefile +37 -0
- data/app/assets/config/conschedule_manifest.js +2 -0
- data/app/assets/fonts/icomoon.eot +0 -0
- data/app/assets/fonts/proxima_nova_100.eot +0 -0
- data/app/assets/fonts/proxima_nova_400.eot +0 -0
- data/app/assets/fonts/proxima_nova_700.eot +0 -0
- data/app/assets/images/conschedule/chosen-sprite-small.png +0 -0
- data/app/assets/images/conschedule/chosen-sprite.png +0 -0
- data/app/assets/images/conschedule/close.png +0 -0
- data/app/assets/images/conschedule/spinner-small.gif +0 -0
- data/app/assets/images/conschedule/spinner.gif +0 -0
- data/app/assets/javascripts/conschedule/application.js +22 -0
- data/app/assets/javascripts/conschedule/calendar.js +467 -0
- data/app/assets/javascripts/conschedule/date.js +104 -0
- data/app/assets/javascripts/conschedule/form.js +53 -0
- data/app/assets/javascripts/conschedule/home.js +149 -0
- data/app/assets/javascripts/conschedule/jquery-ui-datepicker.min.js +1674 -0
- data/app/assets/javascripts/conschedule/jquery.easing.min.js +44 -0
- data/app/assets/javascripts/conschedule/jquery.validate.js +1532 -0
- data/app/assets/javascripts/conschedule/js_time_zone.js +1433 -0
- data/app/assets/javascripts/conschedule/moment-timezone.js +1209 -0
- data/app/assets/javascripts/conschedule/moment.js +4195 -0
- data/app/assets/javascripts/conschedule/schedules.js +22 -0
- data/app/assets/javascripts/conschedule/time_zones_drop_down.js +609 -0
- data/app/assets/stylesheets/conschedule/application.css +4 -0
- data/app/assets/stylesheets/conschedule/common.css +816 -0
- data/app/assets/stylesheets/conschedule/home.css +2441 -0
- data/app/assets/stylesheets/conschedule/main.css +884 -0
- data/app/assets/stylesheets/conschedule/schedules.css +4 -0
- data/app/controllers/conschedule/application_controller.rb +49 -0
- data/app/controllers/conschedule/schedules_controller.rb +125 -0
- data/app/helpers/conschedule/application_helper.rb +15 -0
- data/app/helpers/conschedule/schedules_helper.rb +43 -0
- data/app/jobs/conschedule/application_job.rb +4 -0
- data/app/mailers/conschedule/schedules_mailer.rb +46 -0
- data/app/models/conschedule/application_record.rb +5 -0
- data/app/models/conschedule/schedule.rb +63 -0
- data/app/views/conschedule/schedules/_confirmation.html.erb +38 -0
- data/app/views/conschedule/schedules/_page_one.html.erb +75 -0
- data/app/views/conschedule/schedules/_page_three.html.erb +94 -0
- data/app/views/conschedule/schedules/_page_two.html.erb +22 -0
- data/app/views/conschedule/schedules/_schedules.html.erb +122 -0
- data/app/views/conschedule/schedules/create.js.erb +11 -0
- data/app/views/conschedule/schedules/index.html.erb +123 -0
- data/app/views/conschedule/schedules/index.js.erb +3 -0
- data/app/views/conschedule/schedules/new.html.erb +11 -0
- data/app/views/conschedule/schedules_mailer/send_cancel_email_owner.html.erb +61 -0
- data/app/views/conschedule/schedules_mailer/send_cancel_email_user.html.erb +29 -0
- data/app/views/conschedule/schedules_mailer/send_confirmation_email_owner.html.erb +77 -0
- data/app/views/conschedule/schedules_mailer/send_confirmation_email_user.html.erb +30 -0
- data/app/views/kaminari/custom_theme/_first_page.html.erb +3 -0
- data/app/views/kaminari/custom_theme/_gap.html.erb +1 -0
- data/app/views/kaminari/custom_theme/_last_page.html.erb +3 -0
- data/app/views/kaminari/custom_theme/_next_page.html.erb +1 -0
- data/app/views/kaminari/custom_theme/_page.html.erb +5 -0
- data/app/views/kaminari/custom_theme/_paginator.html.erb +23 -0
- data/app/views/kaminari/custom_theme/_prev_page.html.erb +1 -0
- data/app/views/layouts/conschedule/application.html.erb +14 -0
- data/app/views/layouts/conschedule/mailer.html.erb +11 -0
- data/app/views/layouts/conschedule/schedules.html.erb +14 -0
- data/config/initializers/assets.rb +11 -0
- data/config/routes.rb +11 -0
- data/db/migrate/20160812085505_create_conschedule_schedules.rb +27 -0
- data/lib/conschedule.rb +34 -0
- data/lib/conschedule/configuration.rb +25 -0
- data/lib/conschedule/engine.rb +5 -0
- data/lib/conschedule/gem_dependencies.rb +2 -0
- data/lib/conschedule/version.rb +3 -0
- data/lib/generators/conschedule/install_generator.rb +23 -0
- data/lib/generators/conschedule/views_generator.rb +45 -0
- data/lib/generators/templates/README +40 -0
- data/lib/generators/templates/initializer.rb +25 -0
- data/lib/tasks/conschedule_tasks.rake +4 -0
- metadata +182 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
<div id="main-region">
|
|
2
|
+
<div>
|
|
3
|
+
<div class="header">
|
|
4
|
+
<div class="js-profile-region">
|
|
5
|
+
<div class="wrapper">
|
|
6
|
+
<div class="step-back icon-arrow-left js-step-back"> </div>
|
|
7
|
+
<div class="label">
|
|
8
|
+
<%= @page_info[:main_heading] %>
|
|
9
|
+
<div class="js-popover-region"></div>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
<hr class="mbl">
|
|
15
|
+
<div class="wrapper">
|
|
16
|
+
<div class="notification js-event-error-block mbl" style="display: none;">
|
|
17
|
+
<span class="js-event-error-message"></span>
|
|
18
|
+
<a class="button ghost js-step-back">Find a new spot</a>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="row adaptive">
|
|
21
|
+
<div class="col1of2 hidden-phone prm mbm">
|
|
22
|
+
<div class="mbs row">
|
|
23
|
+
<% unless @page_info[:purpose].blank? %>
|
|
24
|
+
<div class="marker" style="background-color: #fff200"></div>
|
|
25
|
+
<div class="last-col">
|
|
26
|
+
<h2><%= @page_info[:purpose] %></h2>
|
|
27
|
+
</div>
|
|
28
|
+
<% end %>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="iconed-text emphasis slot-details"></div>
|
|
31
|
+
<div class="iconed-text tz-details"></div>
|
|
32
|
+
<div class="iconed-text">
|
|
33
|
+
<% unless @page_info[:instructions].blank? %>
|
|
34
|
+
<i class="icon-description"></i>
|
|
35
|
+
<div class="last-col">
|
|
36
|
+
<%= @page_info[:instructions] %>
|
|
37
|
+
</div>
|
|
38
|
+
<% end %>
|
|
39
|
+
</div>
|
|
40
|
+
<div class="iconed-text">
|
|
41
|
+
<% unless @page_info[:location_details].blank? %>
|
|
42
|
+
<i class="icon-location-target"></i>
|
|
43
|
+
<div class="last-col">
|
|
44
|
+
<%= @page_info[:location_details] %>
|
|
45
|
+
</div>
|
|
46
|
+
<% end %>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="col1of2 plm">
|
|
50
|
+
<div class="error_explanation"></div>
|
|
51
|
+
<h2 class="mbm">Enter Details</h2>
|
|
52
|
+
<%= f.hidden_field :slot_start_time %>
|
|
53
|
+
<%= f.hidden_field :slot_end_time %>
|
|
54
|
+
<%= f.hidden_field :app_tz_offset %>
|
|
55
|
+
<%= f.hidden_field :user_tz_offset %>
|
|
56
|
+
<div class="row">
|
|
57
|
+
<div class="col1of2 prs">
|
|
58
|
+
<div class="field mbm">
|
|
59
|
+
<label>First Name *</label>
|
|
60
|
+
<%= f.text_field :first_name, autocomplete: "off", autocorrect: "off", maxlength: "155" %>
|
|
61
|
+
<span data-error="first_name"></span>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="col1of2 pls">
|
|
65
|
+
<div class="field mbm">
|
|
66
|
+
<label>Last Name</label>
|
|
67
|
+
<%= f.text_field :last_name, autocomplete: "off", autocorrect: "off", maxlength: "155" %>
|
|
68
|
+
<span data-error="last_name"></span>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
<div class="field mbm">
|
|
73
|
+
<label>Your phone *</label>
|
|
74
|
+
<%= f.text_field :phone, autocomplete: "off" %>
|
|
75
|
+
<span data-error="phone"></span>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="field mbm">
|
|
78
|
+
<label>Your e-mail address *</label>
|
|
79
|
+
<%= f.text_field :email, autocomplete: "off" %>
|
|
80
|
+
<span data-error="email"></span>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="field mbm">
|
|
83
|
+
<label>Message</label>
|
|
84
|
+
<%= f.text_area :message, autocomplete: "off", maxlength: "255", class: "js-input" %>
|
|
85
|
+
<span data-error="message"></span>
|
|
86
|
+
</div>
|
|
87
|
+
<div class="ptm">
|
|
88
|
+
<%= f.submit "Schedule Event", :class => "button schedule-event" %>
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<div id="main-region">
|
|
2
|
+
<div>
|
|
3
|
+
<div class="header">
|
|
4
|
+
<div class="wrapper">
|
|
5
|
+
<div class="step-back icon-arrow-left js-step-back"> </div>
|
|
6
|
+
<h2 class="selected_day"></h2>
|
|
7
|
+
<div class="mbm selected_date"></div>
|
|
8
|
+
<div class="mbl selected_tz"></div>
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
11
|
+
<hr class="mbl">
|
|
12
|
+
<div class="wrapper narrow">
|
|
13
|
+
<div class="text-center mbm">
|
|
14
|
+
</div>
|
|
15
|
+
<div class="row mbm">
|
|
16
|
+
<h2 class="left">Select a Time</h2>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="js-spot-list mbl">
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
<ul class="date-list mbl">
|
|
2
|
+
<% unless @grouped.blank? %>
|
|
3
|
+
<% @grouped.each do |key,values| %>
|
|
4
|
+
<li class="date">
|
|
5
|
+
<div class="heading">
|
|
6
|
+
<%= fdtime(key.to_date,:date) %>
|
|
7
|
+
<% if is_today?(key.to_date,@page_info[:system_time_zone]) %>
|
|
8
|
+
<strong class="mls">
|
|
9
|
+
TODAY
|
|
10
|
+
</strong>
|
|
11
|
+
<% end %>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="js-events-region">
|
|
14
|
+
<div class="event-list">
|
|
15
|
+
<% values.each do |value| %>
|
|
16
|
+
<div class="event <%= value.status %> collapsed">
|
|
17
|
+
<div class="js-title-region js-content-toggle">
|
|
18
|
+
<div class="title row">
|
|
19
|
+
<div class="duration ">
|
|
20
|
+
<div>
|
|
21
|
+
<span class="h4 time">
|
|
22
|
+
<%= slot_start_end_time(value,"app") %>
|
|
23
|
+
</span>
|
|
24
|
+
<span class="marker" style="background: #fff200;"></span>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="locked-time muted">
|
|
27
|
+
<%= slot_start_end_time(value,"user") %> (<%= value.user_time_zone %>)
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="description">
|
|
31
|
+
<div class="toggle">
|
|
32
|
+
<div class="expand">
|
|
33
|
+
Details
|
|
34
|
+
<i class="icon-angle-down"></i>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="collapse">
|
|
37
|
+
Close
|
|
38
|
+
<i class="icon-close"></i>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="primary">
|
|
42
|
+
<a class="h4">
|
|
43
|
+
<strong class="user-name">
|
|
44
|
+
<%= value.full_name %>
|
|
45
|
+
</strong>
|
|
46
|
+
</a>
|
|
47
|
+
<span class="muted">with you</span>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="secondary">
|
|
50
|
+
Event type
|
|
51
|
+
<strong class="schedule-name"><%= value.event_name %></strong>
|
|
52
|
+
</div>
|
|
53
|
+
<% if value.cancelled? %>
|
|
54
|
+
<div class="pts">
|
|
55
|
+
<small class="text-danger">
|
|
56
|
+
Cancel Message:
|
|
57
|
+
</small>
|
|
58
|
+
<small class="muted">
|
|
59
|
+
<%= cancel_reason(value) %>
|
|
60
|
+
</small>
|
|
61
|
+
</div>
|
|
62
|
+
<% end %>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="details row js-content-body">
|
|
67
|
+
<div class="controls">
|
|
68
|
+
<% if value.display_action? %>
|
|
69
|
+
<a class="action-button js-cancel-event-button" href="" data-sch-id="<%= value.id %>">
|
|
70
|
+
<i class="icon-trash"></i>
|
|
71
|
+
<span class="label">
|
|
72
|
+
Cancel Event
|
|
73
|
+
</span>
|
|
74
|
+
</a>
|
|
75
|
+
<% end %>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="content pvm">
|
|
78
|
+
<div class="entry">
|
|
79
|
+
<label>
|
|
80
|
+
Email
|
|
81
|
+
</label>
|
|
82
|
+
<div>
|
|
83
|
+
<%= value.email %>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
<div class="entry">
|
|
87
|
+
<label>
|
|
88
|
+
Location
|
|
89
|
+
</label>
|
|
90
|
+
<div class="text-wrap">
|
|
91
|
+
<%= value.location_details %>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
<div class="timestamp">
|
|
95
|
+
created <%= fdtime(value.created_at,:month_date) %>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
<% end %>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
</li>
|
|
104
|
+
<% end %>
|
|
105
|
+
<% else %>
|
|
106
|
+
<div class="centered muted ptl">
|
|
107
|
+
<% if @filters_applied %>
|
|
108
|
+
<h3 class="pvl">
|
|
109
|
+
<%= @filter_message %> matching the filtered criteria.
|
|
110
|
+
</h3>
|
|
111
|
+
<h3 class="pbl">
|
|
112
|
+
Suggestion:
|
|
113
|
+
<a class="js-reset-filters">reset filters </a>to see all <%= @suggestion_message %>.
|
|
114
|
+
</h3>
|
|
115
|
+
<% else %>
|
|
116
|
+
<h3 class="pvl">
|
|
117
|
+
<%= @filter_message %>
|
|
118
|
+
</h3>
|
|
119
|
+
<% end %>
|
|
120
|
+
</div>
|
|
121
|
+
<% end %>
|
|
122
|
+
</ul>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
$(".error_explanation").html("")
|
|
2
|
+
<% unless @schedule.errors.any? %>
|
|
3
|
+
$(".page-loaded").html("<%= escape_javascript(render 'confirmation') %>")
|
|
4
|
+
<% else %>
|
|
5
|
+
$(".error_explanation").append("<h2><%= pluralize(@schedule.errors.count, 'error')%> prohibited this form from being saved:</h2>")
|
|
6
|
+
$(".error_explanation").append("<p class='error-heading'>There were problems with the following fields:</p>")
|
|
7
|
+
$(".error_explanation").append("<ul class='form-errors'></ul>")
|
|
8
|
+
<% @schedule.errors.full_messages.each do |message| %>
|
|
9
|
+
$("ul.form-errors").append($("<li />").html("<%= message.html_safe %>"))
|
|
10
|
+
<% end %>
|
|
11
|
+
<% end %>
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
<div id="popup-region"></div>
|
|
2
|
+
<div class="main-wrapper">
|
|
3
|
+
<div class="body-content">
|
|
4
|
+
<div id="main-region" id="main-region">
|
|
5
|
+
<div class="dashboard">
|
|
6
|
+
<div class="controls">
|
|
7
|
+
<div class="wrapper">
|
|
8
|
+
<div class="scopes-row">
|
|
9
|
+
<div class="js-scope-filter-region">
|
|
10
|
+
<div class="tabs">
|
|
11
|
+
<div class="tab active" data-value="user">
|
|
12
|
+
My Schedules
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="js-daterangepicker-region">
|
|
17
|
+
<div class="daterange">
|
|
18
|
+
<div class="js-daterangepicker-toggle">
|
|
19
|
+
<%= @date_range_label %>
|
|
20
|
+
<i class="icon-angle-down"></i>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="event-types-row">
|
|
26
|
+
<div class="js-event-types-region left">
|
|
27
|
+
<div class="quick-menu"></div>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="js-filters-toggle-region last-col">
|
|
30
|
+
<div class="filters-toggle scope-user">
|
|
31
|
+
<span class="js-filters-toggle right">
|
|
32
|
+
<small class="label filter-label">Show Filter</small>
|
|
33
|
+
<i class="icon-manage"></i>
|
|
34
|
+
</span>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
<div class="filters-row">
|
|
40
|
+
<div class="wrapper js-nested-filters-region" style="display:none;">
|
|
41
|
+
<div class="filters row">
|
|
42
|
+
<div class="row annotation">
|
|
43
|
+
<small>Show me events matching:</small>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="row">
|
|
46
|
+
<div class="filters-list js-filters-list">
|
|
47
|
+
<div class="filter">
|
|
48
|
+
<div class="name">Status</div>
|
|
49
|
+
<span class="label muted js-label events-tab">
|
|
50
|
+
Active Events
|
|
51
|
+
<i class="icon-angle-down"></i>
|
|
52
|
+
</span>
|
|
53
|
+
<div class="js-content-region event-options" style="display:none;">
|
|
54
|
+
<div class="options-dropdown">
|
|
55
|
+
<div style="max-height: 260px;" class="scroller">
|
|
56
|
+
<ul class="checkbox-list js-filter-items">
|
|
57
|
+
<li class="checkbox-group">
|
|
58
|
+
<div class="present-items plm js-present-items-region">
|
|
59
|
+
<ul>
|
|
60
|
+
<li>
|
|
61
|
+
<div class="checkbox">
|
|
62
|
+
<input checked="checked" class="js-checkbox filter-active" id="option-c514" type="checkbox" data-filter-type="active">
|
|
63
|
+
<label for="option-c514">
|
|
64
|
+
Active events
|
|
65
|
+
</label>
|
|
66
|
+
</div>
|
|
67
|
+
</li>
|
|
68
|
+
<li>
|
|
69
|
+
<div class="checkbox">
|
|
70
|
+
<input class="js-checkbox filter-cancel" id="option-c515" type="checkbox" data-filter-type="canceled">
|
|
71
|
+
<label for="option-c515">
|
|
72
|
+
Cancelled events
|
|
73
|
+
</label>
|
|
74
|
+
</div>
|
|
75
|
+
</li>
|
|
76
|
+
</ul>
|
|
77
|
+
</div>
|
|
78
|
+
<div class="plm js-deleted-items-region"></div>
|
|
79
|
+
</li>
|
|
80
|
+
</ul>
|
|
81
|
+
<div class="empty muted hidden js-search-empty">
|
|
82
|
+
No Status match your search.
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
<div class="decision centered">
|
|
86
|
+
<button class="mrs js-apply">Apply</button>
|
|
87
|
+
<button class="hollow js-close">Cancel</button>
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
<span class="ghost-action js-clear-filters" style="display:none;">
|
|
94
|
+
Reset Filters
|
|
95
|
+
</span>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
<div class="wrapper">
|
|
102
|
+
<div class="js-summary-region pagination-summary">
|
|
103
|
+
<div class="row muted">
|
|
104
|
+
<% unless @grouped.blank? %>
|
|
105
|
+
<strong class="pagination-entries">
|
|
106
|
+
<%= page_entries_info @schedules, entry_name: 'Event' %>
|
|
107
|
+
</strong>
|
|
108
|
+
<% end %>
|
|
109
|
+
</div>
|
|
110
|
+
</div>
|
|
111
|
+
<div class="js-results-region">
|
|
112
|
+
<div class="schedule">
|
|
113
|
+
<%= render 'schedules' %>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
<div class="schedule-pagination">
|
|
117
|
+
<%= paginate @schedules, theme: 'custom_theme', remote: true %>
|
|
118
|
+
</div>
|
|
119
|
+
</div>
|
|
120
|
+
</div>
|
|
121
|
+
</div>
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
$('.schedule').html("<%= escape_javascript(render 'schedules') %>");
|
|
2
|
+
$('.schedule-pagination').html("<%= escape_javascript(paginate(@schedules, theme: 'custom_theme', remote: true).to_s) %>");
|
|
3
|
+
$('.pagination-entries').html("<%= escape_javascript(page_entries_info(@schedules, entry_name: 'Events')) %>");
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<%= form_for @schedule, remote: true, html: {class: 'schedule_wizard'} do |f| %>
|
|
2
|
+
<fieldset class="section-division">
|
|
3
|
+
<%= render 'page_one', f: f %>
|
|
4
|
+
</fieldset>
|
|
5
|
+
<fieldset class="section-division">
|
|
6
|
+
<%= render 'page_two' %>
|
|
7
|
+
</fieldset>
|
|
8
|
+
<fieldset class="section-division">
|
|
9
|
+
<%= render 'page_three', f: f %>
|
|
10
|
+
</fieldset>
|
|
11
|
+
<% end %>
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<div bgcolor="#ffffff" style="background-color:#ffffff">
|
|
2
|
+
<div style="padding:20px 0;margin:0 auto;max-width:600px">
|
|
3
|
+
<table style="width:80%;margin:0 auto;padding-bottom:20px;border-bottom:1px dashed #dadada">
|
|
4
|
+
<tbody>
|
|
5
|
+
<tr>
|
|
6
|
+
<td style="text-align:center">
|
|
7
|
+
</td>
|
|
8
|
+
</tr>
|
|
9
|
+
</tbody>
|
|
10
|
+
</table>
|
|
11
|
+
<table style="width:80%;margin:30px auto 0;font-size:16px">
|
|
12
|
+
<tbody>
|
|
13
|
+
<tr>
|
|
14
|
+
<td style="color:#666a7a;line-height:22px">
|
|
15
|
+
<p>Hi <%= Conschedule.contact_name %>,</p>
|
|
16
|
+
<p style="margin-top:20px">The event below has been canceled.</p>
|
|
17
|
+
<p style="margin-top:20px">
|
|
18
|
+
<strong style="font-size:14px">Invitee:</strong>
|
|
19
|
+
<br>
|
|
20
|
+
<span style="font-size:16px"><%= @schedule.full_name %></span>
|
|
21
|
+
</p>
|
|
22
|
+
<p style="margin-top:20px">
|
|
23
|
+
<strong style="font-size:14px">Invitee Email:</strong>
|
|
24
|
+
<br>
|
|
25
|
+
<span style="font-size:16px">
|
|
26
|
+
<a href="mailto:<%= @schedule.email %>" target="_blank"><%= @schedule.email %></a>
|
|
27
|
+
</span>
|
|
28
|
+
</p>
|
|
29
|
+
<p style="margin-top:20px">
|
|
30
|
+
<strong style="font-size:14px">Event Date/Time:</strong>
|
|
31
|
+
<br>
|
|
32
|
+
<span style="font-size:16px">
|
|
33
|
+
<span tabindex="0">
|
|
34
|
+
<span><%= @slot_start_time.strftime("%-l:%M%P") %></span>
|
|
35
|
+
</span> -
|
|
36
|
+
<span tabindex="0">
|
|
37
|
+
<span><%= @schedule.slot_start_time.strftime("%A, %B %-d, %Y") %></span>
|
|
38
|
+
</span> (<%= @schedule.app_tz_offset %>)
|
|
39
|
+
</span>
|
|
40
|
+
</p>
|
|
41
|
+
<% unless @schedule.cancel_reason.blank? %>
|
|
42
|
+
<p style="margin-top:20px;color:#e41600">
|
|
43
|
+
<strong style="font-size:14px">Cancellation Reason:</strong>
|
|
44
|
+
<br>
|
|
45
|
+
<span style="font-size:16px"><%= @schedule.cancel_reason %></span>
|
|
46
|
+
</p>
|
|
47
|
+
<% end %>
|
|
48
|
+
</td>
|
|
49
|
+
</tr>
|
|
50
|
+
</tbody>
|
|
51
|
+
</table>
|
|
52
|
+
<table style="width:80%;margin:30px auto;border-top:1px dashed #dadada">
|
|
53
|
+
<tbody>
|
|
54
|
+
<tr>
|
|
55
|
+
<td style="color:#a8a8a8;padding-top:15px">
|
|
56
|
+
</td>
|
|
57
|
+
</tr>
|
|
58
|
+
</tbody>
|
|
59
|
+
</table>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|