Working on the beer week templates.
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 26 Oct 2016 13:52:56 +0000 (09:52 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 26 Oct 2016 13:52:56 +0000 (09:52 -0400)
models/front/events/list.php
views/front/events/beerweek.html [new file with mode: 0644]
views/front/events/searchFormBeerweek.html [new file with mode: 0644]

index 96fb993..f6742ec 100644 (file)
@@ -198,12 +198,16 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
             break;
         case 'event-list-name':
             $events = $this->getModelEventsData( $eventNameSearch );
-            $view = 'agenda.html';
+            if ( !$view ) {
+                $view = 'agenda.html';
+            }
             break;
         case 'event-list':
             $this->postAddRecurrences = true;
             $events = $this->getModelEventsData($categoryId);
-            $view = 'agenda.html';
+            if ( !$view ) {
+                $view = 'agenda.html';
+            }
             $this->postAddRecurrences = false;
             break;
         case 'nameSearch':
@@ -518,7 +522,9 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
             break;
         default:
             $this->postAddRecurrences = true;
-            $view = 'agenda.html';
+            if ( !$view ) {
+                $view = 'agenda.html';
+            }
             $events = $this->getModelEventsData($categoryId, null, $memberId);
             $this->postAddRecurrences = false;
 
@@ -644,7 +650,7 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
         } else {
             $calendar_view = $calendar_view[0]['calendar_view'];
         }
