diff --git a/plugins/event/lib/event_plugin/event_block.rb b/plugins/event/lib/event_plugin/event_block.rb index a750b57..96d772f 100644 --- a/plugins/event/lib/event_plugin/event_block.rb +++ b/plugins/event/lib/event_plugin/event_block.rb @@ -1,10 +1,11 @@ class EventPlugin::EventBlock < Block - attr_accessible :all_env_events, :limit, :future_only, :date_distance_limit + attr_accessible :all_env_events, :limit, :future_only, :date_distance_limit, :display_as_calendar settings_items :all_env_events, :type => :boolean, :default => false settings_items :limit, :type => :integer, :default => 4 settings_items :future_only, :type => :boolean, :default => true settings_items :date_distance_limit, :type => :integer, :default => 0 + settings_items :display_as_calendar, :type => :boolean, :default => false def self.description _('Events') @@ -51,4 +52,11 @@ class EventPlugin::EventBlock < Block { :profile => [:article], :environment => [:article] } end + def api_content + content = [] + events.each do |event| + content << { title: event.title, id: event.id, date: event.start_date.to_i * 1000, view_url: event.view_url } + end + { events: content } + end end diff --git a/plugins/event/public/jquery.e-calendar.js b/plugins/event/public/jquery.e-calendar.js new file mode 100644 index 0000000..cbecdc2 --- /dev/null +++ b/plugins/event/public/jquery.e-calendar.js @@ -0,0 +1,194 @@ +/** + * @license e-Calendar v0.9.3 + * (c) 2014-2016 - Jhonis de Souza + * License: GNU + */ + +(function ($) { + + var eCalendar = function (options, object) { + // Initializing global variables + var adDay = new Date().getDate(); + var adMonth = new Date().getMonth(); + var adYear = new Date().getFullYear(); + var dDay = adDay; + var dMonth = adMonth; + var dYear = adYear; + var instance = object; + + var settings = $.extend({}, $.fn.eCalendar.defaults, options); + + function lpad(value, length, pad) { + if (typeof pad == 'undefined') { + pad = '0'; + } + var p; + for (var i = 0; i < length; i++) { + p += pad; + } + return (p + value).slice(-length); + } + + var mouseOver = function () { + $(this).addClass('c-nav-btn-over'); + }; + var mouseLeave = function () { + $(this).removeClass('c-nav-btn-over'); + }; + var mouseOverEvent = function () { + $(this).addClass('c-event-over'); + var d = $(this).attr('data-event-day'); + $('div.c-event-item[data-event-day="' + d + '"]').addClass('c-event-over'); + }; + var mouseLeaveEvent = function () { + $(this).removeClass('c-event-over') + var d = $(this).attr('data-event-day'); + $('div.c-event-item[data-event-day="' + d + '"]').removeClass('c-event-over'); + }; + var mouseOverItem = function () { + $(this).addClass('c-event-over'); + var d = $(this).attr('data-event-day'); + $('div.c-event[data-event-day="' + d + '"]').addClass('c-event-over'); + }; + var mouseLeaveItem = function () { + $(this).removeClass('c-event-over') + var d = $(this).attr('data-event-day'); + $('div.c-event[data-event-day="' + d + '"]').removeClass('c-event-over'); + }; + var nextMonth = function () { + if (dMonth < 11) { + dMonth++; + } else { + dMonth = 0; + dYear++; + } + print(); + }; + var previousMonth = function () { + if (dMonth > 0) { + dMonth--; + } else { + dMonth = 11; + dYear--; + } + print(); + }; + + function loadEvents() { + if (typeof settings.url != 'undefined' && settings.url != '') { + $.ajax({url: settings.url, + async: false, + success: function (result) { + settings.events = result; + } + }); + } + } + + function print() { + loadEvents(); + var dWeekDayOfMonthStart = new Date(dYear, dMonth, 1).getDay() - settings.firstDayOfWeek; + if (dWeekDayOfMonthStart < 0) { + dWeekDayOfMonthStart = 6 - ((dWeekDayOfMonthStart + 1) * -1); + } + var dLastDayOfMonth = new Date(dYear, dMonth + 1, 0).getDate(); + var dLastDayOfPreviousMonth = new Date(dYear, dMonth + 1, 0).getDate() - dWeekDayOfMonthStart + 1; + + var cBody = $('
').addClass('c-grid'); + var cEvents = $('
').addClass('c-event-grid'); + var cEventsBody = $('
').addClass('c-event-body'); + cEvents.append($('
').addClass('c-event-title c-pad-top').html(settings.eventTitle)); + cEvents.append(cEventsBody); + var cNext = $('
').addClass('c-next c-grid-title c-pad-top'); + var cMonth = $('
').addClass('c-month c-grid-title c-pad-top'); + var cPrevious = $('
').addClass('c-previous c-grid-title c-pad-top'); + cPrevious.html(settings.textArrows.previous); + cMonth.html(settings.months[dMonth] + ' ' + dYear); + cNext.html(settings.textArrows.next); + + cPrevious.on('mouseover', mouseOver).on('mouseleave', mouseLeave).on('click', previousMonth); + cNext.on('mouseover', mouseOver).on('mouseleave', mouseLeave).on('click', nextMonth); + + cBody.append(cPrevious); + cBody.append(cMonth); + cBody.append(cNext); + var dayOfWeek = settings.firstDayOfWeek; + for (var i = 0; i < 7; i++) { + if (dayOfWeek > 6) { + dayOfWeek = 0; + } + var cWeekDay = $('
').addClass('c-week-day c-pad-top'); + cWeekDay.html(settings.weekDays[dayOfWeek]); + cBody.append(cWeekDay); + dayOfWeek++; + } + var day = 1; + var dayOfNextMonth = 1; + for (var i = 0; i < 42; i++) { + var cDay = $('
'); + if (i < dWeekDayOfMonthStart) { + cDay.addClass('c-day-previous-month c-pad-top'); + cDay.html(dLastDayOfPreviousMonth++); + } else if (day <= dLastDayOfMonth) { + cDay.addClass('c-day c-pad-top'); + if (day == dDay && adMonth == dMonth && adYear == dYear) { + cDay.addClass('c-today'); + } + for (var j = 0; j < settings.events.length; j++) { + var d = settings.events[j].datetime; + if (d.getDate() == day && d.getMonth() == dMonth && d.getFullYear() == dYear) { + cDay.addClass('c-event').attr('data-event-day', d.getDate()); + cDay.on('mouseover', mouseOverEvent).on('mouseleave', mouseLeaveEvent); + } + } + cDay.html(day++); + } else { + cDay.addClass('c-day-next-month c-pad-top'); + cDay.html(dayOfNextMonth++); + } + cBody.append(cDay); + } + var eventList = $('
').addClass('c-event-list'); + for (var i = 0; i < settings.events.length; i++) { + var d = settings.events[i].datetime; + if (d.getMonth() == dMonth && d.getFullYear() == dYear) { + var date = lpad(d.getDate(), 2) + '/' + lpad(d.getMonth() + 1, 2) + ' ' + lpad(d.getHours(), 2) + ':' + lpad(d.getMinutes(), 2); + var item = $('
').addClass('c-event-item'); + var title = $('
').addClass('title').html(date + ' ' + settings.events[i].title + '
'); + var description = $('
').addClass('description').html(settings.events[i].description + '
'); + item.attr('data-event-day', d.getDate()); + item.on('mouseover', mouseOverItem).on('mouseleave', mouseLeaveItem); + item.append(title).append(description); + eventList.append(item); + } + } + $(instance).addClass('calendar'); + cEventsBody.append(eventList); + $(instance).html(cBody).append(cEvents); + } + + return print(); + } + + $.fn.eCalendar = function (oInit) { + return this.each(function () { + return eCalendar(oInit, $(this)); + }); + }; + + // plugin defaults + $.fn.eCalendar.defaults = { + weekDays: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'], + months: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'], + textArrows: {previous: '<', next: '>'}, + eventTitle: 'Eventos', + url: '', + events: [ + {title: 'Evento de Abertura', description: 'Abertura das Olimpíadas Rio 2016', datetime: new Date(2016, new Date().getMonth(), 12, 17)}, + {title: 'Tênis de Mesa', description: 'BRA x ARG - Semifinal', datetime: new Date(2016, new Date().getMonth(), 23, 16)}, + {title: 'Ginástica Olímpica', description: 'Classificatórias de equipes', datetime: new Date(2016, new Date().getMonth(), 31, 16)} + ], + firstDayOfWeek: 0 + }; + +}(jQuery)); \ No newline at end of file diff --git a/plugins/event/public/style.css b/plugins/event/public/style.css index 5b18f69..8697c22 100644 --- a/plugins/event/public/style.css +++ b/plugins/event/public/style.css @@ -194,3 +194,153 @@ display: block; margin-bottom: 3px; } + +.calendar * { + box-sizing: border-box; + font-size: 12px; + color: #000; +} + +.calendar-sm { + cursor: default; + width: 100%; +} + +.calendar { + cursor: default; + width: 100%; +} + +.calendar-sm .c-pad-top { + padding-top: 2%; +} + +.calendar .c-pad-top { + padding-top: 3%; +} + +.c-grid { + height: 270px; +} + +.c-day { + width: 14.28%; + height: 13%; + background-color: #EEE; + float: left; + text-align: center; +} + +.c-day-previous-month { + width: 14.28%; + height: 13%; + background-color: #CCC; + float: left; + text-align: center; + color: #000; +} + +.c-day-next-month { + width: 14.28%; + height: 13%; + background-color: #CCC; + float: left; + text-align: center; + color: #000; +} + +.c-week-day { + width: 14.28%; + height: 10.38%; + background-color: transparent; + color: #000; + float: left; + text-align: center; + padding-top: 1%; +} + +.c-next { + width: 12.5%; + height: 12%; + padding: 2% 2% 0 2%; + text-align: right; + cursor: pointer; +} + +.c-previous { + width: 12.5%; + height: 12%; + padding: 2% 2% 0 2%; + text-align: left; + cursor: pointer; +} + +.c-month { + width: 75%; + height: 12%; + text-align: center; +} + +.c-nav-btn-over { + background-color: #CCC !important; + font-weight: bold; +} + +.c-today { + background-color: #CCC; + color: #FFF; +} + +.c-event { + background-color: #333; + color: white; + font-weight: bold; + cursor: pointer; +} + +.c-grid { + width: 100%; +} + +.c-event-grid { + margin-left: 1px; + width: 100%; + clear: both; +} + +.c-grid-title { + float: left; + background-color: #EEE; + color: #000; +} + +.c-event-title { + width: 100%; + height: 12%; + text-align: center; + background-color: #FFF; + color: #000; +} + +.c-event-body { + height: 88.1%; +} + +.c-event-item { + padding: 0; + margin: 2px 0; +} + +.c-event-over { + background-color: #EEE; + color: black; +} + +.c-event-item .description { + display: none; +} + +.block .calendar a, +.block .calendar a:visited { + color: #000; +} diff --git a/plugins/event/test/functional/event_block_test.rb b/plugins/event/test/functional/event_block_test.rb index 9d2aeb9..6162425 100644 --- a/plugins/event/test/functional/event_block_test.rb +++ b/plugins/event/test/functional/event_block_test.rb @@ -60,4 +60,15 @@ class HomeControllerTest < ActionController::TestCase assert_select ev + 'time.duration[itemprop="endDate"]', false end + should 'have different displays' do + @block.display_as_calendar = false + @block.save! + get :index + assert_select '.events-block', false + + @block.display_as_calendar = true + @block.save! + get :index + assert_select '.events-block', true + end end diff --git a/plugins/event/views/blocks/event.html.erb b/plugins/event/views/blocks/event.html.erb index eda175b..13665aa 100644 --- a/plugins/event/views/blocks/event.html.erb +++ b/plugins/event/views/blocks/event.html.erb @@ -2,6 +2,33 @@ <%= block_title(block.title, block.subtitle) %> +<% if block.display_as_calendar %> + +<%= javascript_include_tag 'plugins/event/jquery.e-calendar' %> +
+ + +<% else %> +
    <% block.events(user).map do |event| %> <% days_left = ( (event.start_date - DateTime.now)/60/60/24 ).round %> @@ -19,3 +46,5 @@ <% end %>
+ +<% end %> diff --git a/plugins/event/views/profile_design/event_plugin/_event_block.html.erb b/plugins/event/views/profile_design/event_plugin/_event_block.html.erb index efc7f67..e38b26a 100644 --- a/plugins/event/views/profile_design/event_plugin/_event_block.html.erb +++ b/plugins/event/views/profile_design/event_plugin/_event_block.html.erb @@ -17,8 +17,10 @@ <% end %> -<%= labelled_check_box(_('Only show future events'), "block[future_only]", "1", @block.future_only) %> +

<%= labelled_check_box(_('Only show future events'), "block[future_only]", "1", @block.future_only) %>

+ +

<%= labelled_check_box(_('Display as a calendar'), "block[display_as_calendar]", "1", @block.display_as_calendar) %>

+ +

<%= labelled_form_field _('Limit of days to display'), text_field(:block, :date_distance_limit, :size => 4) %>

-<%= labelled_form_field _('Limit of days to display'), - text_field(:block, :date_distance_limit, :size => 4) %> (<%=_('Only show events in this interval of days.')%>) diff --git a/plugins/events/lib/events_plugin.rb b/plugins/events/lib/events_plugin.rb deleted file mode 100644 index 075c65a..0000000 --- a/plugins/events/lib/events_plugin.rb +++ /dev/null @@ -1,23 +0,0 @@ -class EventsPlugin < Noosfero::Plugin - def self.plugin_name - 'EventsPlugin' - end - - def self.plugin_description - _('Adds a block that shows events in a calendar') - end - - def self.extra_blocks - { - EventsPlugin::EventsBlock => { type: [Person, Community, Enterprise] } - } - end - - def self.has_admin_url? - false - end - - def stylesheet? - true - end -end diff --git a/plugins/events/lib/events_plugin/events_block.rb b/plugins/events/lib/events_plugin/events_block.rb deleted file mode 100644 index 27e99c6..0000000 --- a/plugins/events/lib/events_plugin/events_block.rb +++ /dev/null @@ -1,45 +0,0 @@ -class EventsPlugin::EventsBlock < Block - def view_title - self.default_title - end - - def events - owner.events - end - - def extra_option - { } - end - - def self.description - _('Shows events in a calendar.') - end - - def help - _('This block shows events in a calendar.') - end - - def default_title - _('Events Calendar') - end - - def api_content - content = [] - events.each do |event| - content << { title: event.title, id: event.id, date: event.start_date } - end - { events: content } - end - - def display_api_content_by_default? - false - end - - def timeout - 4.hours - end - - def self.expire_on - { profile: [:article] } - end -end diff --git a/plugins/events/public/jquery.e-calendar.js b/plugins/events/public/jquery.e-calendar.js deleted file mode 100644 index cbecdc2..0000000 --- a/plugins/events/public/jquery.e-calendar.js +++ /dev/null @@ -1,194 +0,0 @@ -/** - * @license e-Calendar v0.9.3 - * (c) 2014-2016 - Jhonis de Souza - * License: GNU - */ - -(function ($) { - - var eCalendar = function (options, object) { - // Initializing global variables - var adDay = new Date().getDate(); - var adMonth = new Date().getMonth(); - var adYear = new Date().getFullYear(); - var dDay = adDay; - var dMonth = adMonth; - var dYear = adYear; - var instance = object; - - var settings = $.extend({}, $.fn.eCalendar.defaults, options); - - function lpad(value, length, pad) { - if (typeof pad == 'undefined') { - pad = '0'; - } - var p; - for (var i = 0; i < length; i++) { - p += pad; - } - return (p + value).slice(-length); - } - - var mouseOver = function () { - $(this).addClass('c-nav-btn-over'); - }; - var mouseLeave = function () { - $(this).removeClass('c-nav-btn-over'); - }; - var mouseOverEvent = function () { - $(this).addClass('c-event-over'); - var d = $(this).attr('data-event-day'); - $('div.c-event-item[data-event-day="' + d + '"]').addClass('c-event-over'); - }; - var mouseLeaveEvent = function () { - $(this).removeClass('c-event-over') - var d = $(this).attr('data-event-day'); - $('div.c-event-item[data-event-day="' + d + '"]').removeClass('c-event-over'); - }; - var mouseOverItem = function () { - $(this).addClass('c-event-over'); - var d = $(this).attr('data-event-day'); - $('div.c-event[data-event-day="' + d + '"]').addClass('c-event-over'); - }; - var mouseLeaveItem = function () { - $(this).removeClass('c-event-over') - var d = $(this).attr('data-event-day'); - $('div.c-event[data-event-day="' + d + '"]').removeClass('c-event-over'); - }; - var nextMonth = function () { - if (dMonth < 11) { - dMonth++; - } else { - dMonth = 0; - dYear++; - } - print(); - }; - var previousMonth = function () { - if (dMonth > 0) { - dMonth--; - } else { - dMonth = 11; - dYear--; - } - print(); - }; - - function loadEvents() { - if (typeof settings.url != 'undefined' && settings.url != '') { - $.ajax({url: settings.url, - async: false, - success: function (result) { - settings.events = result; - } - }); - } - } - - function print() { - loadEvents(); - var dWeekDayOfMonthStart = new Date(dYear, dMonth, 1).getDay() - settings.firstDayOfWeek; - if (dWeekDayOfMonthStart < 0) { - dWeekDayOfMonthStart = 6 - ((dWeekDayOfMonthStart + 1) * -1); - } - var dLastDayOfMonth = new Date(dYear, dMonth + 1, 0).getDate(); - var dLastDayOfPreviousMonth = new Date(dYear, dMonth + 1, 0).getDate() - dWeekDayOfMonthStart + 1; - - var cBody = $('
').addClass('c-grid'); - var cEvents = $('
').addClass('c-event-grid'); - var cEventsBody = $('
').addClass('c-event-body'); - cEvents.append($('
').addClass('c-event-title c-pad-top').html(settings.eventTitle)); - cEvents.append(cEventsBody); - var cNext = $('
').addClass('c-next c-grid-title c-pad-top'); - var cMonth = $('
').addClass('c-month c-grid-title c-pad-top'); - var cPrevious = $('
').addClass('c-previous c-grid-title c-pad-top'); - cPrevious.html(settings.textArrows.previous); - cMonth.html(settings.months[dMonth] + ' ' + dYear); - cNext.html(settings.textArrows.next); - - cPrevious.on('mouseover', mouseOver).on('mouseleave', mouseLeave).on('click', previousMonth); - cNext.on('mouseover', mouseOver).on('mouseleave', mouseLeave).on('click', nextMonth); - - cBody.append(cPrevious); - cBody.append(cMonth); - cBody.append(cNext); - var dayOfWeek = settings.firstDayOfWeek; - for (var i = 0; i < 7; i++) { - if (dayOfWeek > 6) { - dayOfWeek = 0; - } - var cWeekDay = $('
').addClass('c-week-day c-pad-top'); - cWeekDay.html(settings.weekDays[dayOfWeek]); - cBody.append(cWeekDay); - dayOfWeek++; - } - var day = 1; - var dayOfNextMonth = 1; - for (var i = 0; i < 42; i++) { - var cDay = $('
'); - if (i < dWeekDayOfMonthStart) { - cDay.addClass('c-day-previous-month c-pad-top'); - cDay.html(dLastDayOfPreviousMonth++); - } else if (day <= dLastDayOfMonth) { - cDay.addClass('c-day c-pad-top'); - if (day == dDay && adMonth == dMonth && adYear == dYear) { - cDay.addClass('c-today'); - } - for (var j = 0; j < settings.events.length; j++) { - var d = settings.events[j].datetime; - if (d.getDate() == day && d.getMonth() == dMonth && d.getFullYear() == dYear) { - cDay.addClass('c-event').attr('data-event-day', d.getDate()); - cDay.on('mouseover', mouseOverEvent).on('mouseleave', mouseLeaveEvent); - } - } - cDay.html(day++); - } else { - cDay.addClass('c-day-next-month c-pad-top'); - cDay.html(dayOfNextMonth++); - } - cBody.append(cDay); - } - var eventList = $('
').addClass('c-event-list'); - for (var i = 0; i < settings.events.length; i++) { - var d = settings.events[i].datetime; - if (d.getMonth() == dMonth && d.getFullYear() == dYear) { - var date = lpad(d.getDate(), 2) + '/' + lpad(d.getMonth() + 1, 2) + ' ' + lpad(d.getHours(), 2) + ':' + lpad(d.getMinutes(), 2); - var item = $('
').addClass('c-event-item'); - var title = $('
').addClass('title').html(date + ' ' + settings.events[i].title + '
'); - var description = $('
').addClass('description').html(settings.events[i].description + '
'); - item.attr('data-event-day', d.getDate()); - item.on('mouseover', mouseOverItem).on('mouseleave', mouseLeaveItem); - item.append(title).append(description); - eventList.append(item); - } - } - $(instance).addClass('calendar'); - cEventsBody.append(eventList); - $(instance).html(cBody).append(cEvents); - } - - return print(); - } - - $.fn.eCalendar = function (oInit) { - return this.each(function () { - return eCalendar(oInit, $(this)); - }); - }; - - // plugin defaults - $.fn.eCalendar.defaults = { - weekDays: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'], - months: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'], - textArrows: {previous: '<', next: '>'}, - eventTitle: 'Eventos', - url: '', - events: [ - {title: 'Evento de Abertura', description: 'Abertura das Olimpíadas Rio 2016', datetime: new Date(2016, new Date().getMonth(), 12, 17)}, - {title: 'Tênis de Mesa', description: 'BRA x ARG - Semifinal', datetime: new Date(2016, new Date().getMonth(), 23, 16)}, - {title: 'Ginástica Olímpica', description: 'Classificatórias de equipes', datetime: new Date(2016, new Date().getMonth(), 31, 16)} - ], - firstDayOfWeek: 0 - }; - -}(jQuery)); \ No newline at end of file diff --git a/plugins/events/public/style.css b/plugins/events/public/style.css deleted file mode 100644 index 1ba3035..0000000 --- a/plugins/events/public/style.css +++ /dev/null @@ -1,149 +0,0 @@ -.calendar * { - box-sizing: border-box; - font-size: 12px; - color: #000; -} - -.calendar-sm { - cursor: default; - width: 100%; -} - -.calendar { - cursor: default; - width: 100%; -} - -.calendar-sm .c-pad-top { - padding-top: 2%; -} - -.calendar .c-pad-top { - padding-top: 3%; -} - -.c-grid { - height: 270px; -} - -.c-day { - width: 14.28%; - height: 13%; - background-color: #EEE; - float: left; - text-align: center; -} - -.c-day-previous-month { - width: 14.28%; - height: 13%; - background-color: #CCC; - float: left; - text-align: center; - color: #000; -} - -.c-day-next-month { - width: 14.28%; - height: 13%; - background-color: #CCC; - float: left; - text-align: center; - color: #000; -} - -.c-week-day { - width: 14.28%; - height: 10.38%; - background-color: transparent; - color: #000; - float: left; - text-align: center; - padding-top: 1%; -} - -.c-next { - width: 12.5%; - height: 12%; - padding: 2% 2% 0 2%; - text-align: right; - cursor: pointer; -} - -.c-previous { - width: 12.5%; - height: 12%; - padding: 2% 2% 0 2%; - text-align: left; - cursor: pointer; -} - -.c-month { - width: 75%; - height: 12%; - text-align: center; -} - -.c-nav-btn-over { - background-color: #CCC !important; - font-weight: bold; -} - -.c-today { - background-color: #CCC; - color: #FFF; -} - -.c-event { - background-color: #333; - color: white; - font-weight: bold; - cursor: pointer; -} - -.c-grid { - width: 100%; -} - -.c-event-grid { - margin-left: 1px; - width: 100%; - clear: both; -} - -.c-grid-title { - float: left; - background-color: #EEE; - color: #000; -} - -.c-event-title { - width: 100%; - height: 12%; - text-align: center; - background-color: #FFF; - color: #000; -} - -.c-event-body { - height: 88.1%; -} - -.c-event-item { - padding: 0; - margin: 2px 0; -} - -.c-event-over { - background-color: #EEE; - color: black; -} - -.c-event-item .description { - display: none; -} - -.block .calendar a, -.block .calendar a:visited { - color: #000; -} diff --git a/plugins/events/test/test_helper.rb b/plugins/events/test/test_helper.rb deleted file mode 100644 index 70322cf..0000000 --- a/plugins/events/test/test_helper.rb +++ /dev/null @@ -1 +0,0 @@ -require_relative '../../../test/test_helper' diff --git a/plugins/events/test/unit/events_block_test.rb b/plugins/events/test/unit/events_block_test.rb deleted file mode 100644 index 720b7f1..0000000 --- a/plugins/events/test/unit/events_block_test.rb +++ /dev/null @@ -1,42 +0,0 @@ -require_relative '../test_helper' - -class EventsBlockTest < ActiveSupport::TestCase - should 'describe itself' do - assert_not_equal Block.description, EventsPlugin::EventsBlock.description - end - - should 'is editable' do - block = EventsPlugin::EventsBlock.new - assert block.editable? - end - - should 'return events' do - profile = create(Profile, name: 'Test') - event1 = create(Event, profile: profile) - event2 = create(Event, profile: profile) - event3 = create(Event, profile: create(Profile, name: 'Other')) - - block = EventsPlugin::EventsBlock.new - block.stubs(:owner).returns(profile) - - assert_equal [event1, event2].map(&:id), block.events.map(&:id) - end -end - -require 'boxes_helper' - -class EventsBlockViewTest < ActionView::TestCase - include BoxesHelper - - should 'return events in api_content' do - profile = create(Profile, name: 'Test') - event1 = create(Event, profile: profile) - event2 = create(Event, profile: profile) - event3 = create(Event, profile: create(Profile, name: 'Other')) - - block = EventsPlugin::EventsBlock.new - block.stubs(:owner).returns(profile) - - assert_equal [event1.id, event2.id], block.api_content[:events].map{ |e| e[:id] } - end -end diff --git a/plugins/events/views/blocks/events.html.erb b/plugins/events/views/blocks/events.html.erb deleted file mode 100644 index a4ecccb..0000000 --- a/plugins/events/views/blocks/events.html.erb +++ /dev/null @@ -1,25 +0,0 @@ -<%= javascript_include_tag 'plugins/events/jquery.e-calendar' %> -<%= block_title(block.view_title, block.subtitle) %> - -
- - diff --git a/plugins/events/views/profile_design b/plugins/events/views/profile_design deleted file mode 120000 index 1b8d625..0000000 --- a/plugins/events/views/profile_design +++ /dev/null @@ -1 +0,0 @@ -box_organizer/ \ No newline at end of file -- libgit2 0.21.2