Exemplo n.º 1
0
function task_list_move_link()
{
    global $the_task_list;
    // This check is probably insufficient, since it "deletes" the task listfrom this project, and adds it to another project, so those checks might be better.
    if (ProjectTaskList::canAdd(logged_user(), active_project())) {
        action_link($the_task_list->getMoveUrl(), '/icons/move.png', 'move');
    }
}
Exemplo n.º 2
0
 /**
  * Add new task list
  *
  * @access public
  * @param void
  * @return null
  */
 function add_list()
 {
     if (!ProjectTaskList::canAdd(logged_user(), active_project())) {
         flash_error(lang('no access permissions'));
         $this->redirectToReferer(get_url('task'));
     }
     // if
     $task_list = new ProjectTaskList();
     $task_list_data = array_var($_POST, 'task_list');
     if (!is_array($task_list_data)) {
         $task_list_data = array('milestone_id' => array_var($_GET, 'milestone_id'));
         // array
     }
     // if
     tpl_assign('task_list_data', $task_list_data);
     tpl_assign('task_list', $task_list);
     if (is_array(array_var($_POST, 'task_list'))) {
         $task_list->setFromAttributes($task_list_data);
         $task_list->setProjectId(active_project()->getId());
         if (!logged_user()->isMemberOfOwnerCompany()) {
             $task_list->setIsPrivate(false);
         }
         $tasks = array();
         for ($i = 0; $i < 6; $i++) {
             if (isset($task_list_data["task{$i}"]) && is_array($task_list_data["task{$i}"]) && trim(array_var($task_list_data["task{$i}"], 'text')) != '') {
                 $assigned_to = explode(':', array_var($task_list_data["task{$i}"], 'assigned_to', ''));
                 $tasks[] = array('text' => array_var($task_list_data["task{$i}"], 'text'), 'assigned_to_company_id' => array_var($assigned_to, 0, 0), 'assigned_to_user_id' => array_var($assigned_to, 1, 0));
                 // array
             }
             // if
         }
         // for
         try {
             DB::beginWork();
             $task_list->save();
             $task_list->setTagsFromCSV(array_var($task_list_data, 'tags'));
             foreach ($tasks as $task_data) {
                 $task = new ProjectTask();
                 $task->setFromAttributes($task_data);
                 $task_list->attachTask($task);
                 $task->save();
             }
             // foreach
             ApplicationLogs::createLog($task_list, active_project(), ApplicationLogs::ACTION_ADD);
             DB::commit();
             flash_success(lang('success add task list', $task_list->getName()));
             $this->redirectToUrl($task_list->getViewUrl());
         } catch (Exception $e) {
             DB::rollback();
             tpl_assign('error', $e);
         }
         // try
     }
     // if
 }
Exemplo n.º 3
0
<?php

set_page_title($task_list->getName());
project_tabbed_navigation(PROJECT_TAB_TASKS);
project_crumbs(array(array(lang('tasks'), get_url('task')), array($task_list->getName())));
if (ProjectTaskList::canAdd(logged_user(), active_project())) {
    add_page_action(lang('add task list'), get_url('task', 'add_list'));
}
// if
?>
<script type="text/javascript" src="<?php 
echo get_javascript_url('modules/addTaskForm.js');
?>
"></script>
<?php 
$this->assign('on_list_page', true);
$this->includeTemplate(get_template_path('task/task_list'));
?>
<script type="text/javascript">
  App.modules.addTaskForm.hideAllAddTaskForms();
