Changeset 7861 for trunk/prototype/modules/calendar/interceptors
- Timestamp:
- 02/06/13 08:53:21 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/calendar/interceptors/DBMapping.php
r7795 r7861 594 594 //necessário para atulizar a atividade de composta pela tarefa aqui sendo atualizada 595 595 if(isset($criteria['historic']['startTime']) || isset($criteria['historic']['endTime'])){ 596 /* 597 * Verify current task is built-in activity 598 * */ 596 599 $taskToActivity = Controller::find(array('concept' => 'taskToActivity'), false, array('filter' => array('AND', array('=', 'task', $uri['id']), array('=', 'owner', Config::me('uidNumber'))), 'deepness' => 2)); 597 600 if(!empty($taskToActivity)){ … … 599 602 $isAllDay = 1; 600 603 604 /* 605 * Get all task in activity 606 * */ 607 $taskToActivity = Controller::find(array('concept' => 'taskToActivity'), false, array('filter' => array('AND', array('=', 'activity', $taskToActivity[0]['activity']), array('=', 'owner', Config::me('uidNumber'))), 'deepness' => 2)); 608 601 609 if(!empty($activity)){ 602 610 $start = $params['startTime']; 603 611 $end = $params['endTime']; 604 612 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; 609 } 613 614 615 if($t['task']['id'] != $params['id']){ 616 $start = $t['task']['startTime'] < $start ? $t['task']['startTime'] : $start; 617 $end = $t['task']['endTime'] > $end ? $t['task']['endTime'] : $end; 618 $isAllDay = (($isAllDay == 1) && ($t['task']['allDay'] == '1')) ? 1 : 0; 619 } 610 620 } 611 621 … … 631 641 } 632 642 } 633 643 /* 644 * Clean historic not used 645 * */ 634 646 unset($criteria['historic']['endTime']); 635 647 unset($criteria['historic']['rangeEnd']); … … 841 853 } 842 854 855 public function getCalendarTask( $task ){ 856 857 $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') 858 .' AND cs.is_owner = 1 AND cs.calendar_id = co.calendar_id AND co.calendar_object_id = '. $task; 859 860 861 $returns = Controller::service('PostgreSQL')->execResultSql($sql); 862 863 return $returns[0]['calendar']; 864 } 865 843 866 //TODO: Remover apos suporte a deepness na api 844 867 public function deepnessFindTask(&$uri, &$result, &$criteria, $original) { 845 if (isset($original['criteria']['deepness']) && $original['criteria']['deepness'] != 0) 846 foreach($result as &$value) 868 if (isset($criteria['deepness']) && $criteria['deepness'] != 0){ 869 870 foreach($result as &$value){ 871 847 872 $value['task'] = Controller::read(array('concept' => 'schedulable', 'id' => $value['task'])); 848 849 850 return $result; 873 $value['task']['calendar'] = self::getCalendarTask( $value['task']['id'] ); 874 } 875 876 return $result; 877 } 851 878 } 852 879 853 880 //TODO: Remover apos suporte a deepness na api 854 881 public function deepnessFindHistoric(&$uri, &$result, &$criteria, $original) { 855 if (isset($ original['criteria']['deepness']) && $original['criteria']['deepness'] != 0) {882 if (isset($criteria['deepness']) && $criteria['deepness'] != 0) { 856 883 foreach($result as &$v){ 857 884 $v['user'] = Controller::read(array('concept' => 'user', 'id' => $v['user'])); … … 883 910 .'calendar_object.range_end as "rangeEnd", calendar_object.last_update as "lastUpdate", ' 884 911 .'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'] .' )';912 .'calendar_object.tzid as "timezone", calendar_to_calendar_object.calendar_id as "calendar" ' 913 .'FROM calendar_object, calendar_to_calendar_object ' 914 .'WHERE ( calendar_object.id = '. $criteria['schedulable'] .' AND calendar_to_calendar_object.calendar_object_id = calendar_object.id)'; 888 915 889 916 $params = Controller::service('PostgreSQL')->execResultSql($sql); 917 918 foreach( $params as &$event ){ 919 920 921 if(isset( $event['repeat'] ) && isset( $event['repeat']['id'] ) ){ 922 $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 ' ); 923 924 if($occurrences){ 925 $event['occurrences'] = array(); 926 927 foreach($occurrences as $o) 928 $event['occurrences'][] = $o['occurrence']; 929 }else 930 unset( $event['occurrences'] ); 931 } 932 } 890 933 891 934 $params = self::deepnessFindEvent($uri, $params, $criteria, $original); 892 935 return false; 893 936 } 894 895 896 897 937 } 898 938 899 939 //TODO: Remover apos suporte a deepness na api 900 940 public function deepnessFindEvent(&$uri, &$result, &$criteria, $original) { 901 if ((isset($ original['criteria']['deepness']) && $original['criteria']['deepness'] != 0) ) {941 if ((isset($criteria['deepness']) && $criteria['deepness'] != 0) ) { 902 942 903 943 $date = new DateTime('now', new DateTimeZone('UTC')); … … 988 1028 public static function deepnessReadParticipant( &$uri , &$result , &$criteria , $original ){ 989 1029 990 if(isset($ original['criteria']['deepness']) && $original['criteria']['deepness'] != 0)1030 if(isset($criteria['deepness']) && $criteria['deepness'] != 0) 991 1031 { 992 1032 if(isset($result['id']) && isset($result['user']))
Note: See TracChangeset
for help on using the changeset viewer.