event_calendar testing
This commit is contained in:
		
							parent
							
								
									90ae361dc3
								
							
						
					
					
						commit
						29ea95b4c6
					
				
							
								
								
									
										2
									
								
								Gemfile
								
								
								
								
							
							
						
						
									
										2
									
								
								Gemfile
								
								
								
								
							| 
						 | 
					@ -50,6 +50,8 @@ gem 'rb-readline' if RUBY_PLATFORM.downcase.include?("linux")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
gem "impressionist", :git => 'git://github.com/charlotte-ruby/impressionist.git'
 | 
					gem "impressionist", :git => 'git://github.com/charlotte-ruby/impressionist.git'
 | 
				
			||||||
 | 
					#gem 'contacts'
 | 
				
			||||||
 | 
					gem 'event-calendar', :require => 'event_calendar'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
gem 'redis','>= 2.1.1'
 | 
					gem 'redis','>= 2.1.1'
 | 
				
			||||||
gem 'chinese_pinyin', '0.4.1'
 | 
					gem 'chinese_pinyin', '0.4.1'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -88,6 +88,7 @@ GEM
 | 
				
			||||||
    diff-lcs (1.1.3)
 | 
					    diff-lcs (1.1.3)
 | 
				
			||||||
    encrypted_strings (0.3.3)
 | 
					    encrypted_strings (0.3.3)
 | 
				
			||||||
    erubis (2.7.0)
 | 
					    erubis (2.7.0)
 | 
				
			||||||
 | 
					    event-calendar (2.3.3)
 | 
				
			||||||
    exception_notification (2.5.2)
 | 
					    exception_notification (2.5.2)
 | 
				
			||||||
      actionmailer (>= 3.0.4)
 | 
					      actionmailer (>= 3.0.4)
 | 
				
			||||||
    execjs (1.3.0)
 | 
					    execjs (1.3.0)
 | 
				
			||||||
