Esempio n. 1
0
        $json = array('error' => 'No changes were detected.');
        exit(json_encode($json));
    }
} elseif ($action == 'accept') {
    // join user to project, if they're not already
    $pu = ProjectUser::find(Session::getUserID(), $project->getID());
    if (empty($pu)) {
        // not a project member yet, so make them one
        $pu = new ProjectUser(array('project_id' => $project->getID(), 'user_id' => Session::getUserID(), 'relationship' => ProjectUser::MEMBER));
        $pu->save();
        // log it
        $logEvent = new Event(array('event_type_id' => 'join_project', 'project_id' => $project->getID(), 'user_1_id' => Session::getUserID()));
        $logEvent->save();
    } elseif ($project->isFollower(Session::getUserID())) {
        // convert follower to member
        $pu->setRelationship(ProjectUser::MEMBER);
        $pu->save();
        // log it
        $logEvent = new Event(array('event_type_id' => 'join_project', 'project_id' => $project->getID(), 'user_1_id' => Session::getUserID()));
        $logEvent->save();
    }
    // accept the task
    $accepted = new Accepted(array('creator_id' => Session::getUserID(), 'project_id' => $project->getID(), 'task_id' => $taskID, 'status' => Accepted::STATUS_PROGRESS));
    $accepted->save();
    // log it
    $logEvent = new Event(array('event_type_id' => 'accept_task', 'project_id' => $project->getID(), 'user_1_id' => Session::getUserID(), 'item_1_id' => $accepted->getID(), 'item_2_id' => $taskID));
    $logEvent->save();
    // send us back
    Session::setMessage('You joined the task. Good luck!');
    $json = array('success' => '1', 'successUrl' => Url::task($taskID));
    echo json_encode($json);