123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418 |
- <?php
- if (cfr('TASKMAN')) {
- $altCfg = $ubillingConfig->getAlter();
- /**
- * json reply for tasks log
- */
- if (ubRouting::checkGet('ajaxlog')) {
- ts_renderLogsDataAjax(ubRouting::get('edittask'));
- }
- /**
- * fullcalendar default display options
- */
- $fullCalendarOpts = '';
- if (isset($altCfg['TASKMAN_DEFAULT_VIEW'])) {
- if (!empty($altCfg['TASKMAN_DEFAULT_VIEW'])) {
- $fullCalendarOpts = "defaultView: '" . $altCfg['TASKMAN_DEFAULT_VIEW'] . "',";
- }
- }
- /**
- * new task creation
- */
- if (ubRouting::checkPost('createtask')) {
- if (ubRouting::checkPost(array('newstartdate', 'newtaskaddress', 'newtaskphone'))) {
- if (ubRouting::checkPost(array('typicalnote'))) {
- $newTaskNote = ubRouting::post('typicalnote') . ' ' . ubRouting::post('newjobnote');
- } else {
- $newTaskNote = ubRouting::post('newjobnote');
- }
- //date validation
- if (zb_checkDate(ubRouting::post('newstartdate'))) {
- $newTaskDate = ubRouting::post('newstartdate');
- $newTaskTime = ubRouting::post('newstarttime');
- $newTaskAddress = ubRouting::post('newtaskaddress');
- $newTaskLogin = ubRouting::post('newtasklogin');
- $newTaskPhone = ubRouting::post('newtaskphone');
- $newTaskJobType = ubRouting::post('newtaskjobtype');
- $newTaskEmployee = ubRouting::post('newtaskemployee');
- ts_CreateTask($newTaskDate, $newTaskTime, $newTaskAddress, $newTaskLogin, $newTaskPhone, $newTaskJobType, $newTaskEmployee, $newTaskNote);
- //capabdir redirects
- if (ubRouting::checkPost(array('unifiedformcapabdirgobackflag', 'unifiedformcapabdirgobackid'))) {
- $capabUrl = CapabilitiesDirectory::URL_ME . CapabilitiesDirectory::URL_CAPAB;
- ubRouting::nav($capabUrl . ubRouting::post('unifiedformcapabdirgobackid'));
- } else {
- //normal redirects
- if (!ubRouting::checkGet('gotolastid')) {
- ubRouting::nav('?module=taskman');
- } else {
- $lasttaskid = simple_get_lastid('taskman');
- ubRouting::nav('?module=taskman&edittask=' . $lasttaskid);
- }
- }
- } else {
- show_error(__('Wrong date format'));
- }
- } else {
- show_error(__('All fields marked with an asterisk are mandatory'));
- }
- }
- /**
- * existing task editing
- */
- if (ubRouting::checkPost('modifytask')) {
- if (ubRouting::checkPost(array('modifystartdate', 'modifytaskaddress', 'modifytaskphone'))) {
- if (zb_checkDate(ubRouting::post('modifystartdate'))) {
- $taskId = ubRouting::post('modifytask');
- $edTaskDate = ubRouting::post('modifystartdate');
- $edTaskTime = ubRouting::post('modifystarttime');
- $edTaskAddress = ubRouting::post('modifytaskaddress');
- $edTaskLogin = ubRouting::post('modifytasklogin');
- $edTaskPhone = ubRouting::post('modifytaskphone');
- $edTaskJobType = ubRouting::post('modifytaskjobtype');
- $edTaskEmployee = ubRouting::post('modifytaskemployee');
- $edTaskNote = ubRouting::post('modifytaskjobnote');
- ts_ModifyTask($taskId, $edTaskDate, $edTaskTime, $edTaskAddress, $edTaskLogin, $edTaskPhone, $edTaskJobType, $edTaskEmployee, $edTaskNote);
- ubRouting::nav('?module=taskman&edittask=' . $taskId);
- } else {
- show_error(__('Wrong date format'));
- }
- } else {
- show_error(__('All fields marked with an asterisk are mandatory'));
- }
- }
- /**
- * task start date change on drag and drop actions
- */
- if (ubRouting::checkPost(array('object_id', 'new_start_time'))) {
- $taskID = ubRouting::post('object_id');
- $newStartDT = ubRouting::post('new_start_time');
- $taskData = ts_GetTaskData($taskID);
- if (!empty($taskData)) {
- $newStartDT = date('Y-m-d', strtotime($newStartDT));
- $curTaskTime = $taskData['starttime'];
- $curTaskAddress = $taskData['address'];
- $curTaskLogin = $taskData['login'];
- $curTaskPhone = $taskData['phone'];
- $curTaskJobType = $taskData['jobtype'];
- $curTaskEmployee = $taskData['employee'];
- $curTaskNote = $taskData['jobnote'];
- ts_ModifyTask($taskID, $newStartDT, $curTaskTime, $curTaskAddress, $curTaskLogin, $curTaskPhone, $curTaskJobType, $curTaskEmployee, $curTaskNote);
- die('SUCCESS');
- } else {
- die('FAIL');
- }
- }
- /**
- * Setting task as done
- */
- if (ubRouting::checkPost('changetask')) {
- if (ubRouting::checkPost(array('editenddate', 'editemployeedone'))) {
- if (zb_checkDate(ubRouting::post('editenddate'))) {
- //setting task as done
- ts_TaskIsDone();
- //flushing darkvoid after changing task
- $darkVoid = new DarkVoid();
- $darkVoid->flushCache();
- //generate job for some user
- if (ubRouting::checkPost(array('generatejob', 'generatelogin', 'generatejobid'))) {
- $newJobLogin = ubRouting::post('generatelogin');
- $newJobTime = curdatetime();
- $newJobEmployeeDone = ubRouting::post('editemployeedone');
- $newJobJobType = ubRouting::post('generatejobid');
- $newJobTaskId = ubRouting::post('changetask');
- $newJobNote = 'TASKID:[' . $newJobTaskId . ']';
- stg_add_new_job($newJobLogin, $newJobTime, $newJobEmployeeDone, $newJobJobType, $newJobNote);
- log_register('TASKMAN GENJOB (' . $newJobLogin . ') VIA [' . $newJobTaskId . ']');
- }
- } else {
- show_error(__('Wrong date format'));
- }
- } else {
- show_error(__('All fields marked with an asterisk are mandatory'));
- }
- }
- /**
- * setting task as undone
- */
- if (ubRouting::checkGet('setundone')) {
- //setting task as undone
- ts_TaskIsUnDone();
- //flushing darkvoid after setting task as undone
- $darkVoid = new DarkVoid();
- $darkVoid->flushCache();
- ubRouting::nav('?module=taskman');
- }
- /**
- * deleting existing task
- */
- if (ubRouting::checkGet('deletetask')) {
- $deleteTaskId = ubRouting::get('deletetask', 'int');
- if (cfr('TASKMANDELETE')) {
- ts_DeleteTask($deleteTaskId);
- //flushing darkvoid after task deletion
- $darkVoid = new DarkVoid();
- $darkVoid->flushCache();
- ubRouting::nav('?module=taskman');
- } else {
- show_error(__('Access denied'));
- log_register('TASKMAN DELETE ACCESS FAIL [' . $deleteTaskId . '] ADMIN {' . whoami() . '}');
- }
- }
- /**
- * normal taskman interface rendering here
- */
- show_window(__('Manage tasks'), ts_ShowPanel());
- //calendar tasks filter selection
- if (ubRouting::checkGet('show')) {
- if (ubRouting::get('show') == 'undone') {
- $showtasks = ts_JGetUndoneTasks();
- }
- if (ubRouting::get('show') == 'done') {
- $showtasks = ts_JGetDoneTasks();
- }
- if (ubRouting::get('show') == 'all') {
- $showtasks = ts_JGetAllTasks();
- }
- } else {
- $showtasks = ts_JGetUndoneTasks();
- }
- if (!ubRouting::checkGet('edittask')) {
- if (!ubRouting::checkGet('print')) {
- if (ubRouting::checkGet('show') AND (ubRouting::get('show') == 'logs' and cfr('TASKMANNWATCHLOG'))) {
- /**
- * Task logs rendering
- */
- show_window(__('View log'), ts_renderLogsListAjax());
- } else {
- $showExtendedDone = $ubillingConfig->getAlterParam('TASKMAN_SHOW_DONE_EXTENDED');
- $extendedDoneAlterStyling = $ubillingConfig->getAlterParam('TASKMAN_DONE_EXTENDED_ALTERSTYLING');
- $extendedDoneAlterStylingBool = ($extendedDoneAlterStyling > 0);
- $extendedDoneAlterListOnly = ($extendedDoneAlterStylingBool and $extendedDoneAlterStyling == 2);
- //custom jobtypes color styling
- $customJobColorStyle = ts_GetAllJobtypesColorStyles();
- /** ////////////////////////////////////////
- * rendering of primary full calendar view
- * //////////////////////////////////////// */
- show_window('', $customJobColorStyle . wf_FullCalendar($showtasks, $fullCalendarOpts, $extendedDoneAlterStylingBool, $extendedDoneAlterListOnly, '?module=taskman'));
- }
- } else {
- /**
- * printable results
- */
- if (ubRouting::checkPost(array('printdatefrom', 'printdateto'))) {
- if (!ubRouting::checkPost('tableview')) {
- ts_PrintTasks(ubRouting::post('printdatefrom'), ubRouting::post('printdateto'));
- } else {
- ts_PrintTasksTable(ubRouting::post('printdatefrom'), ubRouting::post('printdateto'), ubRouting::checkPost('nopagebreaks'));
- }
- }
- /**
- * show printing form
- */
- show_window(__('Tasks printing'), ts_PrintDialogue());
- }
- } else {
- /**
- * SMS post sending
- */
- if (ubRouting::checkPost(array('postsendemployee', 'postsendsmstext'))) {
- $smsDataRaw = ts_SendSMS(ubRouting::post('postsendemployee'), ubRouting::post('postsendsmstext'));
- if (!empty($smsDataRaw)) {
- //updating SMS data in task record
- ts_TaskSMSDataUpdate($smsDataRaw);
- //flushing dark void
- $darkVoid = new DarkVoid();
- $darkVoid->flushCache();
- ubRouting::nav('?module=taskman&edittask=' . ubRouting::get('edittask'));
- }
- }
- /**
- * SMS data flush
- */
- if (ubRouting::checkGet('flushsmsdata')) {
- ts_FlushSMSData(ubRouting::get('flushsmsdata'));
- ubRouting::nav('?module=taskman&edittask=' . ubRouting::get('flushsmsdata'));
- }
- /**
- * Salary accounting actions
- */
- if ($altCfg['SALARY_ENABLED']) {
- if (cfr('SALARYTASKSVIEW')) {
- //salary job deletion
- if (ubRouting::checkGet('deletejobid')) {
- $salary = new Salary(ubRouting::get('edittask'));
- $salary->deleteJob(ubRouting::get('deletejobid'));
- ubRouting::nav($salary::URL_TS . ubRouting::get('edittask'));
- }
- //salary job editing
- if (ubRouting::checkPost(array('editsalaryjobid', 'editsalaryemployeeid', 'editsalaryjobtypeid'))) {
- $salary = new Salary(ubRouting::get('edittask'));
- $salary->jobEdit(ubRouting::post('editsalaryjobid'), ubRouting::post('editsalaryemployeeid'), ubRouting::post('editsalaryjobtypeid'), ubRouting::post('editsalaryfactor'), ubRouting::post('editsalaryoverprice'), ubRouting::post('editsalarynotes'));
- ubRouting::nav($salary::URL_TS . ubRouting::get('edittask'));
- }
- //salary job creation
- if (ubRouting::checkPost(array('newsalarytaskid', 'newsalaryemployeeid', 'newsalaryjobtypeid'))) {
- $salary = new Salary(ubrouting::get('edittask'));
- $salary->createSalaryJob(ubRouting::post('newsalarytaskid'), ubRouting::post('newsalaryemployeeid'), ubRouting::post('newsalaryjobtypeid'), ubRouting::post('newsalaryfactor'), ubRouting::post('newsalaryoverprice'), ubRouting::post('newsalarynotes'));
- ubRouting::nav($salary::URL_TS . ubRouting::get('edittask'));
- }
- }
- }
- /**
- * start of task body rendering
- */
- $taskData = ts_GetTaskData(ubRouting::get('edittask'));
- if (!empty($taskData)) {
- $taskExistsFlag = true;
- } else {
- $taskExistsFlag = false;
- }
- /**
- * access restrictions here
- */
- $taskAccess = true;
- $cursedFlag = ts_isMeBranchCursed();
- if ($cursedFlag) {
- if ($taskExistsFlag) {
- if ($taskData['status']) {
- //task is already done - grant access to anyone. In GULAG too.
- $taskAccess = true;
- } else {
- //task is open. Check is this mine?
- $taskAccess = false;
- $taskEmployeeId = $taskData['employee'];
- $myLogin = whoami();
- $myEmployeeId = ts_GetEmployeeByLogin($myLogin);
- if (!empty($myEmployeeId)) {
- if ($taskEmployeeId == $myEmployeeId) {
- $taskAccess = true;
- }
- }
- }
- } else {
- $taskAccess = false;
- }
- }
- if ($taskExistsFlag) {
- if ($taskAccess) {
- /**
- * display task change form aka task profile
- */
- ts_TaskChangeForm(ubRouting::get('edittask'));
- /**
- * Task States support
- */
- if (@$altCfg['TASKSTATES_ENABLED']) {
- //existing task?
- if (!empty($taskData)) {
- $taskState = $taskData['status'];
- $taskStates = new TaskStates();
- show_window(__('Task state'), $taskStates->renderStatePanel(ubRouting::get('edittask'), $taskState));
- if (ubRouting::checkGet('changestate', 'edittask')) {
- $newStateSetResult = $taskStates->setTaskState(ubRouting::get('edittask'), ubRouting::get('changestate'));
- if (empty($newStateSetResult)) {
- die($taskStates->renderStatePanel(ubRouting::get('edittask'), $taskState));
- } else {
- $messages = new UbillingMessageHelper();
- die($messages->getStyledMessage($newStateSetResult, 'error'));
- }
- }
- } else {
- show_error(__('Something went wrong') . ': TASKID_NOT_EXISTS [' . ubRouting::get('edittask') . ']');
- }
- }
- /**
- * Employee task notices
- */
- if (@$altCfg['TASKWHATIDO_ENABLED']) {
- if (!empty($taskData)) {
- $taskWhatIdoReadOnly = ($taskData['status']) ? true : false;
- $taskWhatIdo = new Stigma('TASKWHATIDO', ubRouting::get('edittask'));
- $taskWhatIdo->stigmaController('TASKMAN:Done');
- show_window(__('What I did on the task'), $taskWhatIdo->render(ubRouting::get('edittask'), '128', $taskWhatIdoReadOnly));
- }
- }
- /**
- * photostorage integration
- */
- if ($altCfg['PHOTOSTORAGE_ENABLED']) {
- $photoStorage = new PhotoStorage('TASKMAN', ubRouting::get('edittask'));
- $renderPhotoControlFlag = true;
- if (@$altCfg['TASKSTATES_ENABLED']) {
- if (isset($taskState)) {
- if ($taskState) {
- //task already closed
- $renderPhotoControlFlag = false;
- }
- } else {
- //task not exists
- $renderPhotoControlFlag = false;
- }
- }
- if ($renderPhotoControlFlag) {
- $photostorageControl = wf_Link('?module=photostorage&scope=TASKMAN&mode=list&itemid=' . ubRouting::get('edittask'), wf_img('skins/photostorage.png') . ' ' . __('Upload images'), false, 'ubButton');
- $photostorageControl .= wf_delimiter();
- } else {
- $messages = new UbillingMessageHelper();
- $photostorageControl = $messages->getStyledMessage(__('You cant attach images for already closed task'), 'warning') . wf_delimiter();
- }
- $photosList = $photoStorage->renderImagesRaw();
- show_window(__('Photostorage'), $photostorageControl . $photosList);
- }
- /**
- * additional comments
- */
- if ($altCfg['ADCOMMENTS_ENABLED']) {
- $adcomments = new ADcomments('TASKMAN');
- show_window(__('Additional comments'), $adcomments->renderComments(ubrouting::get('edittask')));
- }
- } else {
- show_error(__('Access denied'));
- log_register('TASKMAN TASK ACCESS FAIL [' . ubRouting::get('edittask') . '] ADMIN {' . whoami() . '}');
- }
- } else {
- show_error(__('Something went wrong') . ': ' . __('Task') . ' [' . ubRouting::get('edittask') . ']' . ' ' . __('Not exists'));
- }
- }
- zb_BillingStats(true);
- } else {
- show_error(__('Access denied'));
- }
|