-        
+
         // Compile template data
         $templateData = array(
             'assetsUrl'    => GLM_MEMBERS_EVENTS_PLUGIN_URL . 'assets/',
diff --git a/views/front/events/beerweek.html b/views/front/events/beerweek.html
new file mode 100644 (file)
index 0000000..74033d6
--- /dev/null
@@ -0,0 +1,228 @@
+<div id="glm-event-wrapper">
+    <div class="row">
+        {include file='front/events/searchFormBeerweek.html'}
+    </div>
+    <div id="glm-event-agenda-view" class="row">
+        <div class="small-12 columns">
+            {foreach $eventsByDate as $date => $key}
+                <div class="row glm-event-day-row">
+                    <div class="small-12 medium-2 columns">
+                        <div class="glm-event-cal">
+                            <div class="glm-event-cal-month">{$date|date_format:"%b"}</div>
+                            <div class="glm-event-cal-day-container">
+                                <span class="glm-event-cal-day">{$date|date_format:"%e"}</span>
+                                <span class="glm-event-cal-dow">{$date|date_format:"%a"}</span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="small-12 medium-10 columns">
+                        {foreach $key as $events}
+                            {foreach $events as $event}
+                            <div class="row glm-event-day-event">
+                                <div class="small-12 columns">
+                                        <h2 class="agenda-event-name">{$event.name}</h2>
+                                        <div class='date-range-container'>
+                                            ( Occurring {$event.recurrences.0.from_date.date} <span class="agenda-event-recur-dates">
+                                              {if $event.recurrences.0.from_date.date != $event.recurrences.0.to_date.date}
+                                                - {$event.recurrences.0.to_date.date}
+                                               {else if $event.recurrences.0.specific_dates}
+                                                - {$event.recurrences.0.specific_dates|@end|date_format:"%m/%d/%Y"}
+                                              {/if}
+                                            </span>
+
+                                        {if $event.recurrences.0.day_of_week.names|@count < 7 && $event.recurrences.0.day_of_week.names|@count > 0 }
+                                        <span class="agenda-days-of-week">
+                                            on
+                                            {foreach $event.recurrences.0.day_of_week.names as $day}
+                                            {if $day == "Thursday"}
+                                                <span class="agenda-event-weekday"> {$day|substr:0:4} </span>
+                                             {else}
+                                                <span class="agenda-event-weekday"> {$day|substr:0:3} </span>
+                                             {/if}
+                                             {/foreach}
+
+                                        </span>
+                                        {/if}
+                                         )
+                                        </div>
+                                    <div class="day-times-wrapper">
+                                        {if !$event.all_day}
+                                            {if $event.starting_date|date_format:"%l:%M %P" == $event.ending_date|date_format:"%l:%M %P"}
+                                            <div class="agenda-event-times">{$event.starting_date|date_format:"%l:%M %P"}</div>
+                                            {else}
+                                            <div class="agenda-event-times"> {$event.starting_date|date_format:"%l:%M %P"} - {$event.ending_date|date_format:"%l:%M %P"}</div>
+                                            {/if}
+                                        {/if}
+                                    </div>
+                                    <div class="event-content glm-hide clearfix">
+                                        {if $event.image}<img style="float:right;" src="{$imgUrl}{$event.image}">{/if}
+                                        {$event.intro}
+                                        <div>
+                                            <a class="glm-read-more" href="{$siteBaseUrl}event-detail/{$event.name_slug}/">Read More</a>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                            {/foreach}
+                        {/foreach}
+                    </div>
+                </div>
+            {/foreach}
+
+        </div>
+    </div>
+    <!-- Calendar -->
+    <div id="eventCalendar" style='position: relative;'>
+        <div class='event-overlay'>
+            <div class="loading"></div>
+        </div>
+    </div>
+</div>
+
+
+
+<script type="text/javascript">
+    jQuery(document).ready(function($) {
+
+        var fullCalendarLoaded  = false;
+        var recurrencesInited   = false;
+        var locationsInited     = false;
+        var table               = 'glm-table-calendar';
+        var post_start, post_end, month_obj;
+        var rows                = $(".glm-event-day-row");
+        var agenda              = $("#glm-event-agenda-view");
+        var view_select         = $("#glm-event-view-select");
+        var search              = $("#glm-events-search-form");
+        var calendar            = $("#eventCalendar");
+        var event_search        = $(".glm-search-icon");
+        var main_content        = $("#main-content");
+        var view                = '{$cal_view}';
+
+        if( sessionStorage.view ){
+            view = sessionStorage.view;
+        }
+        // AJAX FUNCTION ************************************************
+        // Get calendar month via AJAX
+        function eventsCalMonthAJAX(month) {
+            var dat = {
+
+                action: 'glm_members_admin_ajax',
+                glm_action: 'eventsCalMonthAJAX',
+                month: month
+
+            };
+            $('.fc-event').remove();
+
+             jQuery.ajax({
+                type: 'POST',
+                url: '{$ajaxUrl}',
+                data: dat,
+                beforeSend: function(){
+                    $(".event-overlay").show();
+                    $(".loading").show();
+                },
+                complete: function(){
+                    $(".event-overlay").hide();
+                    $(".loading").hide();
+                },
+                cache: false,
+                success: function (response){
+                    var buildingEvents = [];
+                    //var events_obj = jQuery.parseJSON(response);
+                    var events_obj = response;
+                    var events = events_obj.events;
+                    buildingEvents = $.map(events, function(i, val) {
+                        return {
+                            title:   i.title,
+                            start:   i.start,
+                            end:     i.last,
+                            allDay:  i.all_day,
+                            url:     i.url
+                        };
+                    });
+                    $("#eventCalendar").fullCalendar('removeEvents');
+                    $("#eventCalendar").fullCalendar('addEventSource', buildingEvents);
+                }
+            });
+            var timestamp = $.now();
+            var url = '{$ajaxUrl}' + '?t=' + timestamp;
+        }
+        var height = 900;
+        // Calendar *****************************************************
+        $('#eventCalendar').fullCalendar({
+            eventOrder: 'allDay',
+            height: height,
+            contentHeight: height,
+            viewRender: function (view, element){
+                post_start = view.start._d;
+                post_end = view.end._d;
+                {literal}month_obj = {start: view.start._d, last: view.end._d};{/literal}
+            },
+            header: {
+                left: 'prev,next today',
+                center: 'title',
+                right: 'month,agendaWeek,agendaDay'
+            },
+            dayClick: function(date, jsEvent, view) {
+                $('#eventCalendar').fullCalendar('changeView', 'agendaDay');
+                $('#eventCalendar').fullCalendar('gotoDate', date);
+            },
+            editable: false,
+            handleWindowResize: true,
+            lazyFetching: true,
+            eventClick : function (event){
+                location.href = event.url;
+            },
+            eventLimit: true,
+            views: {
+                month: {
+                    eventLimit: 4,
+                    eventBackgroundColor: 'transparent',
+                    eventTextColor: '#3A87AD',
+                    eventBorderColor: 'transparent',
+                },
+                agenda: {
+                    eventLimit: 4
+                }
+            }
+        });
+
+        if(view === "calendar"){
+            eventsCalMonthAJAX(month_obj);
+            main_content.removeClass("small-8").addClass("small-12");
+            calendar.show();
+            view_select.val('calendar');
+
+        } else if ( view === "agenda"){
+            calendar.hide();
+            agenda.css("display", "block");
+            view_select.val('agenda');
+        }
+        $("#glm-event-view-select").on("change", function (){
+            sessionStorage.setItem("view", $(this).attr("value"));
+            if($("#glm-event-view-select option:selected").val() === "calendar"){
+                eventsCalMonthAJAX(month_obj);
+                agenda.css("display","none");
+                calendar.fadeIn('slow', function(){});
+                calendar.fullCalendar('render');
+
+            } else if ( $("#glm-event-view-select option:selected").val() === "agenda"){
+                agenda.css("display", "block");
+                calendar.fadeOut('slow', function(){});
+            }
+        });
+
+        // initialize calendar with AJAX calls *************************************
+        $(document).on("click", "button.fc-button", function () {
+            eventsCalMonthAJAX(month_obj);
+        });
+
+        var dates = $(".agenda-event-recur-dates");
+        dates.each( function (){
+           if( $(this).text().indexOf('-') < 0 ){
+               $(this).remove();
+           }
+        });
+
+    });
+</script>
diff --git a/views/front/events/searchFormBeerweek.html b/views/front/events/searchFormBeerweek.html
new file mode 100644 (file)
index 0000000..f8590b3
--- /dev/null
@@ -0,0 +1,85 @@
+<script>
+    var ajaxUrl = '{$ajaxUrl}';
+</script>
+<div id="glm-events-search-form" class="small-12 columns">
+    <h1>Find An Event</h1>
+    <form id="glm-member-event-search" action="{$currentUrl}" method="post">
+        <input type="hidden" name="search" value="1">
+         <input type="hidden" name="override_default" value="yes">
+        <div class="row">
+            <div class="small-6 medium-3 column">
+                <label>Event Types</label>
+                <select id="glm-event-type" name="category">
+                    <option value="">-- All Event Types --</option>
+                    {foreach $categories as $cat}
+                    <option value="{$cat.id}"{if $categoryId == $cat.id} selected{/if}>{$cat.name}</option>
+                    {/foreach}
+                </select>
+            </div>
+            <div class="small-6 medium-3 column">
+                <label>Beer Types</label>
+                <select id="glm-event-beer-type" name="amenities">
+                    <option value="">-- All Beer Types --</option>
+                </select>
+            </div>
+            <div class="small-6 medium-3 column">
+                <label>Venues</label>
+                <select id="glm-event-venue" name="location">
+                    <option value="">-- All Venues --</option>
+                </select>
+            </div>
+            <div class="small-6 medium-3 column">
+                <label>Brewery</label>
+                <select id="glm-event-member" name="member">
+                    <option value="">-- All Breweries --</option>
+                </select>
+            </div>
+                <input class="glm-search-icon right" type="image" alt="Search" src="{$assetsUrl}search-icon-24x24.png">
+        </div>
+        <div class="row">
+            <div class="small-6 medium-3 column">
+                <div class="row collapse prefix-radius">
+                    <div class="small-3 columns">
+                        <span class="prefix">From</span>
+                    </div>
+                    <div class="small-9 columns">
+                        <input id="glm-event-from" name="glm_event_from" value="{$fromDate}">
+                    </div>
+                </div>
+            </div>
+            <div class="small-6 medium-3 column">
+                <div class="row collapse prefix-radius">
+                    <div class="small-3 columns">
+                        <span class="prefix">To</span>
+                    </div>
+                    <div class="small-9 columns">
+                        <input id="glm-event-to" name="glm_event_to" value="{$toDate}">
+                    </div>
+                </div>
+            </div>
+            <div class="small-4 medium-2 column">
+                {if !$eventId}
+                <input class="right" type="image" title="Print PDF" id="glm-event-pdf-submit" src="{$assetsUrl}print-icon-24x24.png">
+                {else}
+                {/if}
+                <a href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=rssFeed{if $eventId}&eventId={$eventId}{/if}">
+                <img class="right" title="RSS Feed" id="glm-event-rss-feed" src="{$assetsUrl}rss-icon-24x24.png" />
+                </a>
+                <a href="{$ajaxUrl}?action=glm_members_admin_ajax&glm_action=icalFeed&ical=1{if $eventId}&eventId={$eventId}{/if}">
+                <img class="right" title="iCal Feed" id="glm-event-ical-feed" src="{$assetsUrl}calendar-icon-24x24.png" />
+                </a>
+            </div>
+        </div>
+    </form>
+</div>
+<div class="small-7 medium-3 columns view-select" style="margin-right: 15px;">
+    <select id="glm-event-view-select">
+        <option id="agenda-view-option" value="agenda"> Agenda View </option>
+        <option id="calendar-view-option" value="calendar"> Calendar View </option>
+    </select>
+</div>
+<script type="text/javascript">
+    jQuery(document).ready(function($){
+
+    });
+</script>