| 
						 | 
					@ -322,6 +323,7 @@ DEPENDENCIES
 | 
				
			||||||
  database_cleaner
 | 
					  database_cleaner
 | 
				
			||||||
  delorean
 | 
					  delorean
 | 
				
			||||||
  devise (= 1.5.3)
 | 
					  devise (= 1.5.3)
 | 
				
			||||||
 | 
					  event-calendar
 | 
				
			||||||
  exception_notification
 | 
					  exception_notification
 | 
				
			||||||
  execjs
 | 
					  execjs
 | 
				
			||||||
  factory_girl_rails
 | 
					  factory_girl_rails
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,24 @@
 | 
				
			||||||
 | 
					module CalendarHelper
 | 
				
			||||||
 | 
					  def month_link(month_date)
 | 
				
			||||||
 | 
					    link_to(I18n.localize(month_date, :format => "%B"), {:month => month_date.month, :year => month_date.year})
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  # custom options for this calendar
 | 
				
			||||||
 | 
					  def event_calendar_opts
 | 
				
			||||||
 | 
					    { 
 | 
				
			||||||
 | 
					      :year => @year,
 | 
				
			||||||
 | 
					      :month => @month,
 | 
				
			||||||
 | 
					      :event_strips => @event_strips,
 | 
				
			||||||
 | 
					      :month_name_text => I18n.localize(@shown_month, :format => "%B %Y"),
 | 
				
			||||||
 | 
					      :previous_month_text => "<< " + month_link(@shown_month.prev_month),
 | 
				
			||||||
 | 
					      :next_month_text => month_link(@shown_month.next_month) + " >>"    }
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def event_calendar
 | 
				
			||||||
 | 
					    # args is an argument hash containing :event, :day, and :options
 | 
				
			||||||
 | 
					    calendar event_calendar_opts do |args|
 | 
				
			||||||
 | 
					      event = args[:event]
 | 
				
			||||||
 | 
					      %(<a href="/events/#{event.id}" title="#{h(event.name)}">#{h(event.name)}</a>)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,37 @@
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Smart event highlighting
 | 
				
			||||||
 | 
					 * Handles when events span rows, or don't have a background color
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					jQuery(document).ready(function($) {
 | 
				
			||||||
 | 
					  var highlight_color = "#2EAC6A";
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // highlight events that have a background color
 | 
				
			||||||
 | 
					  $(".ec-event-bg").live("mouseover", function() {
 | 
				
			||||||
 | 
					    event_id = $(this).attr("data-event-id");
 | 
				
			||||||
 | 
							event_class_name = $(this).attr("data-event-class");
 | 
				
			||||||
 | 
					    $(".ec-"+event_class_name+"-"+event_id).css("background-color", highlight_color);
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  $(".ec-event-bg").live("mouseout", function() {
 | 
				
			||||||
 | 
					    event_id = $(this).attr("data-event-id");
 | 
				
			||||||
 | 
							event_class_name = $(this).attr("data-event-class");
 | 
				
			||||||
 | 
					    event_color = $(this).attr("data-color");
 | 
				
			||||||
 | 
					    $(".ec-"+event_class_name+"-"+event_id).css("background-color", event_color);
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  // highlight events that don't have a background color
 | 
				
			||||||
 | 
					  $(".ec-event-no-bg").live("mouseover", function() {
 | 
				
			||||||
 | 
					    ele = $(this);
 | 
				
			||||||
 | 
					    ele.css("color", "white");
 | 
				
			||||||
 | 
					    ele.find("a").css("color", "white");
 | 
				
			||||||
 | 
					    ele.find(".ec-bullet").css("background-color", "white");
 | 
				
			||||||
 | 
					    ele.css("background-color", highlight_color);
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  $(".ec-event-no-bg").live("mouseout", function() {
 | 
				
			||||||
 | 
					    ele = $(this);
 | 
				
			||||||
 | 
					    event_color = $(this).attr("data-color");
 | 
				
			||||||
 | 
					    ele.css("color", event_color);
 | 
				
			||||||
 | 
					    ele.find("a").css("color", event_color);
 | 
				
			||||||
 | 
					    ele.find(".ec-bullet").css("background-color", event_color);
 | 
				
			||||||
 | 
					    ele.css("background-color", "transparent");
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,237 @@
 | 
				
			||||||
 | 
					/* 
 | 
				
			||||||
 | 
					  Event Calendar stylesheet
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  Colors:
 | 
				
			||||||
 | 
					  #d5d5d5 - border (gray)
 | 
				
			||||||
 | 
					  #303030 - day names bg (gray)
 | 
				
			||||||
 | 
					  #444 - number (gray)
 | 
				
			||||||
 | 
					  #ecede2 - day header bg (light tan)
 | 
				
			||||||
 | 
					  ##d7d7ba - today header bg (tan)
 | 
				
			||||||
 | 
					  #ffffdd - today bg light (yellow)
 | 
				
			||||||
 | 
					  #777 - other month number (gray)
 | 
				
			||||||
 | 
					  #efefef - other month day header (gray)
 | 
				
			||||||
 | 
					  #2eac6a - hover (green)
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Outer most container */
 | 
				
			||||||
 | 
					.ec-calendar {
 | 
				
			||||||
 | 
					  font-family: verdana, arial, helvetica, sans-serif;
 | 
				
			||||||
 | 
					  font-size: 11px;
 | 
				
			||||||
 | 
					  line-height: 14px;
 | 
				
			||||||
 | 
					  margin: 0;
 | 
				
			||||||
 | 
					  padding: 0;
 | 
				
			||||||
 | 
					  border-bottom: 1px solid #d5d5d5;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Month name header & links */
 | 
				
			||||||
 | 
					.ec-calendar-header {
 | 
				
			||||||
 | 
					  padding: 5px 0;
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  table-layout: fixed;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-month-name {
 | 
				
			||||||
 | 
					  font-size: 16px;
 | 
				
			||||||
 | 
					  font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-month-nav {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Containers */
 | 
				
			||||||
 | 
					.ec-body {
 | 
				
			||||||
 | 
					  position: relative;
 | 
				
			||||||
 | 
					  border-right: 1px solid #303030;
 | 
				
			||||||
 | 
					  white-space: nowrap;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Day names */
 | 
				
			||||||
 | 
					.ec-day-names {
 | 
				
			||||||
 | 
					  position: absolute;
 | 
				
			||||||
 | 
					  top: 0;
 | 
				
			||||||
 | 
					  left: 0;
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  table-layout: fixed;
 | 
				
			||||||
 | 
					  padding: 2px 0;
 | 
				
			||||||
 | 
					  background: #303030;
 | 
				
			||||||
 | 
					  color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-day-name {
 | 
				
			||||||
 | 
					  font-weight: normal;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Rows container and Row */
 | 
				
			||||||
 | 
					.ec-rows {
 | 
				
			||||||
 | 
					  position: absolute;
 | 
				
			||||||
 | 
					  left: 0;
 | 
				
			||||||
 | 
					  bottom: 0;
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  background: white;
 | 
				
			||||||
 | 
					  overflow: hidden;
 | 
				
			||||||
 | 
					  border-right: 1px solid #d5d5d5;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-row {
 | 
				
			||||||
 | 
					  position: absolute;
 | 
				
			||||||
 | 
					  left: 0;
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  overflow: hidden;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Background */
 | 
				
			||||||
 | 
					.ec-row-bg {
 | 
				
			||||||
 | 
					  position: absolute;
 | 
				
			||||||
 | 
					  top: 0;
 | 
				
			||||||
 | 
					  left: 0;
 | 
				
			||||||
 | 
					  height: 100%;
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  table-layout: fixed;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-day-bg {
 | 
				
			||||||
 | 
					  border-left: 1px solid #d5d5d5;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-today-bg {
 | 
				
			||||||
 | 
					  background-color: #ffffdd;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-row-table {
 | 
				
			||||||
 | 
					  position: relative;
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  table-layout: fixed;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Day header */
 | 
				
			||||||
 | 
					.ec-day-header {
 | 
				
			||||||
 | 
					  color: #444;
 | 
				
			||||||
 | 
					  text-align: right;
 | 
				
			||||||
 | 
					  padding: 0 5px;
 | 
				
			||||||
 | 
					  line-height: 16px;
 | 
				
			||||||
 | 
					  border-top: 1px solid #d5d5d5;
 | 
				
			||||||
 | 
					  border-left: 1px solid #d5d5d5;
 | 
				
			||||||
 | 
					  border-bottom: 1px dotted #bbbbbb;
 | 
				
			||||||
 | 
					  background-color: #ecede2;
 | 
				
			||||||
 | 
					  overflow: hidden;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					a.ec-day-link {
 | 
				
			||||||
 | 
					  color: #444;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-today-header {
 | 
				
			||||||
 | 
					  background-color: #d7d7ba;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-weekend-day-header {
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-other-month-header {
 | 
				
			||||||
 | 
					  background-color: #efefef;
 | 
				
			||||||
 | 
					  color: #777;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-other-month-bg {
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Event cell and container */
 | 
				
			||||||
 | 
					.ec-event-cell {
 | 
				
			||||||
 | 
					  cursor: pointer;
 | 
				
			||||||
 | 
					  vertical-align: top;
 | 
				
			||||||
 | 
					  padding-right: 1px;
 | 
				
			||||||
 | 
					  padding-left: 2px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-event-cell a {
 | 
				
			||||||
 | 
					  text-decoration: none;
 | 
				
			||||||
 | 
					  display: block;
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  height: 100%;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-no-event-cell {
 | 
				
			||||||
 | 
					  cursor: default;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-event {
 | 
				
			||||||
 | 
					  color: white;
 | 
				
			||||||
 | 
					  padding-right: 1px;
 | 
				
			||||||
 | 
					  padding-left: 11px;
 | 
				
			||||||
 | 
					  -webkit-border-radius: 3px;
 | 
				
			||||||
 | 
					  -khtml-border-radius: 3px;
 | 
				
			||||||
 | 
					  -moz-border-radius: 3px;
 | 
				
			||||||
 | 
					  overflow: hidden;
 | 
				
			||||||
 | 
					  white-space: nowrap;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-event :hover {
 | 
				
			||||||
 | 
					  /* doesn't look as good as js highlighting */
 | 
				
			||||||
 | 
					  /* background-color: #2eac6a; */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-event-bg a {
 | 
				
			||||||
 | 
					  color: white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* used to distinguish non-all_day events */
 | 
				
			||||||
 | 
					.ec-event-no-bg {
 | 
				
			||||||
 | 
					  position: relative;
 | 
				
			||||||
 | 
					  /* padding-left: 5px; */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-event-no-bg a {
 | 
				
			||||||
 | 
					  /* isn't implemented in all browsers */
 | 
				
			||||||
 | 
					  color: inherit;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-event-time {
 | 
				
			||||||
 | 
					  font-size: 85%;
 | 
				
			||||||
 | 
					  font-weight: bold;
 | 
				
			||||||
 | 
					  padding-right: 3px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Left and right arrows */
 | 
				
			||||||
 | 
					/* Doesn't work in IE6, use bg images instead */
 | 
				
			||||||
 | 
					.ec-left-arrow, .ec-right-arrow {
 | 
				
			||||||
 | 
					  position: relative;
 | 
				
			||||||
 | 
					  top: 3px;
 | 
				
			||||||
 | 
					  width: 0;
 | 
				
			||||||
 | 
					  height: 0;
 | 
				
			||||||
 | 
					  font-size: 0;
 | 
				
			||||||
 | 
					  line-height: 0;
 | 
				
			||||||
 | 
					  margin-bottom: -8px;
 | 
				
			||||||
 | 
					  border-top: 4px solid transparent;
 | 
				
			||||||
 | 
					  border-bottom: 4px solid transparent;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-left-arrow {
 | 
				
			||||||
 | 
					  margin-left: -7px;
 | 
				
			||||||
 | 
					  margin-right: auto;
 | 
				
			||||||
 | 
					  border-right: 4px solid white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ec-right-arrow {
 | 
				
			||||||
 | 
					  margin-left: auto;
 | 
				
			||||||
 | 
					  margin-right: 3px;
 | 
				
			||||||
 | 
					  border-left: 4px solid white;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* remove this to not have a bullet */
 | 
				
			||||||
 | 
					/* don't look as good in ie */
 | 
				
			||||||
 | 
					.ec-bullet {
 | 
				
			||||||
 | 
					  position: absolute;
 | 
				
			||||||
 | 
					  top: 7px;
 | 
				
			||||||
 | 
					  width: 4px;
 | 
				
			||||||
 | 
					  height: 4px;
 | 
				
			||||||
 | 
					  margin-left: -7px;
 | 
				
			||||||
 | 
					  margin-right: auto;
 | 
				
			||||||
 | 
					  -webkit-border-radius: 2px;
 | 
				
			||||||
 | 
					  -khtml-border-radius: 2px;
 | 
				
			||||||
 | 
					  -moz-border-radius: 2px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,99 @@
 | 
				
			||||||
 | 
					PATH
 | 
				
			||||||
 | 
					  remote: .
 | 
				
			||||||
 | 
					  specs:
 | 
				
			||||||
 | 
					    calendar (0.0.1)
 | 
				
			||||||
 | 
					      rails (~> 3.1.4)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GEM
 | 
				
			||||||
 | 
					  remote: http://rubygems.org/
 | 
				
			||||||
 | 
					  specs:
 | 
				
			||||||
 | 
					    actionmailer (3.1.8)
 | 
				
			||||||
 | 
					      actionpack (= 3.1.8)
 | 
				
			||||||
 | 
					      mail (~> 2.3.3)
 | 
				
			||||||
 | 
					    actionpack (3.1.8)
 | 
				
			||||||
 | 
					      activemodel (= 3.1.8)
 | 
				
			||||||
 | 
					      activesupport (= 3.1.8)
 | 
				
			||||||
 | 
					      builder (~> 3.0.0)
 | 
				
			||||||
 | 
					      erubis (~> 2.7.0)
 | 
				
			||||||
 | 
					      i18n (~> 0.6)
 | 
				
			||||||
 | 
					      rack (~> 1.3.6)
 | 
				
			||||||
 | 
					      rack-cache (~> 1.2)
 | 
				
			||||||
 | 
					      rack-mount (~> 0.8.2)
 | 
				
			||||||
 | 
					      rack-test (~> 0.6.1)
 | 
				
			||||||
 | 
					      sprockets (~> 2.0.4)
 | 
				
			||||||
 | 
					    activemodel (3.1.8)
 | 
				
			||||||
 | 
					      activesupport (= 3.1.8)
 | 
				
			||||||
 | 
					      builder (~> 3.0.0)
 | 
				
			||||||
 | 
					      i18n (~> 0.6)
 | 
				
			||||||
 | 
					    activerecord (3.1.8)
 | 
				
			||||||
 | 
					      activemodel (= 3.1.8)
 | 
				
			||||||
 | 
					      activesupport (= 3.1.8)
 | 
				
			||||||
 | 
					      arel (~> 2.2.3)
 | 
				
			||||||
 | 
					      tzinfo (~> 0.3.29)
 | 
				
			||||||
 | 
					    activeresource (3.1.8)
 | 
				
			||||||
 | 
					      activemodel (= 3.1.8)
 | 
				
			||||||
 | 
					      activesupport (= 3.1.8)
 | 
				
			||||||
 | 
					    activesupport (3.1.8)
 | 
				
			||||||
 | 
					      multi_json (>= 1.0, < 1.3)
 | 
				
			||||||
 | 
					    arel (2.2.3)
 | 
				
			||||||
 | 
					    builder (3.0.3)
 | 
				
			||||||
 | 
					    erubis (2.7.0)
 | 
				
			||||||
 | 
					    hike (1.2.1)
 | 
				
			||||||
 | 
					    i18n (0.6.1)
 | 
				
			||||||
 | 
					    jquery-rails (2.1.2)
 | 
				
			||||||
 | 
					      railties (>= 3.1.0, < 5.0)
 | 
				
			||||||
 | 
					      thor (~> 0.14)
 | 
				
			||||||
 | 
					    json (1.7.5)
 | 
				
			||||||
 | 
					    mail (2.3.3)
 | 
				
			||||||
 | 
					      i18n (>= 0.4.0)
 | 
				
			||||||
 | 
					      mime-types (~> 1.16)
 | 
				
			||||||
 | 
					      treetop (~> 1.4.8)
 | 
				
			||||||
 | 
					    mime-types (1.19)
 | 
				
			||||||
 | 
					    multi_json (1.2.0)
 | 
				
			||||||
 | 
					    polyglot (0.3.3)
 | 
				
			||||||
 | 
					    rack (1.3.6)
 | 
				
			||||||
 | 
					    rack-cache (1.2)
 | 
				
			||||||
 | 
					      rack (>= 0.4)
 | 
				
			||||||
 | 
					    rack-mount (0.8.3)
 | 
				
			||||||
 | 
					      rack (>= 1.0.0)
 | 
				
			||||||
 | 
					    rack-ssl (1.3.2)
 | 
				
			||||||
 | 
					      rack
 | 
				
			||||||
 | 
					    rack-test (0.6.1)
 | 
				
			||||||
 | 
					      rack (>= 1.0)
 | 
				
			||||||
 | 
					    rails (3.1.8)
 | 
				
			||||||
 | 
					      actionmailer (= 3.1.8)
 | 
				
			||||||
 | 
					      actionpack (= 3.1.8)
 | 
				
			||||||
 | 
					      activerecord (= 3.1.8)
 | 
				
			||||||
 | 
					      activeresource (= 3.1.8)
 | 
				
			||||||
 | 
					      activesupport (= 3.1.8)
 | 
				
			||||||
 | 
					      bundler (~> 1.0)
 | 
				
			||||||
 | 
					      railties (= 3.1.8)
 | 
				
			||||||
 | 
					    railties (3.1.8)
 | 
				
			||||||
 | 
					      actionpack (= 3.1.8)
 | 
				
			||||||
 | 
					      activesupport (= 3.1.8)
 | 
				
			||||||
 | 
					      rack-ssl (~> 1.3.2)
 | 
				
			||||||
 | 
					      rake (>= 0.8.7)
 | 
				
			||||||
 | 
					      rdoc (~> 3.4)
 | 
				
			||||||
 | 
					      thor (~> 0.14.6)
 | 
				
			||||||
 | 
					    rake (0.9.2.2)
 | 
				
			||||||
 | 
					    rdoc (3.12)
 | 
				
			||||||
 | 
					      json (~> 1.4)
 | 
				
			||||||
 | 
					    sprockets (2.0.4)
 | 
				
			||||||
 | 
					      hike (~> 1.2)
 | 
				
			||||||
 | 
					      rack (~> 1.0)
 | 
				
			||||||
 | 
					      tilt (~> 1.1, != 1.3.0)
 | 
				
			||||||
 | 
					    sqlite3 (1.3.6)
 | 
				
			||||||
 | 
					    thor (0.14.6)
 | 
				
			||||||
 | 
					    tilt (1.3.3)
 | 
				
			||||||
 | 
					    treetop (1.4.10)
 | 
				
			||||||
 | 
					      polyglot
 | 
				
			||||||
 | 
					      polyglot (>= 0.3.1)
 | 
				
			||||||
 | 
					    tzinfo (0.3.33)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PLATFORMS
 | 
				
			||||||
 | 
					  ruby
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DEPENDENCIES
 | 
				
			||||||
 | 
					  calendar!
 | 
				
			||||||
 | 
					  jquery-rails
 | 
				
			||||||
 | 
					  sqlite3
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,12 @@
 | 
				
			||||||
 | 
					class Panel::Orbitcalendar::BackEnd::CalendarController < ApplicationController
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  def index
 | 
				
			||||||
 | 
					    @month = (params[:month] || (Time.zone || Time).now.month).to_i
 | 
				
			||||||
 | 
					    @year = (params[:year] || (Time.zone || Time).now.year).to_i
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @shown_month = Date.civil(@year, @month)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @event_strips = Event.event_strips_for_month(@shown_month)
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
							
								
								
									
										24
									
								
								vendor/built_in_modules/calendar/app/helpers/panel/orbitcalendar/back_end/calendar_helper.rb
								
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										24
									
								
								vendor/built_in_modules/calendar/app/helpers/panel/orbitcalendar/back_end/calendar_helper.rb
								
								
								
									vendored
								
								
									Normal file
								
							| 
						 | 
					@ -0,0 +1,24 @@
 | 
				
			||||||
 | 
					module Panel::Orbitcalendar::BackEnd::CalendarHelper
 | 
				
			||||||
 | 
					  def month_link(month_date)
 | 
				
			||||||
 | 
					    link_to(I18n.localize(month_date, :format => "%B"), {:month => month_date.month, :year => month_date.year})
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  # custom options for this calendar
 | 
				
			||||||
 | 
					  def event_calendar_opts
 | 
				
			||||||
 | 
					    { 
 | 
				
			||||||
 | 
					      :year => @year,
 | 
				
			||||||
 | 
					      :month => @month,
 | 
				
			||||||
 | 
					      :event_strips => @event_strips,
 | 
				
			||||||
 | 
					      :month_name_text => I18n.localize(@shown_month, :format => "%B %Y"),
 | 
				
			||||||
 | 
					      :previous_month_text => "<< " + month_link(@shown_month.prev_month),
 | 
				
			||||||
 | 
					      :next_month_text => month_link(@shown_month.next_month) + " >>"    }
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def event_calendar
 | 
				
			||||||
 | 
					    # args is an argument hash containing :event, :day, and :options
 | 
				
			||||||
 | 
					    calendar event_calendar_opts do |args|
 | 
				
			||||||
 | 
					      event = args[:event]
 | 
				
			||||||
 | 
					      %(<a href="/events/#{event.id}" title="#{h(event.name)}">#{h(event.name)}</a>)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					class Event 
 | 
				
			||||||
 | 
						include Mongoid::Document
 | 
				
			||||||
 | 
					   has_event_calendar
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					<!-- Probably move the stylesheet to you layout. Also make sure you include the javascript. -->
 | 
				
			||||||
 | 
					<%= stylesheet_link_tag "event_calendar" %>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<h1>Calendar</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<%= raw(event_calendar) %>
 | 
				
			||||||
| 
						 | 
					@ -1,9 +1,9 @@
 | 
				
			||||||
Rails.application.routes.draw do
 | 
					Rails.application.routes.draw do
 | 
				
			||||||
	namespace :panel do
 | 
						namespace :panel do
 | 
				
			||||||
	  namespace :calendar do
 | 
						  namespace :orbitcalendar do
 | 
				
			||||||
	      namespace :back_end do 
 | 
						      namespace :back_end do 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	      	resources :cals
 | 
						      	match '/calendar(/:year(/:month))' => 'calendar#index', :as => :calendar, :constraints => {:year => /\d{4}/, :month => /\d{1,2}/}
 | 
				
			||||||
	      	resources :calendar_categories
 | 
						      	resources :calendar_categories
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	      end
 | 
						      end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue