This is the report used for the kiosk display using this github project: https://github.com/pastorhudson/pco-services-display I built this as a fun side project with Steve Otto. Steve provided instructions on how he makes it auto update on the screen on mac: https://wiki.rcalvary.org/knowledge-base/volunteer-schedule-on-tv/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<!--
Important: This report is only intended to work with Split Teams.
Regular Teams will print, but anyone scheudled under those will print for all of your times, even if they have been manually unassigned from individual times.
-->
<!--
QUICK CUSTOMIZATION:
TO FORCE A PAGE BREAK AFTER EACH TIME, SET THIS TO TRUE
{% assign force_page_break = false %}
TO ONLY PRINT SPECIFIC TEAMS SET THIS TO false
{% assign all_categories = true %}
SET INDIVIDUAL TEAMS OF PEOPLE TO PRINT (and set above to false)
{% array my_categories = "A/V", "Band", "First Impressions" %}
INTERNAL CODE
MULTI-DAY?
{% for time in plan.plan_times %}
{% assign current_day = time.starts_at | date: "%a" %}
{% if last_day and current_day != last_day %}
{% assign multi_day = true %}
{% endif %}
{% assign last_day = current_day %}
{% endfor %}
-->
<html>
<head>
<title>{{ plan.ministry.name }}:: {{ plan.dates }}</title>
<style>
* { font-family: Verdana, Arial; font-size: 10pt; }
body { padding:0; margin:0; }
table#header { width: 100%; border: none; padding: 0; border-collapse: collapse;}
table#header td { padding: 2px; vertical-align: top; }
H1 { text-align: center; padding: 0; margin: 0; font-size: 28pt; }
H2 { text-align: center; padding: 0; margin: 0; font-size: 18pt; }
H3 { text-align: center; padding: 0; margin: 0; font-size: 12pt; font-style: italic; }
H4 { text-align: center; padding: 0; margin: 0; font-size: 10pt }
PRE { margin: 0; padding: 0; white-space: pre-wrap; }
.ministry_title { font-size: 12pt; }
.plan_dates { font-weight: bold; font-size: 14pt; }
.people_category { clear: both; border-bottom: solid 1px lightgrey; padding-top: 10px; font-weight: bold; font-size: 12pt; }
.time_heading { clear: both; padding-top: 20px; font-weight: bold; font-size: 16pt; }
.time { clear: both; padding-bottom: 20px; }
.position {
width: 170px;
display: inline-block;
vertical-align: top;
margin-bottom: 5px;
font-size: 9pt;
/* For IE 7 */
zoom: 1;
*display: inline;
}
.icon-question{
display: inline-block;
color: #fff;
text-align: center;
font-size: 1em;
background: #666;
border-radius: 50%;
width: 1em;
height: 1em;
line-height: 1em;
padding: .1em; }
.person { font-size: 9pt; font-weight: bold; }
.column_break {column-break-after: always;}
</style>
</head>
<body>
{% for time in plan.plan_times %}
{% if time.name != '' %}
{% if multi_day %}
{% assign time_formatted = time.name %}
{% assign time_split_team = time.starts_at | date: "%a %-I:%M %p" | replace: " AM","a" | replace: " PM","p" %}
{% else %}
{% assign time_formatted = time.name %}
{% assign time_split_team = time.starts_at | date: "%-I:%M %p" | replace: " AM","a" | replace: " PM","p" %}
{% endif %}
{% else %}
{% if multi_day %}
{% assign time_formatted = time.starts_at | date: "%a %-I:%M %p" | replace: " AM","a" | replace: " PM","p" %}
{% assign time_split_team = time.starts_at | date: "%a %-I:%M %p" | replace: " AM","a" | replace: " PM","p" %}
{% else %}
{% assign time_formatted = time.starts_at | date: "%-I:%M %p" | replace: " AM","a" | replace: " PM","p" %}
{% assign time_split_team = time.starts_at | date: "%-I:%M %p" | replace: " AM","a" | replace: " PM","p" %}
{% endif %}
{% endif %}
{% if forloop.first == true or force_page_break %}
<div class="plan_dates">{{ plan.dates }} People</div>
<div class="ministry_title">{{ plan.ministry.name }}</div>
{% endif %}
{% assign current_position = "" %}
{% assign last_category = "" %}
<div class="time">
<div class="time_heading">
{{ time_formatted }}{% if time.name == '' %}m Service{% endif %}
</div>
{% for plan_person in plan.plan_people_not_declined %}
{% assign print_me = false %}
{% assign team_split = plan_person.category.name | split: " - " %}
{% unless all_categories == true %} <!-- This is how we use the Team Settings at the top of the report -->
{% for category in my_categories %}
{% if category contains team_split.first %}
{% assign print_me = true %}
{% endif %}
{% endfor %}
{% endunless %}
{% if all_categories == true or print_me == true %}
{% if last_category != plan_person.category.id and team_split.last == time_split_team or team_split.first == team_split.last or team_split.last == time_formatted %}<!-- if it's a new team and not a split team from a different time -->
{% if current_position != '' %}
</div> <!-- end position div before starting a new team -->
{% endif %}
<div class="people_category">
{{ team_split.first }}
</div>
{% assign current_position = '' %}
{% endif %}
{% assign last_category = plan_person.category.id %}
{% if current_position != plan_person.position and team_split.last == time_split_team or team_split.first == team_split.last or team_split.last == time_formatted %}
{% if current_position != '' %}
</div> <!-- end position div before starting a new position -->
{% endif %}
<div class="position"> <!-- start a position div -->
<div class="person">
{{ plan_person.position }}
</div>
{% endif %}
{% if team_split.last == time_split_team or team_split.first == team_split.last or team_split.last == time_formatted %}
<div>
{{ plan_person.person.name }}{% if plan_person.status == 'U' %} <span class="icon-question"\>?</span>{% endif %}
</div>
{% assign current_position = plan_person.position %}
{% endif %}
{% endif %}
{% endfor %}
</div>
{% if force_page_break == true and forloop.last == false %}
<div style="page-break-before: always;"></div>
{% endif %}
</div> <!-- end last position div -->
{% endfor %}
</body>
</html>