Ejemplo n.º 1
0
/**
 * 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") . ' &nbsp; ';
        print '</td><td class="nowrap maxwidthonsmartphone">';
        print $form->select_dolusers($filtert, 'usertodo', 1, '', !$canedit);
        if (empty($conf->dol_optimize_smallscreen)) {
            print ' &nbsp; ' . $langs->trans("or") . ' ' . $langs->trans("Group") . ' &nbsp; ';
        }
        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 ' &nbsp;</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 ' &nbsp;</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") . ' &nbsp; ';
        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") . ' &nbsp; ';
        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>';
}
Ejemplo n.º 2
0
 }
 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 {
Ejemplo n.º 3
0
print '<td align="center">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</td>' . "\n";
print '<td align="right">' . "\n";
Ejemplo n.º 4
0
 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) {
Ejemplo n.º 5
0
	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 ' &nbsp;</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 ' &nbsp;</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 ' &nbsp;</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 ' &nbsp;</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") . ' &nbsp; ';
        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)) {