Changeset 7869 for sandbox/2.5.1-expresso2/prototype
- Timestamp:
- 02/06/13 16:33:31 (12 years ago)
- Location:
- sandbox/2.5.1-expresso2/prototype/modules/calendar
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/2.5.1-expresso2/prototype/modules/calendar/interceptors/DBMapping.php
r7795 r7869 599 599 $isAllDay = 1; 600 600 601 $taskToActivity = Controller::find(array('concept' => 'taskToActivity'), false, array('filter' => array('AND', array('=', 'activity', $taskToActivity[0]['activity']), array('=', 'owner', Config::me('uidNumber'))), 'deepness' => 2)); 602 601 603 if(!empty($activity)){ 602 604 $start = $params['startTime']; 603 605 $end = $params['endTime']; 604 606 foreach($taskToActivity as $t){ 605 if($t['task']['id'] != $params['id']){ 606 $start = $t['task']['startTime'] < $start ? $t['task']['startTime'] : $start;607 $end = $t['task']['endTime'] > $end ? $t['task']['endTime'] : $end;608 $isAllDay = (($isAllDay == 1) && ($t['task']['allDay'] == '1')) ? 1 : 0;607 if($t['task']['id'] != $params['id']){ 608 $start = $t['task']['startTime'] < $start ? $t['task']['startTime'] : $start; 609 $end = $t['task']['endTime'] > $end ? $t['task']['endTime'] : $end; 610 $isAllDay = (($isAllDay == 1) && ($t['task']['allDay'] == '1')) ? 1 : 0; 609 611 } 610 612 } … … 841 843 } 842 844 845 //Função que traz o 'calendar'(grupo) das tarefas. 846 public function getCalendarTask( $task ){ 847 848 $sql = 'select co.calendar_id as "calendar" from calendar_to_calendar_object as "co", calendar_signature as "cs" where cs.user_uidnumber = '. Config::me('uidNumber') 849 .' AND cs.is_owner = 1 AND cs.calendar_id = co.calendar_id AND co.calendar_object_id = '. $task; 850 851 852 $returns = Controller::service('PostgreSQL')->execResultSql($sql); 853 854 return $returns[0]['calendar']; 855 856 } 857 843 858 //TODO: Remover apos suporte a deepness na api 844 859 public function deepnessFindTask(&$uri, &$result, &$criteria, $original) { 845 if (isset($original['criteria']['deepness']) && $original['criteria']['deepness'] != 0) 846 foreach($result as &$value) 860 861 if (isset($criteria['deepness']) && $criteria['deepness'] != 0){ 862 foreach($result as &$value){ 847 863 $value['task'] = Controller::read(array('concept' => 'schedulable', 'id' => $value['task'])); 848 864 $value['task']['calendar'] = self::getCalendarTask( $value['task']['id'] ); 865 866 } 849 867 850 868 return $result; 851 869 } 870 } 852 871 853 872 //TODO: Remover apos suporte a deepness na api 854 873 public function deepnessFindHistoric(&$uri, &$result, &$criteria, $original) { 855 if (isset($ original['criteria']['deepness']) && $original['criteria']['deepness'] != 0) {874 if (isset($criteria['deepness']) && $criteria['deepness'] != 0) { 856 875 foreach($result as &$v){ 857 876 $v['user'] = Controller::read(array('concept' => 'user', 'id' => $v['user'])); … … 883 902 .'calendar_object.range_end as "rangeEnd", calendar_object.last_update as "lastUpdate", ' 884 903 .'calendar_object.dtstamp as "dtstamp", calendar_object.sequence as "sequence", ' 885 .'calendar_object.tzid as "timezone" ' 886 .'FROM calendar_object ' 887 .'WHERE ( calendar_object.id = '. $criteria['schedulable'] .')'; 904 .'calendar_object.tzid as "timezone", calendar_to_calendar_object.calendar_id as "calendar" ' 905 .'FROM calendar_object, calendar_to_calendar_object ' 906 .'WHERE ( calendar_object.id = '. $criteria['schedulable'] .' AND calendar_to_calendar_object.calendar_object_id = calendar_object.id)'; 907 888 908 889 909 $params = Controller::service('PostgreSQL')->execResultSql($sql); 910 911 foreach( $params as &$event ){ 912 if(isset( $event['repeat'] ) && isset( $event['repeat']['id'] ) ){ 913 $occurrences = Controller::service('PostgreSQL')->execResultSql('SELECT DISTINCT occurrence FROM calendar_object as "c", calendar_repeat_occurrence as "o", calendar_repeat as "r" WHERE r.object_id = '. $event['id'] .' AND o.repeat_id = r.id ' ); 914 915 if($occurrences){ 916 $event['occurrences'] = array(); 917 918 foreach($occurrences as $o) 919 $event['occurrences'][] = $o['occurrence']; 920 }else 921 unset( $event['occurrences'] ); 922 } 923 } 890 924 891 925 $params = self::deepnessFindEvent($uri, $params, $criteria, $original); … … 899 933 //TODO: Remover apos suporte a deepness na api 900 934 public function deepnessFindEvent(&$uri, &$result, &$criteria, $original) { 901 if ((isset($ original['criteria']['deepness']) && $original['criteria']['deepness'] != 0) ) {935 if ((isset($criteria['deepness']) && $criteria['deepness'] != 0) ) { 902 936 903 937 $date = new DateTime('now', new DateTimeZone('UTC')); … … 988 1022 public static function deepnessReadParticipant( &$uri , &$result , &$criteria , $original ){ 989 1023 990 if(isset($ original['criteria']['deepness']) && $original['criteria']['deepness'] != 0)1024 if(isset($criteria['deepness']) && $criteria['deepness'] != 0) 991 1025 { 992 1026 if(isset($result['id']) && isset($result['user'])) -
sandbox/2.5.1-expresso2/prototype/modules/calendar/js/activity.helpers.js
r7680 r7869 222 222 } 223 223 */ 224 UI.dialogs.addActivity.find('select[name="activityStatus"], input[name="allDay"]').removeAttr('disabled'); 225 canDiscardActivityDialog = true; 226 227 UI.dialogs.addActivity.children().find('form.form-addactivity').submit(); 228 UI.dialogs.addActivity.dialog("close"); 224 225 //Código o qual será chamado para o salvamento da Atividade. 226 var handler_save = function (objsToSave){ 227 UI.dialogs.addActivity.find('select[name="activityStatus"], input[name="allDay"]').removeAttr('disabled'); 228 canDiscardActivityDialog = true; 229 230 var activity_tst = DataLayer.form( UI.dialogs.addActivity.children().find('form') ); 231 if(objsToSave) 232 objsToSave[objsToSave.length] = activity_tst; 233 234 else 235 objsToSave = activity_tst; 236 DataLayer.put('schedulable', objsToSave); 237 238 UI.dialogs.addActivity.dialog("close"); 239 } 240 241 //Verifica se o grupo da atividade mudou 242 if (group.id != UI.dialogs.addActivity.children().find('form select[name="group"] :selected').val() && typeof group.id != 'undefined') { 243 //Janela de dialogo 244 $.Zebra_Dialog('Você alterou o grupo da atividade, deseja alterar também o grupo das tarefas pertencentes à essa atividade?', { 245 'type': 'question', 246 'overlay_opacity': '0.5', 247 'modal': true, 248 'buttons': ['Não Alterar', 'Alterar'], 249 'onClose': function(clicked) { 250 if(clicked == 'Não Alterar') { 251 252 handler_save(); 253 }else{ 254 var objsToSave = []; 255 //percorre as tarefas da atividade para verificar se o grupo mudou 256 for(var t in objActivity.tasks){ 257 if(typeof objActivity.tasks[t].group != 'undefined') 258 if (objActivity.tasks[t].group != UI.dialogs.addActivity.children().find('form select[name="group"] :selected').val()){ 259 objActivity.tasks[t].group = UI.dialogs.addActivity.children().find('form select[name="group"] :selected').val(); 260 objsToSave[objsToSave.length] = {'calendar' : objActivity.tasks[t].group, 'id': t}; 261 } 262 } 263 handler_save(objsToSave); 264 265 } 266 267 } 268 }); 269 270 271 } else { 272 handler_save(); 273 } 229 274 230 275 }).end() … … 259 304 ['=', 'type', '2'], 260 305 ['>=','startTime', $.now()], 261 ['in', 'calendar', 262 [$('div.new-activity-win.active select[name="groupFilter"]').val()] 263 ] 306 ['in', 'calendar', [$('div.new-activity-win.active select[name="groupFilter"]').val()]] 264 307 ], criteria: {filterTasks: true, deepness: 2} 265 308 }; … … 412 455 updateActivity = false; 413 456 414 var objActivity = DataLayer.get('schedulable:activity', UI.dialogs.addActivity.find('input[name="idActivity"]').val()); 457 var idTask = UI.dialogs.addActivity.find('input[name="idActivity"]').val(); 458 459 getSchedulable( idTask ); 460 461 var objActivity = DataLayer.get('schedulable:activity', idTask ); 415 462 var blkAddTask = UI.dialogs.addActivity.find('#group_addactivity_details8'); 416 463 var blkAuto = UI.dialogs.addActivity.find('#group_addactivity_details1'); … … 671 718 text: false 672 719 }).click(function () { 673 var task = DataLayer.get('schedulable:task', $(this).parents('li').find('input[name="idtask[]"]').val()); 674 taskDetails(task, true, '',true, null, true); 720 var idTask = $(this).parents('li').find('input[name="idtask[]"]').val() 721 getSchedulable(idTask); 722 var task = DataLayer.get('schedulable:task', idTask); 723 taskDetails(task, true, '',true, null, true); 675 724 }) 676 725 .addClass('tiny disable ui-button-disabled ui-state-disabled') -
sandbox/2.5.1-expresso2/prototype/modules/calendar/js/calendar.codecs.js
r7790 r7869 1171 1171 percentage: task.percentage, 1172 1172 priority: task.priority, 1173 summary: task.summary 1173 summary: task.summary, 1174 group: task.calendar 1174 1175 } 1175 1176 -
sandbox/2.5.1-expresso2/prototype/modules/calendar/js/init.js
r7787 r7869 503 503 break; 504 504 case 3: 505 DataLayer.remove('taskToActivity', false);//Limpa o cache 505 506 var activity = getSchedulable(evt.id, ''); 506 507 activity.group = evt.calendar;
Note: See TracChangeset
for help on using the changeset viewer.