</script>
 /**
  * Add new task list
  *
  * @access public
  * @param void
  * @return null
  */
 function add_list()
 {
     if (!ProjectTaskList::canAdd(logged_user(), active_project())) {
         flash_error(lang('no access permissions'));
         $this->redirectToReferer(get_url('task'));
     }
     // if
     $task_list = new ProjectTaskList();
     $task_list->setProjectId(active_project()->getId());
     $task_list_data = array_var($_POST, 'task_list');
     if (!is_array($task_list_data)) {
         $task_list_data = array('milestone_id' => array_var($_GET, 'milestone_id'), 'start_date' => DateTimeValueLib::now(), 'is_private' => config_option('default_private', false), 'task0' => array('start_date' => DateTimeValueLib::now()), 'task1' => array('start_date' => DateTimeValueLib::now()), 'task2' => array('start_date' => DateTimeValueLib::now()), 'task3' => array('start_date' => DateTimeValueLib::now()), 'task4' => array('start_date' => DateTimeValueLib::now()), 'task5' => array('start_date' => DateTimeValueLib::now()));
         // array
     } else {
         for ($i = 0; $i < 6; $i++) {
             $due_date = $_POST["task_list_task{$i}_due_date"];
             $task_list_data["task{$i}"]['due_date'] = $due_date;
             $start_date = $_POST["task_list_task{$i}_start_date"];
             $task_list_data["task{$i}"]['start_date'] = $start_date;
         }
     }
     // if
     tpl_assign('task_list_data', $task_list_data);
     tpl_assign('task_list', $task_list);
     if (is_array(array_var($_POST, 'task_list'))) {
         if (isset($_POST['task_list_start_date'])) {
             $task_list_data['start_date'] = DateTimeValueLib::makeFromString($_POST['task_list_start_date']);
         }
         if (isset($_POST['task_list_due_date'])) {
             $task_list_data['due_date'] = DateTimeValueLib::makeFromString($_POST['task_list_due_date']);
         }
         //$task_list_data['due_date'] = DateTimeValueLib::make(0, 0, 0, array_var($_POST, 'task_list_due_date_month', 1), array_var($_POST, 'task_list_due_date_day', 1), array_var($_POST, 'task_list_due_date_year', 1970));
         $task_list->setFromAttributes($task_list_data);
         if (!logged_user()->isMemberOfOwnerCompany()) {
             $task_list->setIsPrivate(false);
         }
         $tasks = array();
         for ($i = 0; $i < 6; $i++) {
             if (isset($task_list_data["task{$i}"]) && is_array($task_list_data["task{$i}"]) && trim(array_var($task_list_data["task{$i}"], 'text')) != '') {
                 $assigned_to = explode(':', array_var($task_list_data["task{$i}"], 'assigned_to', ''));
                 if (isset($_POST["task_list_task{$i}_start_date"])) {
                     $start_date = DateTimeValueLib::makeFromString($_POST["task_list_task{$i}_start_date"]);
                 }
                 if (isset($_POST["task_list_task{$i}_due_date"])) {
                     $due_date = DateTimeValueLib::makeFromString($_POST["task_list_task{$i}_due_date"]);
                 }
                 $tasks[] = array('text' => array_var($task_list_data["task{$i}"], 'text'), 'order' => 1 + $i, 'start_date' => $start_date, 'due_date' => $due_date, 'assigned_to_company_id' => array_var($assigned_to, 0, 0), 'assigned_to_user_id' => array_var($assigned_to, 1, 0), 'send_notification' => array_var($task_list_data["task{$i}"], 'send_notification'));
                 // array
             }
             // if
         }
         // for
         try {
             DB::beginWork();
             $task_list->save();
             if (plugin_active('tags')) {
                 $task_list->setTagsFromCSV(array_var($task_list_data, 'tags'));
             }
             foreach ($tasks as $task_data) {
                 $task = new ProjectTask();
                 $task->setFromAttributes($task_data);
                 $task_list->attachTask($task);
                 $task->save();
                 tpl_assign('task', $task);
                 // notify user
                 if (array_var($task_data, 'send_notification') == 'checked') {
                     try {
                         $notify_people = array();
                         $project_companies = array();
                         if ($task->getAssignedTo() == null) {
                             $project_companies = active_project()->getCompanies();
                         }
                         if ($task->getAssignedTo() instanceof Company) {
                             $project_companies = array($task->getAssignedTo());
                         }
                         if ($task->getAssignedTo() instanceof User) {
                             $notify_people = array($task->getAssignedTo());
                         }
                         foreach ($project_companies as $project_company) {
                             $company_users = $project_company->getUsersOnProject(active_project());
                             if (is_array($company_users)) {
                                 foreach ($company_users as $company_user) {
                                     $notify_people[] = $company_user;
                                 }
                             }
                         }
                         // if
                         Notifier::newTask($task, $notify_people);
                     } catch (Exception $e) {
                         Logger::log("Error: Notification failed, " . $e->getMessage(), Logger::ERROR);
                     }
                     // try
                 }
                 // if
             }
             // foreach
             ApplicationLogs::createLog($task_list, active_project(), ApplicationLogs::ACTION_ADD);
             DB::commit();
             flash_success(lang('success add task list', $task_list->getName()));
             $this->redirectToUrl($task_list->getViewUrl());
         } catch (Exception $e) {
             DB::rollback();
             tpl_assign('error', $e);
         }
         // try
     }
     // if
 }
Exemplo n.º 5
0
<?php

set_page_title($milestone->getName());
project_tabbed_navigation(PROJECT_TAB_MILESTONES);
project_crumbs(array(array(lang('milestones'), get_url('milestone', 'index')), array($milestone->getName())));
if (!$milestone->isCompleted()) {
    if (ProjectMessage::canAdd(logged_user(), $milestone->getProject())) {
        add_page_action(lang('add message'), $milestone->getAddMessageUrl());
    }
    // if
    if (ProjectTaskList::canAdd(logged_user(), $milestone->getProject())) {
        add_page_action(lang('add task list'), $milestone->getAddTaskListUrl());
    }
    //if
}
// if
?>
<div id="milestones">
<?php 
$this->includeTemplate(get_template_path('view_milestone', 'milestone'));
?>
</div>
Exemplo n.º 6
0
 /**
  * Add new task list from template
  *
  * @access public
  * @param void
  * @return null
  */
 function from_template()
 {
     if (!ProjectTaskList::canAdd(logged_user(), active_project())) {
         flash_error(lang('no access permissions'));
         $this->redirectToReferer(get_url('task'));
     }
     // if
     $templates = ProjectTaskListTemplates::findAll();
     tpl_assign('templates', $templates);
     if (isset($_POST['name']) && isset($_POST['from_id'])) {
         $template = ProjectTaskListTemplates::findById(sanitize($_POST['from_id']));
         if ($template == null) {
             flash_error(lang('invalid template id'));
             $this->redirectToReferer(get_url('project'));
         }
         $task_list = ProjectTaskListTemplates::fromPickle($template->getData());
         if ($task_list == null) {
             flash_error(lang('invalid template id'));
             $this->redirectToReferer(get_url('project'));
         }
         $task_list->setProjectId(active_project()->getId());
         $task_list->setName(sanitize($_POST['name']));
         try {
             DB::beginWork();
             $task_list->save();
             ApplicationLogs::createLog($task_list, active_project(), ApplicationLogs::ACTION_ADD);
             DB::commit();
             $this->redirectToUrl($task_list->getViewUrl());
         } catch (Exception $e) {
             DB::rollback();
             tpl_assign('error', $e);
         }
     }
     // if
 }