/** * Show filter form in agenda view * * @param Object $form Form object * @param int $canedit Can edit filter fields * @param int $status Status * @param int $year Year * @param int $month Month * @param int $day Day * @param int $showbirthday Show birthday * @param string $filtera Filter on create by user * @param string $filtert Filter on assigned to user * @param string $filterd Filter of done by user * @param int $pid Product id * @param int $socid Third party id * @param string $action Action string * @param array $showextcals Array with list of external calendars (used to show links to select calendar), or -1 to show no legend * @param string $actioncode Preselected value of actioncode for filter on type * @param int $usergroupid Id of group to filter on users * @return void */ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $showbirthday, $filtera, $filtert, $filterd, $pid, $socid, $action, $showextcals = array(), $actioncode = '', $usergroupid = '') { global $conf, $user, $langs, $db, $hookmanager; global $begin_h, $end_h, $begin_d, $end_d; $langs->load("companies"); // Filters print '<form name="listactionsfilter" class="listactionsfilter" action="' . $_SERVER["PHP_SELF"] . '" method="POST">'; print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">'; print '<input type="hidden" name="year" value="' . $year . '">'; print '<input type="hidden" name="month" value="' . $month . '">'; print '<input type="hidden" name="day" value="' . $day . '">'; print '<input type="hidden" name="action" value="' . $action . '">'; print '<input type="hidden" name="showbirthday" value="' . $showbirthday . '">'; print '<div class="fichecenter">'; if (!empty($conf->browser->phone)) { print '<div class="fichehalfleft">'; } else { print '<table class="nobordernopadding" width="100%"><tr><td class="nowrap">'; } print '<table class="nobordernopadding">'; if ($canedit) { print '<tr>'; print '<td class="nowrap">'; print $langs->trans("ActionsToDoBy") . ' '; print '</td><td class="nowrap maxwidthonsmartphone">'; print $form->select_dolusers($filtert, 'usertodo', 1, '', !$canedit); if (empty($conf->dol_optimize_smallscreen)) { print ' ' . $langs->trans("or") . ' ' . $langs->trans("Group") . ' '; } print $form->select_dolgroups($usergroupid, 'usergroup', 1, '', !$canedit); print '</td></tr>'; include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php'; $formactions = new FormActions($db); print '<tr>'; print '<td class="nowrap">'; print $langs->trans("Type"); print ' </td><td class="nowrap maxwidthonsmartphone">'; print $formactions->select_type_actions($actioncode, "actioncode", '', empty($conf->global->AGENDA_USE_EVENT_TYPE) ? 1 : 0); print '</td></tr>'; print '<tr>'; print '<td class="nowrap">'; print $langs->trans("Status"); print ' </td><td class="nowrap maxwidthonsmartphone">'; $formactions->form_select_status_action('formaction', $status, 1, 'status', 1, 2); print '</td></tr>'; } if (!empty($conf->societe->enabled) && $user->rights->societe->lire) { print '<tr>'; print '<td class="nowrap">'; print $langs->trans("ThirdParty") . ' '; print '</td><td class="nowrap maxwidthonsmartphone">'; print $form->select_thirdparty($socid, 'socid'); print '</td></tr>'; } if (!empty($conf->projet->enabled) && $user->rights->projet->lire) { require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php'; $formproject = new FormProjets($db); print '<tr>'; print '<td class="nowrap">'; print $langs->trans("Project") . ' '; print '</td><td class="nowrap maxwidthonsmartphone">'; $formproject->select_projects($socid ? $socid : -1, $pid, 'projectid'); print '</td></tr>'; } if ($canedit && $action == 'show_peruser') { // Filter on hours print '<tr>'; print '<td class="nowrap">' . $langs->trans("WorkingTimeRange") . '</td>'; print "<td class='nowrap maxwidthonsmartphone'>"; print '<input type="number" class="short" name="begin_h" value="' . $begin_h . '" min="0" max="23">'; if (empty($conf->dol_use_jmobile)) { print ' - '; } print '<input type="number" class="short" name="end_h" value="' . $end_h . '" min="1" max="24">'; if (empty($conf->dol_use_jmobile)) { print ' ' . $langs->trans("H"); } print '</td></tr>'; // Filter on days print '<tr>'; print '<td class="nowrap">' . $langs->trans("WorkingDaysRange") . '</td>'; print "<td class='nowrap maxwidthonsmartphone'>"; print '<input type="number" class="short" name="begin_d" value="' . $begin_d . '" min="1" max="7">'; if (empty($conf->dol_use_jmobile)) { print ' - '; } print '<input type="number" class="short" name="end_d" value="' . $end_d . '" min="1" max="7">'; print '</td></tr>'; } // Hooks $parameters = array('canedit' => $canedit, 'pid' => $pid, 'socid' => $socid); $reshook = $hookmanager->executeHooks('searchAgendaFrom', $parameters, $object, $action); // Note that $action and $object may have been print '</table>'; if (!empty($conf->browser->phone)) { print '</div>'; } else { print '</td>'; } if (!empty($conf->browser->phone)) { print '<div class="fichehalfright">'; } else { print '<td align="center" valign="middle" class="nowrap">'; } print '<table><tr><td align="center">'; print '<div class="formleftzone">'; print '<input type="submit" class="button" style="min-width:120px" name="refresh" value="' . $langs->trans("Refresh") . '">'; print '</div>'; print '</td></tr>'; print '</table>'; if (!empty($conf->browser->phone)) { print '</div>'; } else { print '</td></tr></table>'; } print '</div>'; // Close fichecenter print '<div style="clear:both"></div>'; print '</form>'; }
} if (empty($conf->global->AGENDA_USE_EVENT_TYPE)) { print '<input type="hidden" name="actioncode" value="' . dol_getIdFromCode($db, 'AC_OTH', 'c_actioncomm') . '">'; } if (GETPOST("actioncode") == 'AC_RDV') { print load_fiche_titre($langs->trans("AddActionRendezVous")); } else { print load_fiche_titre($langs->trans("AddAnAction")); } dol_fiche_head(); print '<table class="border" width="100%">'; // Type of event if (!empty($conf->global->AGENDA_USE_EVENT_TYPE)) { print '<tr><td width="30%"><span class="fieldrequired">' . $langs->trans("Type") . '</span></b></td><td>'; $default = empty($conf->global->AGENDA_USE_EVENT_TYPE_DEFAULT) ? '' : $conf->global->AGENDA_USE_EVENT_TYPE_DEFAULT; $formactions->select_type_actions(GETPOST("actioncode") ? GETPOST("actioncode") : ($object->type_code ? $object->type_code : $default), "actioncode", "systemauto", 0, -1); print '</td></tr>'; } // Title print '<tr><td' . (empty($conf->global->AGENDA_USE_EVENT_TYPE) ? ' class="fieldrequired"' : '') . '>' . $langs->trans("Title") . '</td><td><input type="text" id="label" name="label" size="60" value="' . GETPOST('label') . '"></td></tr>'; // Full day print '<tr><td>' . $langs->trans("EventOnFullDay") . '</td><td><input type="checkbox" id="fullday" name="fullday" ' . (GETPOST('fullday') ? ' checked' : '') . '></td></tr>'; // Date start $datep = $datep ? $datep : $object->datep; if (GETPOST('datep', 'int', 1)) { $datep = dol_stringtotime(GETPOST('datep', 'int', 1), 0); } print '<tr><td width="30%" class="nowrap"><span class="fieldrequired">' . $langs->trans("DateActionStart") . '</span></td><td>'; if (GETPOST("afaire") == 1) { $form->select_date($datep, 'ap', 1, 1, 0, "action", 1, 1, 0, 0, 'fulldayend'); } else {
print '<td align="center"> </td>' . "\n"; print '<td align="right">' . "\n"; //print ajax_constantonoff('AGENDA_USE_EVENT_TYPE'); Do not use ajax here, we need to reload page to change other combo list if (empty($conf->global->AGENDA_USE_EVENT_TYPE)) { print '<a href="' . $_SERVER['PHP_SELF'] . '?action=set_AGENDA_USE_EVENT_TYPE">' . img_picto($langs->trans("Disabled"), 'switch_off') . '</a>'; } else { print '<a href="' . $_SERVER['PHP_SELF'] . '?action=del_AGENDA_USE_EVENT_TYPE">' . img_picto($langs->trans("Enabled"), 'switch_on') . '</a>'; } print '</td></tr>' . "\n"; // AGENDA_DEFAULT_FILTER_TYPE $var = !$var; print '<tr ' . $bc[$var] . '>' . "\n"; print '<td>' . $langs->trans("AGENDA_DEFAULT_FILTER_TYPE") . '</td>' . "\n"; print '<td align="center"> </td>' . "\n"; print '<td align="right" class="nowrap">' . "\n"; $formactions->select_type_actions($conf->global->AGENDA_DEFAULT_FILTER_TYPE, "AGENDA_DEFAULT_FILTER_TYPE", '', empty($conf->global->AGENDA_USE_EVENT_TYPE) ? 1 : 0, 1); print '</td></tr>' . "\n"; // AGENDA_DEFAULT_FILTER_STATUS $var = !$var; print '<tr ' . $bc[$var] . '>' . "\n"; print '<td>' . $langs->trans("AGENDA_DEFAULT_FILTER_STATUS") . '</td>' . "\n"; print '<td align="center"> </td>' . "\n"; print '<td align="right">' . "\n"; $formactions->form_select_status_action('agenda', $conf->global->AGENDA_DEFAULT_FILTER_STATUS, 1, 'AGENDA_DEFAULT_FILTER_STATUS', 1, 2); print '</td></tr>' . "\n"; // AGENDA_DEFAULT_VIEW $var = !$var; print '<tr ' . $bc[$var] . '>' . "\n"; print '<td>' . $langs->trans("AGENDA_DEFAULT_VIEW") . '</td>' . "\n"; print '<td align="center"> </td>' . "\n"; print '<td align="right">' . "\n";
print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">'; print '<input type="hidden" name="action" value="add_action">'; if ($backtopage) { print '<input type="hidden" name="backtopage" value="' . ($backtopage != '1' ? $backtopage : $_SERVER["HTTP_REFERER"]) . '">'; } if (GETPOST("actioncode") == 'AC_RDV') { print_fiche_titre($langs->trans("AddActionRendezVous")); } else { print_fiche_titre($langs->trans("AddAnAction")); } dol_htmloutput_mesg($mesg); print '<table class="border" width="100%">'; // Type d'action actifs if (!empty($conf->global->AGENDA_USE_EVENT_TYPE)) { print '<tr><td width="30%"><span class="fieldrequired">' . $langs->trans("Type") . '</span></b></td><td>'; $htmlactions->select_type_actions(GETPOST("actioncode") ? GETPOST("actioncode") : $object->type_code, "actioncode", "systemauto"); print '</td></tr>'; } else { print '<input type="hidden" name="actioncode" value="AC_OTH">'; } // Title print '<tr><td' . (empty($conf->global->AGENDA_USE_EVENT_TYPE) ? ' class="fieldrequired"' : '') . '>' . $langs->trans("Title") . '</td><td><input type="text" id="label" name="label" size="60" value="' . GETPOST('label') . '"></td></tr>'; // Full day print '<tr><td class="fieldrequired">' . $langs->trans("EventOnFullDay") . '</td><td><input type="checkbox" id="fullday" name="fullday" ' . (GETPOST('fullday') ? ' checked="checked"' : '') . '></td></tr>'; // Date start $datep = $object->datep; if (GETPOST('datep', 'int', 1)) { $datep = dol_stringtotime(GETPOST('datep', 'int', 1), 0); } print '<tr><td width="30%" class="nowrap"><span class="fieldrequired">' . $langs->trans("DateActionStart") . '</span></td><td>'; if (GETPOST("afaire") == 1) {
dol_htmloutput_mesg($mesg); print '<table class="border" width="100%">'; // Type d'action actifs print '<tr><td width="30%"><span class="fieldrequired">'.$langs->trans("Type").'</span></b></td><td>'; if (GETPOST("actioncode")) { print '<input type="hidden" name="actioncode" value="'.GETPOST("actioncode").'">'."\n"; $cactioncomm->fetch(GETPOST("actioncode")); print $cactioncomm->getNomUrl(); } else { $htmlactions->select_type_actions($actioncomm->type_code, "actioncode"); } print '</td></tr>'; // Title print '<tr><td>'.$langs->trans("Title").'</td><td><input type="text" name="label" size="60" value="'.GETPOST('label').'"></td></tr>'; // Full day print '<tr><td>'.$langs->trans("EventOnFullDay").'</td><td><input type="checkbox" id="fullday" name="fullday" '.(GETPOST('fullday')?' checked="checked"':'').'></td></tr>'; // Date start $datep=$actioncomm->datep; if (GETPOST('datep','int',1)) $datep=dol_stringtotime(GETPOST('datep','int',1),0); print '<tr><td width="30%" nowrap="nowrap"><span class="fieldrequired">'.$langs->trans("DateActionStart").'</span></td><td>'; if (GETPOST("afaire") == 1) $html->select_date($datep,'ap',1,1,0,"action",1,1,0,0,'fulldayend'); else if (GETPOST("afaire") == 2) $html->select_date($datep,'ap',1,1,1,"action",1,1,0,0,'fulldayend');
/** * Show filter form in agenda view * * @param Object $form Form object * @param int $canedit Can edit filter fields * @param int $status Status * @param int $year Year * @param int $month Month * @param int $day Day * @param int $showbirthday Show birthday * @param string $filtera Filter on create by user * @param string $filtert Filter on assigned to user * @param string $filterd Filter of done by user * @param int $pid Product id * @param int $socid Third party id * @param array $showextcals Array with list of external calendars (used to show links to select calendar), or -1 to show no legend * @param string $actioncode Preselected value of actioncode for filter on type * @return void */ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $showbirthday, $filtera, $filtert, $filterd, $pid, $socid, $showextcals = array(), $actioncode = '') { global $conf, $user, $langs, $db; // Filters print '<form name="listactionsfilter" class="listactionsfilter" action="' . $_SERVER["PHP_SELF"] . '" method="POST">'; print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">'; print '<input type="hidden" name="status" value="' . $status . '">'; print '<input type="hidden" name="year" value="' . $year . '">'; print '<input type="hidden" name="month" value="' . $month . '">'; print '<input type="hidden" name="day" value="' . $day . '">'; print '<input type="hidden" name="showbirthday" value="' . $showbirthday . '">'; print '<table class="nobordernopadding" width="100%">'; print '<tr><td class="nowrap">'; print '<table class="nobordernopadding">'; if ($canedit) { print '<tr>'; print '<td class="nowrap">'; print $langs->trans("ActionsAskedBy"); print ' </td><td class="nowrap maxwidthonsmartphone">'; print $form->select_dolusers($filtera, 'userasked', 1, '', !$canedit); print '</td>'; print '</tr>'; print '<tr>'; print '<td class="nowrap">'; print $langs->trans("or") . ' ' . $langs->trans("ActionsToDoBy"); print ' </td><td class="nowrap maxwidthonsmartphone">'; print $form->select_dolusers($filtert, 'usertodo', 1, '', !$canedit); print '</td></tr>'; /*print '<tr>'; print '<td class="nowrap">'; print $langs->trans("or") . ' ' . $langs->trans("ActionsDoneBy"); print ' </td><td class="nowrap maxwidthonsmartphone">'; print $form->select_dolusers($filterd, 'userdone', 1, '', ! $canedit); print '</td></tr>';*/ include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php'; $formactions = new FormActions($db); print '<tr>'; print '<td class="nowrap">'; print $langs->trans("Type"); print ' </td><td class="nowrap maxwidthonsmartphone">'; print $formactions->select_type_actions($actioncode, "actioncode", '', empty($conf->global->AGENDA_USE_EVENT_TYPE) ? 1 : 0); print '</td></tr>'; } if (!empty($conf->projet->enabled) && $user->rights->projet->lire) { require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php'; $formproject = new FormProjets($db); print '<tr>'; print '<td class="nowrap">'; print $langs->trans("Project") . ' '; print '</td><td class="nowrap maxwidthonsmartphone">'; $formproject->select_projects($socid ? $socid : -1, $pid, 'projectid', 64); print '</td></tr>'; } print '</table>'; print '</td>'; // Buttons print '<td align="center" valign="middle" class="nowrap">'; print img_picto($langs->trans("ViewCal"), 'object_calendar', 'class="hideonsmartphone"') . ' <input type="submit" class="button" style="min-width:120px" name="viewcal" value="' . $langs->trans("ViewCal") . '">'; print '<br>'; print img_picto($langs->trans("ViewWeek"), 'object_calendarweek', 'class="hideonsmartphone"') . ' <input type="submit" class="button" style="min-width:120px" name="viewweek" value="' . $langs->trans("ViewWeek") . '">'; print '<br>'; print img_picto($langs->trans("ViewDay"), 'object_calendarday', 'class="hideonsmartphone"') . ' <input type="submit" class="button" style="min-width:120px" name="viewday" value="' . $langs->trans("ViewDay") . '">'; print '<br>'; print img_picto($langs->trans("ViewList"), 'object_list', 'class="hideonsmartphone"') . ' <input type="submit" class="button" style="min-width:120px" name="viewlist" value="' . $langs->trans("ViewList") . '">'; print '</td>'; // Legend if ($conf->use_javascript_ajax && is_array($showextcals)) { print '<td align="center" valign="middle" class="nowrap">'; print '<script type="text/javascript">' . "\n"; print 'jQuery(document).ready(function () {' . "\n"; print 'jQuery("#check_mytasks").click(function() { jQuery(".family_mytasks").toggle(); jQuery(".family_other").toggle(); });' . "\n"; print 'jQuery("#check_birthday").click(function() { jQuery(".family_birthday").toggle(); });' . "\n"; print 'jQuery(".family_birthday").toggle();' . "\n"; print '});' . "\n"; print '</script>' . "\n"; print '<table>'; if (!empty($conf->use_javascript_ajax)) { if (count($showextcals) > 0) { print '<tr><td><input type="checkbox" id="check_mytasks" name="check_mytasks" checked="true" disabled="disabled"> ' . $langs->trans("LocalAgenda") . '</td></tr>'; foreach ($showextcals as $val) { $htmlname = dol_string_nospecial($val['name']); print '<tr><td>'; print '<script type="text/javascript">' . "\n"; print 'jQuery(document).ready(function () {' . "\n"; print ' jQuery("#check_' . $htmlname . '").click(function() {'; print ' /* alert("' . $htmlname . '"); */'; print ' jQuery(".family_' . $htmlname . '").toggle();'; print ' });' . "\n"; print '});' . "\n"; print '</script>' . "\n"; print '<input type="checkbox" id="check_' . $htmlname . '" name="check_' . $htmlname . '" checked="true"> ' . $val['name']; print '</td></tr>'; } } } print '<tr><td>' . $langs->trans("AgendaShowBirthdayEvents") . ' <input type="checkbox" id="check_birthday" name="check_birthday"></td></tr>'; print '</table>'; print '</td>'; } print '</tr>'; print '</table>'; print '</form>'; }
list($langjs, $dummy) = explode('_', $langs->defaultlang); if ($langjs == 'en') { $langjs = 'en-gb'; } readfile(dol_buildpath('/fullcalendar/lib/moment/min/moment.min.js')); readfile(dol_buildpath('/fullcalendar/lib/fullcalendar/dist/fullcalendar.min.js')); if (!is_file(dol_buildpath('/fullcalendar/lib/fullcalendar/dist/lang/' . $langjs . '.js'))) { $langjs = 'en-gb'; } readfile(dol_buildpath('/fullcalendar/lib/fullcalendar/dist/lang/' . $langjs . '.js')); if (!empty($user->array_options['options_googlecalendarapi'])) { // readfile(dol_buildpath('/fullcalendar/lib/fullcalendar/dist/fullcalendar/gcal.js')); } ob_start(); $formactions = new FormActions($db); $formactions->select_type_actions(-1, "type_code", "systemauto"); $select_type_action = ob_get_clean(); $form = new Form($db); //$select_company = $form->select_thirdparty('','fk_soc','',1,1,0); $select_company = $form->select_company('', 'fk_soc', '', 1); $select_user = $form->select_dolusers($user->id, 'fk_user'); ob_start(); $form->select_contacts(-1, -1, 'contactid', 1, '', '', 0, 'minwidth200'); // contactid car nom non pris en compte par l'ajax en vers.<3.9 $select_contact = ob_get_clean(); ob_start(); $formProject = new FormProjets($db); $select_project = $formProject->select_projects_list(-1, 0, 'fk_project', 0, 0, 1); $select_project .= ob_get_clean(); $defaultDay = date('d'); if (!empty($conf->global->MAIN_DEFAULT_WORKING_HOURS)) {