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> |