コード例 #1
0
ファイル: get_context.php プロジェクト: Jtgadbois/Pedadida
<?php
	require_javascript("og/ObjectPicker.js");
	require_javascript("og/modules/addTemplate.js");
	require_javascript("og/DateField.js");
	
	
	$workspaces = active_projects();
	$genid = gen_id();
	$object = $cotemplate;
?>
<form  style='height:100%;background-color:white' class="internalForm" action="<?php echo get_url('template', 'instantiate', array('id' => $id))?>" method="post" enctype="multipart/form-data">

<div class="template">
<div class="coInputHeader">
<div class="coInputMainBlock">	
		
	<?php if (isset ($workspaces) && count($workspaces) > 0) { ?>
	<div id="<?php echo $genid ?>add_template_select_workspace_div">
	<fieldset>
		<legend><?php echo lang('template context')?></legend>
		<?php
			$listeners = array('on_selection_change' => 'og.reload_subscribers("'.$genid.'",'.$object->manager()->getObjectTypeId().')');
			if ($cotemplate->isNew()) {
				render_member_selectors($cotemplate->manager()->getObjectTypeId(), $genid, null, array('select_current_context' => true, 'listeners' => $listeners)); 
			}else {
				render_member_selectors($cotemplate->manager()->getObjectTypeId(), $genid, $cotemplate->getMemberIds(), array('listeners' => $listeners)); 
			} 
		?>		
	</fieldset>
	</div>
	<?php } ?>
コード例 #2
0
 function assign_to_project()
 {
     if (logged_user()->isGuest()) {
         flash_error(lang('no access permissions'));
         ajx_current("empty");
         return;
     }
     $contact = Contacts::findById(get_id());
     if (!$contact instanceof Contact) {
         flash_error(lang('contact dnx'));
         ajx_current("empty");
         return;
     }
     // if
     $projects = active_projects();
     $contactRoles = ProjectContacts::getRolesByContact($contact);
     if (!$contact->canEdit(logged_user())) {
         flash_error(lang('no access permissions'));
         ajx_current("empty");
         return;
     }
     // if
     $contact_data = array_var($_POST, 'contact');
     $enterData = true;
     if (!is_array($contact_data)) {
         $enterData = false;
         foreach ($projects as $project) {
             $contact_data['pid_' . $project->getId()] = false;
             $contact_data['role_pid_' . $project->getId()] = '';
             if ($contactRoles) {
                 foreach ($contactRoles as $cr) {
                     if ($project->getId() == $cr->getProjectId()) {
                         $contact_data['pid_' . $project->getId()] = true;
                         $contact_data['role_pid_' . $project->getId()] = $cr->getRole();
                     }
                     // if
                 }
                 // foreach
             }
             // if
         }
         // foreach
     }
     // if
     if ($enterData) {
         try {
             DB::beginWork();
             $err = 0;
             $succ = 0;
             $workspaces = array();
             foreach ($projects as $project) {
                 $pc = ProjectContacts::getRole($contact, $project);
                 if (!isset($contact_data['pid_' . $project->getId()])) {
                     if ($pc instanceof ProjectContact) {
                         $pc->delete();
                         $succ++;
                     }
                 } else {
                     $role = $contact_data['role_pid_' . $project->getId()];
                     if ($pc instanceof ProjectContact) {
                         if ($pc->getRole() != $role) {
                             $pc->setRole($role);
                             $pc->save();
                             $succ++;
                             //								ApplicationLogs::createLog($contact, $project, ApplicationLogs::ACTION_EDIT);
                         }
                         //if
                     } else {
                         $pc = new ProjectContact();
                         $pc->setProjectId($project->getId());
                         $pc->setContactId($contact->getId());
                         $pc->setRole($role);
                         $pc->save();
                         $succ++;
                         //							ApplicationLogs::createLog($contact, $project, ApplicationLogs::ACTION_EDIT);
                     }
                     //if else
                 }
                 //if else
             }
             //foreach
             if ($err == 0) {
                 flash_success(lang('success edit contact', $contact->getDisplayName()));
                 DB::commit();
                 ApplicationLogs::createLog($contact, null, ApplicationLogs::ACTION_EDIT);
                 ajx_current("back");
             } else {
                 DB::rollback();
                 flash_error(lang('failed to assign contact due to permissions', implode(", ", $workspaces)));
                 ajx_current("empty");
             }
         } catch (Exception $e) {
             DB::rollback();
             flash_error($e->getMessage());
             ajx_current("empty");
         }
         // try
     }
     // if
     tpl_assign('contact', $contact);
     tpl_assign('contact_data', $contact_data);
     tpl_assign('projects', $projects);
 }