Changeset 5804 for trunk/prototype/modules/calendar
- Timestamp:
- 03/23/12 16:39:10 (12 years ago)
- Location:
- trunk/prototype/modules/calendar
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/calendar/constants.php
r5780 r5804 44 44 define('CALENDAR_ACL_BUSY', 'b'); 45 45 define('CALENDAR_ACL_SHARED', 's'); 46 define('CALENDAR_ACL_REQUIRED', 'p'); 46 47 ?> -
trunk/prototype/modules/calendar/interceptors/DBMapping.php
r5798 r5804 468 468 469 469 foreach($newResult as $key => &$value){ 470 if($value['user'] != 0) 471 $value['user'] = Controller::read( array( 'concept' => 'user' , 'id' => $value['user'] )); 470 if($value['user'] != 0){ 471 $user = $value['user']; 472 $value['user'] = Controller::read( array( 'concept' => 'user' , 'id' => $user )); 473 474 if(!$value['user']) 475 $value['user'] = Controller::read( array( 'concept' => 'group' , 'id' => $user )); 476 } 472 477 } 473 478 … … 640 645 if(isset($v['calendar'])){ 641 646 $result[$i]['calendar'] = Controller::read( array( 'concept' => 'calendar' , 'id' => $v['calendar']), false, false); 642 $result[$i]['defaultAlarms'] = Controller::find( array( 'concept' => 'calendarSignatureAlarm' ) , false ,array( 'filter' => array('=', 'calendarSignature' , $v['id']) )); 643 //Caso não seja o dono da agenda retorna o objeto permission com as acls 644 if($result[$i]['isOwner'] == 0){ 645 $permission = Controller::find( array( 'concept' => 'calendarToPermission'), false ,array( 'filter' => array('AND', array('=', 'calendar' , $v['calendar']), array('=', 'user', Config::me('uidNumber') ) ) ) ); 646 647 if(!is_array($permission) || !$permission ){ 648 649 $permission = Controller::find( array( 'concept' => 'calendarToPermission'), false ,array( 'filter' => array('AND', array('=', 'calendar' , $v['calendar']), array('=', 'type', '1' ) ) ) ); 650 651 } 652 $result[$i]['permission'] = $permission[0]; 653 } 654 } 655 } 647 $result[$i]['defaultAlarms'] = Controller::find( array( 'concept' => 'calendarSignatureAlarm' ) , false ,array( 'filter' => array('=', 'calendarSignature' , $v['id']) )); 648 //Caso não seja o dono da agenda retorna o objeto permission com as acls 649 if($result[$i]['isOwner'] == 0){ 650 $permission = Controller::find( array( 'concept' => 'calendarToPermission'), false ,array( 'filter' => array('AND', array('=', 'calendar' , $v['calendar']), array('=', 'user', Config::me('uidNumber') ) ) ) ); 651 652 if(!is_array($permission) || !$permission ){ 653 654 $permission = Controller::find( array( 'concept' => 'calendarToPermission'), false ,array( 'filter' => array('AND', array('=', 'calendar' , $v['calendar']), array('=', 'type', '1' ) ) ) ); 655 656 } 657 $result[$i]['permission'] = $permission[0]; 658 } 659 } 660 //TODO - Padronizar retorno do deepness 661 // if(isset($v['user'])) 662 // $result[$i]['user'] = Controller::read( array( 'concept' => 'user' , 'id' => $v['user']), false, false); 663 } 656 664 } 657 665 } -
trunk/prototype/modules/calendar/interceptors/LDAPMapping.php
r5437 r5804 36 36 ) 37 37 ); 38 39 else 40 $criteria['filter'] = array('AND', 41 array('AND' , 42 array('=' , 'objectClass' , 'phpgwAccount'), 43 array('OR' , 44 array('=' , 'phpgwAccountType' , 'i'), 45 array('=' , 'phpgwAccountType' , 'u'), 46 array('=' , 'phpgwAccountType' , 's') 47 ) 48 ),$criteria['filter'] 49 ); 38 50 } 39 51 40 52 } 41 53 54 55 public function encodeFindGroup( &$uri , &$params , &$criteria , $original ){ 56 if(isset($criteria['filter'])) 57 { 58 if($criteria['filter'][0] === '*' && $criteria['filter'][1] === 'name') //Busca pelo nome group DFD00032 59 $criteria['filter'] = array('AND', 60 array('AND' , 61 array('=' , 'objectClass' , 'phpgwAccount'), 62 array('=' , 'phpgwAccountType' , 'g') 63 64 ), 65 array('AND' , 66 array('!','phpgwAccountVisible','-1'), 67 array('OR', 68 array('=','accountStatus','active'), 69 array('=','objectClass','posixGroup') 70 ), 71 array('OR', 72 array('*','name',$criteria['filter'][2]), 73 array('*','id',$criteria['filter'][2]), 74 array('*','mail',$criteria['filter'][2]), 75 array('*','mailAlternateAddress',$criteria['filter'][2]), 76 ) 77 ) 78 ); 79 80 81 else 82 $criteria['filter'] = array('AND', 83 array('AND' , 84 array('=' , 'objectClass' , 'phpgwAccount'), 85 array('=' , 'phpgwAccountType' , 'g') 86 ),$criteria['filter'] 87 ); 88 } 89 90 } 91 92 93 42 94 } 43 95 -
trunk/prototype/modules/calendar/interceptors/Notifications.php
r5523 r5804 148 148 149 149 $data['nowStartDate'] = date_format( $sTime , 'd/m/Y'); 150 $data['nowStartTime'] = ($schedulableReference['allDay']) ? '' : date_format( $sTime , 'H:i');151 $data['nowEndDate'] = date_format( $eTime , 'd/m/Y');152 $data['nowEndTime'] = ($schedulableReference['allDay']) ? '' : date_format( $eTime , 'H:i');150 $data['nowStartTime'] = ($schedulableReference['allDay']) ? '' : date_format( $sTime , 'H:i'); 151 $data['nowEndDate'] = date_format( $eTime , 'd/m/Y'); 152 $data['nowEndTime'] = ($schedulableReference['allDay']) ? '' : date_format( $eTime , 'H:i'); 153 153 $data['userRequest'] = Config::me('uid'); 154 154 … … 161 161 $params['body'] = parseTPL::load_tpl( $data ,ROOTPATH.'/modules/calendar/templates/notify_suggestion_body.tpl'); 162 162 $params['subject'] = parseTPL::load_tpl( $subject ,ROOTPATH.'/modules/calendar/templates/notify_subject.tpl');; 163 $params['from'] = Config::me('mail');163 $params['from'] ='"'.Config::me('cn').'" <'.Config::me('mail').'>'; 164 164 $params['to'] = $organizer['user']['mail']; 165 165 … … 192 192 $params['subject'] = parseTPL::load_tpl( $subject ,ROOTPATH.'/modules/calendar/templates/notify_subject.tpl');; 193 193 $params['to'] = $params['from']; 194 $params['from'] = Config::me('mail');194 $params['from'] = $params['from'] ='"'.Config::me('cn').'" <'.Config::me('mail').'>'; 195 195 } 196 196 … … 435 435 $mail['body'] = parseTPL::load_tpl( $data ,ROOTPATH.'/modules/calendar/templates/'.$template.'.tpl'); 436 436 $mail['subject'] = parseTPL::load_tpl( $subject ,ROOTPATH.'/modules/calendar/templates/notify_subject.tpl');; 437 $mail['from'] = Config::me('mail');437 $mail['from'] = '"'.Config::me('cn').'" <'.Config::me('mail').'>'; 438 438 $mail['to'] = $to; 439 439 Controller::create( array( 'service' => 'SMTP' ), $mail ); -
trunk/prototype/modules/calendar/js/calendar.codecs.js
r5752 r5804 44 44 'd' : 'remove', 45 45 'b' : 'busy', 46 's' : 'shared' 46 's' : 'shared', 47 'p' : 'required' 47 48 } 48 49 … … 145 146 * quando forçado um get do banco, deverá ser criado uma condição para o mesmo 146 147 */ 147 var descart = DataLayer.get("calendarSignature", {filter: ['=', 'user', User.me.id], criteria: {deepness: 2}}); 148 this.signatures = DataLayer.get("calendarSignature", {filter: ['=', 'user', User.me.id], criteria: {deepness: 2}}, true); 148 var filter = ['=', 'user', User.me.id]; 149 if(!!User.me.gidNumber){ 150 if(!$.isArray(User.me.gidNumber)) 151 User.me.gidNumber = [User.me.gidNumber]; 152 153 filter = ['OR', filter, ['IN', 'user', User.me.gidNumber]]; 154 } 155 156 var descart = DataLayer.get("calendarSignature", {filter: filter, criteria: {deepness: 2}}); 157 this.signatures = DataLayer.get("calendarSignature", {filter: filter, criteria: {deepness: 2}}, true); 149 158 150 159 var prevSources = this.sources; -
trunk/prototype/modules/calendar/templates/calendar_list.ejs
r5596 r5804 1 1 <div class="all-list-calendars"> 2 <% var signature = data.signatures %> 3 <% var external = false %> 4 <div class="my-calendars"> 5 <a title='Minhas agendas' class="title-my-calendars" aria-expanded='false' role='button' tabindex='0'>Minhas agendas</a> 6 <span class="status-list ui-icon ui-icon-triangle-1-s"></span> 7 <a href="#" class="button new new-calendar">Nova Agenda</a> 8 <ul class="list-calendars my-list-calendars"> 9 <% for (var i=0; i < signature.length; i++) { 10 if(signature[i].isOwner == 1){ 11 %> 12 <li class="list-calendars-item list-calendars-item-<%= signature[i].calendar.id %>"> 13 14 <div> 15 <input class="calendar-view" type="checkbox" name="" value="<%= signature[i].calendar.id %>" checked="checked"/> 16 <label><%= signature[i].calendar.name %></label> 17 18 </div> 19 <a class="cal-list-options-btn my-cal-list-options-btn-<%= signature[i].calendar.id %>" style="background-color:#<%=signature[i].backgroundColor%>; border-color:#<%= signature[i].borderColor%>;"> 20 <img src="../prototype/modules/calendar/img/arrow_down.png" width="10" height="10" class="cal-list-img"/> 21 </a> 22 23 24 <div class="cal-list-options my-cal-list-options-<%= signature[i].calendar.id %> hidden"> 25 <ul> 26 <li><a href="#" onclick="add_tab_configure_calendar(<%= signature[i].calendar.id%>);">Configurações</a></li> 27 <li><a href="#" onclick="show_modal_import_export(0, <%= signature[i].calendar.id%>);">Importar</a></li> 28 <li><a href="#" onclick="show_modal_import_export(1, <%= signature[i].calendar.id%>);">Exportar</a></li> 29 <li><a href="#" onclick="show_modal_shared(<%= signature[i].calendar.id%>);">Compartilhar agenda</a></li> 30 <li><a href="#" onclick="remove_calendar();">Remover agenda</a></li> 31 </ul> 32 33 </div> 34 </li> 35 <% 36 }else 37 external = true; 38 } 39 %> 40 41 </ul> 2 <% var signature = data.signatures %> 3 <% var external = false %> 4 <div class="my-calendars"> 5 <a title='Minhas agendas' class="title-my-calendars" aria-expanded='false' role='button' tabindex='0'>Minhas agendas</a> 6 <span class="status-list ui-icon ui-icon-triangle-1-s"></span> 7 <a href="#" class="button new new-calendar">Nova Agenda</a> 8 <ul class="list-calendars my-list-calendars"> 9 <% for (var i=0; i < signature.length; i++) { 10 if(signature[i].isOwner == 1){ 11 %> 12 <li class="list-calendars-item list-calendars-item-<%= signature[i].calendar.id %>"> 13 14 <div> 15 <input class="calendar-view" type="checkbox" name="" value="<%= signature[i].calendar.id %>" checked="checked"/> 16 <label><%= signature[i].calendar.name %></label> 17 18 </div> 19 <a class="cal-list-options-btn my-cal-list-options-btn-<%= signature[i].calendar.id %>" style="background-color:#<%=signature[i].backgroundColor%>; border-color:#<%= signature[i].borderColor%>;"> 20 <img src="../prototype/modules/calendar/img/arrow_down.png" width="10" height="10" class="cal-list-img"/> 21 </a> 22 23 24 <div class="cal-list-options my-cal-list-options-<%= signature[i].calendar.id %> hidden"> 25 <ul> 26 <li><a href="#" onclick="add_tab_configure_calendar(<%= signature[i].calendar.id%>);">Configurações</a></li> 27 <li><a href="#" onclick="show_modal_import_export(0, <%= signature[i].calendar.id%>);">Importar</a></li> 28 <li><a href="#" onclick="show_modal_import_export(1, <%= signature[i].calendar.id%>);">Exportar</a></li> 29 <li><a href="#" onclick="show_modal_shared(<%= signature[i].calendar.id%>);">Compartilhar agenda</a></li> 30 <li><a href="#" onclick="remove_calendar();">Remover agenda</a></li> 31 </ul> 32 33 </div> 34 </li> 35 <% 36 }else 37 external = true; 38 } 39 %> 40 41 </ul> 42 </div> 43 44 <div class="signed-calendars"> 45 <a title='Agendas assinadas' class="title-signed-calendars" aria-expanded='false' role='button' tabindex='0'>Agendas assinadas</a> 46 <span class="status-list-shared ui-icon ui-icon-triangle-1-s"></span> 47 <a href="#" class="button new new-calendar-shared tiny">Nova Agenda</a> 48 49 <% if (external) { %> 50 <ul class="list-calendars signed-list-calendars"> 51 <% for (var i=0; i < signature.length; i++) { 52 if(signature[i].isOwner == 0){ 53 %> 54 <li class="list-calendars-item list-calendars-item-<%= signature[i].calendar.id %>"> 55 <input class="calendar-view" type="checkbox" name="" value="<%= signature[i].calendar.id %>" checked="checked"/> 56 <label><%= signature[i].calendar.name %></label> 57 58 <a class="cal-list-options-btn my-cal-list-options-btn-<%= signature[i].calendar.id %>" style="background-color:#<%=signature[i].backgroundColor%>; border-color:#<%= signature[i].borderColor%>;"> 59 <img src="../prototype/modules/calendar/img/arrow_down.png" width="10" height="10" class="cal-list-img"/></a> 60 <div class="cal-list-options my-cal-list-options-<%= signature[i].calendar.id %> hidden"> 61 <ul> 62 <!--<li><a href="#" onclick="add_tab_configure_calendar(<%= signature[i].calendar.id %>);">Configurações</a></li>--> 63 <li><a href="#" onclick="show_modal_import_export(0, <%= signature[i].calendar.id %>);">Importar</a></li> 64 <li><a href="#" onclick="show_modal_import_export(1, <%= signature[i].calendar.id %>);">Exportar</a></li> 65 <%if(!signature[i].permission.acl['required']){%> 66 <li><a href="#" onclick="cancel_signature(<%= signature[i].id %>);">Cancelar assinatura</a></li> 67 <%}%> 68 </ul> 69 70 </div> 71 72 </li> 73 <% 74 } 75 } 76 %> 77 </ul> 78 <% } %> 79 </div> 42 80 </div> 43 44 <div class="signed-calendars">45 <a title='Agendas assinadas' class="title-signed-calendars" aria-expanded='false' role='button' tabindex='0'>Agendas assinadas</a>46 <span class="status-list-shared ui-icon ui-icon-triangle-1-s"></span>47 <a href="#" class="button new new-calendar-shared tiny">Nova Agenda</a>48 49 <% if (external) { %>50 <ul class="list-calendars signed-list-calendars">51 <% for (var i=0; i < signature.length; i++) {52 if(signature[i].isOwner == 0){53 %>54 <li class="list-calendars-item list-calendars-item-<%= signature[i].calendar.id %>">55 <input class="calendar-view" type="checkbox" name="" value="<%= signature[i].calendar.id %>" checked="checked"/>56 <label><%= signature[i].calendar.name %></label>57 58 <a class="cal-list-options-btn my-cal-list-options-btn-<%= signature[i].calendar.id %>" style="background-color:#<%=signature[i].backgroundColor%>; border-color:#<%= signature[i].borderColor%>;">59 <img src="../prototype/modules/calendar/img/arrow_down.png" width="10" height="10" class="cal-list-img"/></a>60 <div class="cal-list-options my-cal-list-options-<%= signature[i].calendar.id %> hidden">61 <ul>62 <!--<li><a href="#" onclick="add_tab_configure_calendar(<%= signature[i].calendar.id %>);">Configurações</a></li>-->63 <li><a href="#" onclick="show_modal_import_export(0, <%= signature[i].calendar.id %>);">Importar</a></li>64 <li><a href="#" onclick="show_modal_import_export(1, <%= signature[i].calendar.id %>);">Exportar</a></li>65 <li><a href="#" onclick="cancel_signature(<%= signature[i].id %>);">Cancelar assinatura</a></li>66 </ul>67 68 </div>69 70 </li>71 <%72 }73 }74 %>75 </ul>76 <% } %>77 </div>78 </div>
Note: See TracChangeset
for help on using the changeset viewer.