GPRS and CALENDAR

This commit is contained in:
Harry Bomrah committed 2012-09-17 21:37:05 +08:00
1 parent 43ecebf934
commit 84205379c1
67 files changed
+841 -22

No files matched your search

@@ -15,7 +15,7 @@ var calendarAPI = function(){
})
var bindHandlers = function(){
$(".event").live("click",function(){
c.displayEvent();
c.displayEvent($(this));
})
$("#create_event_btn").click(function(){
@@ -115,6 +115,8 @@ var calendarAPI = function(){
$.getJSON("cals/getEvents",{"type":"monthview","month":month,"year":year},function(events){
var $eventrow = $("<tr></tr>");
var nos = new Array();
var currow = 0;
var lastno = 0;
nos.push(0);
$.each(events,function(i,evnt){
var daydom = $("#calendar_month td[date="+evnt.start_date+"]");
@@ -124,28 +126,51 @@ var calendarAPI = function(){
var thisno = daydom.attr("no");
var index = "new";
var smallcount = 0;
for(x in nos){
if(thisno < nos[x]){
$eventrow = null;
$eventrow = $("<tr></tr>");
if(thisno > nos[x]){
smallcount++;
}
if(smallcount > 0){
index = x;
break;
}
}
if(index == "new"){
nos=[]
$eventrow = null;
$eventrow = $("<tr></tr>");
}
if(thisrow!=currow){
$eventrow = null;
$eventrow = $("<tr></tr>");
}
if(index!="new"){
nos[index] = (thisno + evnt.total_days) - 1;
nos[index] = (parseInt(thisno) + parseInt(evnt.total_days)) - 1;
}else{
nos.push((thisno + evnt.total_days) - 1);
nos.push((parseInt(thisno) + parseInt(evnt.total_days)) - 1);
}
if(pos == 1){
$eventrow.html('<td colspan="'+evnt.total_days+'"><div class="event" style="background-color: '+evnt.color+';">'+evnt.title+'</div></td>');
$eventrow.html('<td colspan="'+evnt.total_days+'" class="main_td" pos="'+pos+'"><div class="event" link="'+evnt.show_link+'" style="background-color: '+evnt.color+';">'+evnt.title+'</div></td>');
}else{
if($eventrow.html()==""){
$eventrow.append('<td colspan="'+(pos-1)+'">');
}else{
if((lastno+1)!=thisno){
var inposition = $eventrow.find("td.main_td").attr("pos");
var colspan = parseInt(pos) - parseInt(inposition);
colspan--;
$eventrow.append('<td colspan="'+colspan+'">');
}
}
$eventrow.append('<td colspan="'+evnt.total_days+'"><div class="event" style="background-color: '+evnt.color+';">'+evnt.title+'</div></td>');
$eventrow.append('<td colspan="'+evnt.total_days+'" class="main_td" pos="'+pos+'"><div link="'+evnt.show_link+'" class="event" style="background-color: '+evnt.color+';">'+evnt.title+'</div></td>');
}
lastno = (parseInt(thisno) + parseInt(evnt.total_days)) - 1;
currow = thisrow;
curparent.append($eventrow);
})
})
@@ -195,9 +220,14 @@ var calendarAPI = function(){
$("tr[for="+domfor+"]").remove();
})
}
this.displayEvent = function(){
c.event_quick_view_div.show()
this.displayEvent = function(dom){
var url = dom.attr("link");
c.event_quick_view_div.load(url,function(){
c.event_quick_view_div.show()
c.event_quick_view_div.find(".event-close-btn").click(function(){
c.event_quick_view_div.empty().hide();
})
})
}
c.initialize();
}
@@ -265,7 +265,7 @@
/* Event Controller */
.event_controller {
width: 300px;
width: 350px;
}
.event_controller .row-fluid {
margin-bottom: 6px;
@@ -58,7 +58,7 @@ class Panel::Calendar::BackEnd::CalsController < OrbitBackendController
def get_events
month = params[:month]
year = params[:year]
events = Event.where(:start_month => month).and(:start_year => year)
events = Event.where(:start_month => month).and(:start_year => year).asc(:start_date)
@events = Array.new
events.each do |event|
# @temp = Array.new
@@ -66,8 +66,9 @@ class Panel::Calendar::BackEnd::CalsController < OrbitBackendController
no_of_days = no_of_days.to_i
no_of_days += 1
color = Cal.find(event.cal_id).color
@events << {"start_date"=>event.start_date, "total_days" => no_of_days, "title" => event.title,"color"=>color}
@events << {"start_date"=>event.start_date, "total_days" => no_of_days, "title" => event.title,"color"=>color,"show_link"=>panel_calendar_back_end_event_path(event)}
end
@events = @events.sort{|k,v| v[:total_days] <=> k[:total_days]}
render :json => @events.to_json
end
@@ -1,5 +1,5 @@
class Panel::Calendar::BackEnd::EventsController < OrbitBackendController
include Panel::Calendar::BackEnd::CalsHelper
def new
@calendars = Cal.all
@event = Event.new
@@ -55,4 +55,14 @@ class Panel::Calendar::BackEnd::EventsController < OrbitBackendController
h.js
end
end
end
def show
@event = Event.find(params[:id])
@start_month_name = Date::ABBR_MONTHNAMES[@event.start_month]
@end_month_name = Date::ABBR_MONTHNAMES[@event.end_month]
@start_day_name = getDayName(@event.start_date,@event.start_month,@event.start_year)
@end_day_name = getDayName(@event.end_date,@event.end_month,@event.end_year)
render :layout=>false
end
end
@@ -61,5 +61,10 @@ module Panel::Calendar::BackEnd::CalsHelper
monthsdays << 31
return monthsdays
end
def getDayName(date,month,year)
dt = Date.new(year,month,date)
name = Date::ABBR_DAYNAMES[dt.wday]
return name
end
end
@@ -62,7 +62,7 @@
</div>
</div>
</div>
<div id="event_create" class="modal" style="right: 8px; bottom: 50px; left: auto; top: auto; width: 330px; margin: 0;display:none;"></div>
<div id="event_create" class="modal" style="right: 8px; bottom: 50px; left: auto; top: auto; width: 380px; margin: 0;display:none;"></div>
<div id="event_quick_view" class="modal" style="width: 300px; top: 60%;display:none"></div>
@@ -1,10 +1,15 @@
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3>Event Name</h3>
<button type="button" class="close event-close-btn" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3><%= @event.title %></h3>
</div>
<div class="modal-body">
<div class="event_summary">
Thu, September 13
<!-- Thu, September 13 -->
<% if @event.start_date == @event.end_date %>
<%= @start_day_name+", "+@event.start_date.to_s+"-"+@start_month_name %>
<% else %>
<%= @start_day_name+", "+@event.start_date.to_s+"-"+@start_month_name %> to <%= @end_day_name+", "+@event.end_date.to_s + "-" + @end_month_name %>
<% end %>
</div>
</div>
<div class="modal-footer">