Changeset 6891 for sandbox/2.4.2-expresso1/prototype/modules/calendar
- Timestamp:
- 07/27/12 14:47:35 (12 years ago)
- Location:
- sandbox/2.4.2-expresso1/prototype/modules/calendar
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/2.4.2-expresso1/prototype/modules/calendar/interceptors/DBMapping.php
r6876 r6891 820 820 821 821 static private function countMyCalendarsEvent($id, $owner) { 822 $sig = Controller::find(array('concept' => 'calendarSignature'), array('user', 'calendar', 'isOwner'), array('filter' => array('AND', array('=', ' user', $owner), array('=', 'isOwner', '1'))));822 $sig = Controller::find(array('concept' => 'calendarSignature'), array('user', 'calendar', 'isOwner'), array('filter' => array('AND', array('=', 'isOwner', '1'), array('=', 'user', $owner)))); 823 823 $calendars = array(); 824 824 foreach ($sig as $val) … … 939 939 940 940 public function createDefaultGroup(&$uri, &$result, &$criteria, $original) { 941 $existDefaultGroup = false; 942 943 foreach($result as $v){ 944 if($v['type'] == 1 && $v['calendar']['type'] == 1) 945 $existDefaultGroup = true; 946 } 947 948 if(!$existDefaultGroup){ 949 950 $cal = array('name' => 'Sem grupo', 951 'description' => 'Sem grupo', 952 'timezone' => (date_default_timezone_get()) ? date_default_timezone_get() : 'America/Sao_Paulo', 953 'dtstamp' => time() . '000', 954 'type' => '1' 955 ); 956 957 $calCreated = Controller::create(array('concept' => 'calendar'), $cal); 958 959 $sig = array('user' => $_SESSION['wallet']['user']['uidNumber'], 960 'calendar' => $calCreated['id'], 961 'isOwner' => '1', 962 'dtstamp' => time() . '000', 963 'fontColor' => 'FFFFFF', 964 'backgroundColor' => '3366CC', 965 'borderColor' => '3366CC', 966 'type' => '1' 967 ); 968 969 $sigCreated = Controller::create(array('concept' => 'calendarSignature'), $sig); 970 $sigCreated = Controller::read(array('concept' => 'calendarSignature', 'id' => $sigCreated['id']), false, array('deepness' => 2 )); 971 972 array_push($result, $sigCreated); 973 941 if( $original['criteria']['filter'][1][0] == '=' && 942 $original['criteria']['filter'][1][1] == 'user' && 943 $original['criteria']['filter'][1][2] == $_SESSION['phpgw_session']['account_id']){ 944 945 $existDefaultGroup = false; 946 947 foreach($result as $v){ 948 if($v['type'] == 1 && $v['calendar']['type'] == 1) 949 $existDefaultGroup = true; 950 } 951 952 if(!$existDefaultGroup){ 953 954 $cal = array('name' => 'Sem grupo', 955 'description' => 'Sem grupo', 956 'timezone' => (date_default_timezone_get()) ? date_default_timezone_get() : 'America/Sao_Paulo', 957 'dtstamp' => time() . '000', 958 'type' => '1' 959 ); 960 961 $calCreated = Controller::create(array('concept' => 'calendar'), $cal); 962 963 $sig = array('user' => $_SESSION['wallet']['user']['uidNumber'], 964 'calendar' => $calCreated['id'], 965 'isOwner' => '1', 966 'dtstamp' => time() . '000', 967 'fontColor' => 'FFFFFF', 968 'backgroundColor' => '3366CC', 969 'borderColor' => '3366CC', 970 'type' => '1' 971 ); 972 973 $sigCreated = Controller::create(array('concept' => 'calendarSignature'), $sig); 974 $sigCreated = Controller::read(array('concept' => 'calendarSignature', 'id' => $sigCreated['id']), false, array('deepness' => 2 )); 975 976 array_push($result, $sigCreated); 977 } 974 978 975 979 } -
sandbox/2.4.2-expresso1/prototype/modules/calendar/js/calendar.codecs.js
r6885 r6891 1074 1074 1075 1075 return notArray ? res[0] : res; 1076 } 1077 1078 }); 1079 1080 1081 DataLayer.codec( "schedulable", "print", { 1082 1083 decoder: function( evtObj ){ 1084 1085 }, 1086 1087 1088 encoder: function( evtObj ){ 1089 1090 if(!(!!evtObj)) 1091 return undefined; 1092 1093 var notArray = false; 1094 1095 if( notArray = $.type(evtObj) !== "array" ) 1096 evtObj = [ evtObj ]; 1097 1098 var pref = User.preferences; 1099 var res = []; 1100 1101 for(var i = 0; i < evtObj.length; i++){ 1102 res.push(DataLayer.encode('schedulable:' + (evtObj[i].type == '1' ? 'preview' : 'task'), evtObj[i])); 1103 } 1104 1105 if( !notArray ){ 1106 var dates = {}; 1107 1108 var typeRepeat = { 1109 'none': false, 1110 'daily': 'Repetição diária', 1111 'weekly': 'Repetição semanal', 1112 'monthly': 'Repetição mensal', 1113 'yearly': 'repetição anual' 1114 } 1115 1116 for (var i=0; i < res.length; i++) { 1117 var startDate = Date.parseExact( res[i]['startDate'], User.preferences.dateFormat ); 1118 var endDate = Date.parseExact( res[i]['endDate'], User.preferences.dateFormat ); 1119 1120 var duration = parseInt( endDate.getTime() ) - parseInt( startDate.getTime() ); 1121 1122 var occurrences = [ startDate.getTime() ]; 1123 1124 if( res[i].occurrences ) 1125 { 1126 occurrences = res[i].occurrences; 1127 } 1128 1129 for( var ii = 0; ii < occurrences.length; ii++ ) 1130 { 1131 var currentDate = new Date( occurrences[ii] ); 1132 var counter = currentDate.clone(); 1133 1134 var res2 = $.extend( {}, res[i], { 1135 'startDate': currentDate.toString( User.preferences.dateFormat ), 1136 'endDate': new Date( occurrences[ii] + duration ).toString( User.preferences.dateFormat ) 1137 }); 1138 1139 if(res[i].repeat) 1140 res2.repeat = typeRepeat[res[i].repeat.frequency]; 1141 1142 var index = dateCalendar.dayNames[counter.getDay()] +' '+counter.toString('dd/MM'); 1143 1144 if(!dates[index] || !$.isArray(dates[index].events)) 1145 dates[index] = {events: []}; 1146 1147 dates[index].events.push(res2); 1148 1149 } 1150 } 1151 1152 var calendarView = $('#calendar').fullCalendar('getView'); 1153 var start = calendarView.visStart.getTime(); 1154 var end = calendarView.visEnd.getTime(); 1155 var next = start; 1156 var response = []; 1157 1158 while (next){ 1159 var index = dateCalendar.dayNames[new Date(next).getDay()] +' '+ new Date(next).toString('dd/MM'); 1160 1161 var event = {}; 1162 event[index] = {events: dates[index] ? dates[index].events : false}; 1163 1164 response[response.length] = event; 1165 next = (next + 86400000) > end ? false : (next + 86400000); 1166 } 1167 1168 1169 res = {events: response}; 1170 } 1171 1172 return notArray ? res[0] : res; 1076 1173 } 1077 1174
Note: See TracChangeset
for help on using the changeset viewer.