Changeset 6295 for trunk/prototype
- Timestamp:
- 05/24/12 16:26:24 (12 years ago)
- Location:
- trunk/prototype
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/calendar/constants.php
r5879 r6295 31 31 define('ICAL_ACTION_ORGANIZER_UPDATE', 8); 32 32 define('ICAL_ACTION_ORGANIZER_NONE', 9); 33 define('ICAL_ACTION_IMPORT_FROM_PERMISSION', 10); 34 define('ICAL_ACTION_NONE_FROM_PERMISSION', 11); 33 35 34 36 define('ATTENDEE_ACL_ORGANIZATION', 'o'); -
trunk/prototype/modules/calendar/interceptors/DBMapping.php
r6286 r6295 819 819 //Veirifica pois o usuário pode ter varias assinaturas mas não ser dona de nenhuma 820 820 if (count($result) > 0) { 821 foreach ($result as $ key) {822 if ( $key['isOwner'] != 0)821 foreach ($result as $value) { 822 if (isset($value['isOwner']) && $value['isOwner'] != 0) 823 823 $isValidSignature = true; 824 824 } -
trunk/prototype/modules/calendar/js/calendar.codecs.js
r6286 r6295 656 656 }) 657 657 }; 658 me .id = attend.id;658 me = attend; 659 659 return(null); 660 660 }; … … 685 685 alarms: !!participantInfo.user ? participantInfo.user.alarms : [], 686 686 status: !!participantInfo.user ? participantInfo.user.status : 1, 687 acl: isShared ? constantAcl(Calendar.signatureOf[objEvent.calendar].permission.aclValues) : (!!participantInfo.user ? constantAcl(participantInfo.user.acl) : ( ( !objEvent.id || isAttendee ) ? constantAcl( 'rowi' ) : constantAcl( 'r' ))),687 acl: constantAcl(me.acl || 'roiw'), 688 688 isShared: isShared, 689 689 isAttendee: (isAttendee ? true : (objEvent.id && isShared ? false : true)), 690 me: ((!objEvent.id) || ( objEvent.id && isAttendee)) ? (!!participantInfo.user ? DataLayer.merge(participantInfo.user, me) : DataLayer.merge(isShared ? participantInfo.organizer : me, { 691 acl: !isShared ? 'rowi' : Calendar.signatureOf[objEvent.calendar].permission.aclValues, 692 delegatedFrom: 0, 693 receiveNotification: 1 694 })) : (DataLayer.merge( ( participantInfo.organizer || me), { 695 acl: 'r' 696 } ) ), 690 me: me, 697 691 delegatedFrom: delegatedFrom, 698 699 692 statusParticipants: statusParticipants 700 693 }; -
trunk/prototype/modules/calendar/templates/attendee_add.ejs
r6066 r6295 39 39 <dd class="attendee-list"> 40 40 <ul class="attendee-list"> 41 <li class="organizer <%= (data.event.acl.organization || !data.event.isAttendee) ? "hidden" : "" %>">41 <li class="organizer <%= (data.event.acl.organization) ? "hidden" : "" %>"> 42 42 <div style="overflow:hidden; width:100%; display:table;"> 43 43 <span class="space-status ui-icon <%=iconStatus[data.event.organizer.status]%>" title="<%=legendStatus[data.event.organizer.status]%>"></span> -
trunk/prototype/services/iCal.php
r6248 r6295 248 248 $calendarToSchedulable['schedulable'] = $schedulable['id']; 249 249 $interation['calendarToSchedulable://' . mt_rand() . '(Formatter)'] = $calendarToSchedulable; 250 250 251 251 if (isset($params['status'])) { 252 $pID = self::_getParticipantByMail(Config::me('mail'), $schedulable['participants']); 252 if(isset($params['fromPermission'])){ 253 $signaturesOfOwner = Controller::Read(array('concept' => 'calendarSignature'), false, array('filter' => array('AND', array('=', 'calendar', $params['fromPermission']) , array('=','isOwner','1')), 'deepness' => 2 )); 254 $pID = self::_getParticipantByMail($signaturesOfOwner[0]['user']['mail'], $schedulable['participants']); 255 }else 256 $pID = self::_getParticipantByMail(Config::me('mail'), $schedulable['participants']); 253 257 $interation['participant://' . $pID]['status'] = $params['status']; 254 258 } … … 265 269 266 270 if (isset($params['status'])) { 267 $pID = self::_getParticipantByMail(Config::me('mail'), $schedulable['participants']); 271 if(isset($params['fromPermission'])){ 272 $signaturesOfOwner = Controller::Read(array('concept' => 'calendarSignature'), false, array('filter' => array('AND', array('=', 'calendar', $params['fromPermission']) , array('=','isOwner','1')), 'deepness' => 2 )); 273 $pID = self::_getParticipantByMail($signaturesOfOwner[0]['user']['mail'], $schedulable['participants']); 274 }else 275 $pID = self::_getParticipantByMail(Config::me('mail'), $schedulable['participants']); 268 276 //Verifica a importação de eventos em que não participo 269 277 if ($pID) { … … 566 574 $interation = ($isOrganizer) ? ICAL_ACTION_ORGANIZER_NONE : ICAL_ACTION_NONE; 567 575 } 568 if (!$isParticipant) 569 $interation = ICAL_ACTION_ORGANIZER_NONE; 576 if (!$isParticipant){ 577 $interation = self::_checkParticipantByPermissions($schedulable); 578 } 570 579 }else 571 580 $interation = ICAL_ACTION_IMPORT; … … 651 660 } 652 661 662 private static function _checkParticipantByPermissions($schedulable) { 663 664 $calendarIds = Controller::find(array('concept' => 'calendarSignature'), array('calendar'), array('filter' => array('AND', array('=','isOwner','0'), array('=', 'user', Config::me("uidNumber"))))); 665 666 if($calendarIds && isset($calendarIds[0])){ 667 $ids = array(); 668 foreach($calendarIds as $value) 669 array_push($ids, $value['calendar']); 670 671 $signaturesOfOwners = Controller::find(array('concept' => 'calendarSignature'), false, array('filter' => array('AND', array('IN', 'calendar', $ids) , array('=','isOwner','1')), 'deepness' => 2 )); 672 673 foreach($signaturesOfOwners as $value){ 674 if(self::_getParticipantByMail($value['user']['mail'], $schedulable['participants'])){ 675 $eventoFromCalendar = Controller::read( array( 'concept' => 'calendarToSchedulable') , false, array('filter' => array('AND', array('=','schedulable',$schedulable['id']), array('=','calendar', $value['calendar']['id'])))); 676 677 return ($eventoFromCalendar && isset($eventoFromCalendar[0])) ? ICAL_ACTION_NONE_FROM_PERMISSION : array('action' => ICAL_ACTION_IMPORT_FROM_PERMISSION, 'calendar' => $value['calendar']['id'] ); 678 } 679 } 680 } 681 return ICAL_ACTION_ORGANIZER_NONE; 682 } 683 684 653 685 private static function _getParticipantByMail($mail, &$participants) { 654 686 if ($participants && $participants != '')
Note: See TracChangeset
for help on using the changeset viewer.