Example #1
0
 protected function handleRequest(array $request)
 {
     $version = $request[self::FIELD_PROTOCOL_VERSION];
     $projectTitle = $request[self::FIELD_TITLE];
     $projectDescription = $request[self::FIELD_DESCRIPTION];
     $projectId = Project::create(Project::getNextOrd(), $projectTitle, $projectDescription);
     $listsRep = $request[self::FIELD_LISTS];
     $listOrd = 0;
     foreach ($listsRep as $listRep) {
         $listTitle = $listRep[self::FIELD_TITLE];
         $listId = TasksList::create($projectId, ++$listOrd, $listTitle);
         $tasksRep = $listRep[self::FIELD_TASKS];
         $taskOrd = 0;
         foreach ($tasksRep as $taskRep) {
             $taskTitle = $taskRep[self::FIELD_TITLE];
             $taskDescription = $taskRep[self::FIELD_DESCRIPTION];
             $taskId = Task::create($listId, ++$taskOrd, $taskTitle, $taskDescription);
             if ($version > 1) {
                 $taskStatus = $taskRep[self::FIELD_TASK_STATUS];
                 Task::updateStatus($taskId, $taskStatus);
             }
         }
     }
     return array(self::FIELD_PROJECT_ID => $projectId);
 }
 function create()
 {
     if ($_POST) {
         unset($_POST['send']);
         $_POST['datetime'] = time();
         $_POST = array_map('htmlspecialchars', $_POST);
         unset($_POST['files']);
         $project = Project::create($_POST);
         $new_project_reference = $_POST['reference'] + 1;
         $project_reference = Setting::first();
         $project_reference->update_attributes(array('project_reference' => $new_project_reference));
         if (!$project) {
             $this->session->set_flashdata('message', 'error:' . $this->lang->line('messages_create_project_error'));
         } else {
             $this->session->set_flashdata('message', 'success:' . $this->lang->line('messages_create_project_success'));
             $project_last = Project::last();
             $sql = "INSERT INTO `project_has_workers` (`project_id`, `user_id`) VALUES (" . $project_last->id . ", " . $this->user->id . ")";
             $query = $this->db->query($sql);
         }
         redirect('projects');
     } else {
         $this->view_data['companies'] = Company::find('all', array('conditions' => array('inactive=?', '0')));
         $this->view_data['next_reference'] = Project::last();
         $this->theme_view = 'modal';
         $this->view_data['title'] = $this->lang->line('application_create_project');
         $this->view_data['form_action'] = 'projects/create';
         $this->content_view = 'projects/_project';
     }
 }
Example #3
0
 public function run()
 {
     $faker = Faker::create();
     foreach (range(1, 10) as $index) {
         Project::create([]);
     }
 }
Example #4
0
 public function run()
 {
     $faker = Faker::create();
     foreach (range(1, 10) as $index) {
         $user_id = rand(1, 10);
         Project::create(['name' => $faker->word($nb = 7), 'address' => $faker->address(), 'province' => $faker->state(), 'created_by' => $user_id, 'changed_by' => $user_id, 'change_reason' => $faker->realText(100)]);
     }
 }
 public function store()
 {
     $details = Input::all();
     if ($project = Project::create($details)) {
         return Response::json(['project' => $project, 'alert' => Messages::$createSuccess . 'project']);
     } else {
         return Response::json(['alert' => Messages::$createFail . 'project'], 400);
     }
 }
 public function run()
 {
     $faker = Faker::create();
     foreach (range(1, 5) as $index) {
         Project::create(['title' => 'Sample Project', 'description' => 'Test project', 'owner_id' => '1', 'status_id' => '1', 'priority_id' => '1']);
     }
     foreach (range(1, 5) as $index) {
         Project::create(['title' => 'Sample Project', 'description' => 'Test project', 'owner_id' => '2', 'status_id' => '1', 'priority_id' => '1']);
     }
 }
Example #7
0
 /**
  * Store a newly created resource in storage.
  * POST /projects
  *
  * @return Response
  */
 public function store()
 {
     $validator = Validator::make($data = Input::all(), Project::$rules);
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator)->withInput();
     }
     $data['created_by'] = Auth::user()->id;
     $data['changed_by'] = Auth::user()->id;
     Project::create($data);
     return Redirect::route('admin.projects.index');
 }
Example #8
0
 /**
  * Handles POST requests for /dashboard
  *
  * @return redirect
  */
 public function createProject()
 {
     if (!Utilities::checkEmpty($this->input)) {
         $response = ['error' => true, 'message' => 'Fields cannot be empty.'];
     } elseif (!$this->checkNaming($this->input['project_name'])) {
         $response = ['error' => true, 'message' => 'Alpha lowercase characters only.', 'input_text' => $this->input['project_name']];
     } else {
         Project::create(['user_id' => $this->user->id, 'name' => $this->input['project_name'], 'is_active' => true]);
         $response = ['error' => false, 'message' => 'Created new project successfully.'];
     }
     return Redirect::back()->with($response);
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $messages = array('start_at.required' => 'The starting date is required', 'end_at.required' => 'The ending date is required', 'start_at.after' => 'The starting date is invalid.', 'end_at.after' => 'Oh No! The ending date should be greater than the starting date.');
     $this->user_id = Auth::id();
     $validator = Validator::make(Input::all(), (new Project())->rules(), $messages);
     if ($validator->passes()) {
         Project::create(Input::except('_token'));
         return Redirect::to('projects')->with('success', 'Project created successfully');
     } else {
         return Redirect::to('projects/create')->withErrors($validator)->withInput();
     }
 }
Example #10
0
 /**
  * Creates a project with the given name and owner user ID.
  */
 public static function create_project($unsafe_name, $owner_user_id)
 {
     if (!$unsafe_name || !$owner_user_id || !Authentication::authenticate_user_by_cookie($owner_user_id)) {
         return NULL;
     }
     $project = Project::create($unsafe_name);
     $query = new SqlQuery("INSERT INTO Projects (project_name, project_urlname, project_owneruserid) VALUES ('%s', '%s', '%s')", $project->get_name(), $project->get_url_name(), $owner_user_id);
     // Now fill in stuff from the new row into the object we
     // created before we return it
     $project->set_id($query->get_insert_id());
     $project->set_owner_user_id($owner_user_id);
     $project->set_owner_user_name(Sql::get_user_name_from_id($owner_user_id));
     return $project;
 }
Example #11
0
 public function run()
 {
     DB::table('projects')->truncate();
     $dateTime = new DateTime('now');
     $dateTime = $dateTime->format('Y-m-d H:i:s');
     Project::create(['title' => "Project 1", 'body' => '<p>At vero eos et accusam et justo duo dolores et ea rebum. Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
                         <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.</p>', 'published' => 1, 'order' => 1, 'image' => 'project1.gif', 'portfolio_id' => 1, 'seo' => "SEO TITLE FOR PROJECT 1", 'slug' => '/project_one', 'created_at' => $dateTime, 'updated_at' => $dateTime]);
     Project::create(['title' => "Project 2", 'body' => '<p>At vero eos et accusam et justo duo dolores et ea rebum. Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
                         <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.</p>', 'published' => 1, 'order' => 1, 'image' => 'project2.gif', 'portfolio_id' => 1, 'seo' => "SEO TITLE FOR PROJECT 2", 'slug' => '/project_another', 'created_at' => $dateTime, 'updated_at' => $dateTime]);
     Project::create(['title' => "Project 3", 'body' => '<p>At vero eos et accusam et justo duo dolores et ea rebum. Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
                         <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.</p>', 'published' => 1, 'order' => 1, 'image' => 'project3.jpg', 'portfolio_id' => 2, 'seo' => "SEO TITLE FOR PROJECT 3", 'slug' => '/project_three', 'created_at' => $dateTime, 'updated_at' => $dateTime]);
     Project::create(['title' => "Project 4", 'body' => '<p>At vero eos et accusam et justo duo dolores et ea rebum. Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
                         <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.</p>', 'published' => 1, 'order' => 1, 'image' => 'project4.jpg', 'portfolio_id' => 2, 'seo' => "SEO TITLE FOR PROJECT 4", 'slug' => '/build_big_something', 'created_at' => $dateTime, 'updated_at' => $dateTime]);
 }
 function add()
 {
     if ($_SERVER['REQUEST_METHOD'] == 'GET') {
         $project = Project::instance();
         return $this->View(array('view' => 'add', 'model' => $project));
     }
     //$project = new Project($_POST);
     $project = Project::create($_POST);
     if (empty($project->errors)) {
         $this->redirect_to('projects/all');
     } else {
         return $this->View(array('view' => 'add', 'model' => $project));
     }
 }
Example #13
0
 protected function handleRequest(array $request)
 {
     $beforeId = $request[self::FIELD_BEFORE_PROJECT_ID];
     $title = $request[self::FIELD_TITLE];
     $description = $request[self::FIELD_DESCRIPTION];
     // FIXME: Global::lock();
     $ord = null;
     if ($beforeId) {
         $beforeProject = Project::fetch($beforeId);
         $ord = $beforeProject->getOrd();
         Project::shiftRight($ord);
     } else {
         $ord = Project::getNextOrd();
     }
     $projectId = Project::create($ord, $title, $description);
     return array(self::FIELD_PROJECT_ID => $projectId);
 }
Example #14
0
 /**
  * Store a newly created project in storage.
  *
  * @return Response
  */
 public function store()
 {
     $all = Input::all();
     $rules = Project::$rules;
     $validator = $this->validateSlugOnCreate($all, $rules);
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator)->withInput();
     }
     if (isset($all['image'])) {
         $all = $this->uploadFile($all, 'image');
     }
     $project = Project::create($all);
     if (isset($all['images'])) {
         $this->projectsService->addImages($project->id, $all['images'], 'Project');
     }
     return Redirect::route('admin_projects')->withMessage("Created Project");
 }
Example #15
0
<?php

include '../../inc/config.php';
$session->auth_or_redirect('admin', '/', true);
$action = $_GET['f'];
$todayDate = date('Y-m-d H:i:s');
switch ($action) {
    case 'new':
        $project = new Project();
        $project->create($_POST['project']);
        if (isset($_FILES['photo'])) {
            $upload = new Upload();
            $upload->SetFileName($_FILES['photo']['name']);
            $upload->SetTempName($_FILES['photo']['tmp_name']);
            $upload->SetUploadDirectory(ROOT . '/photos/' . $project->id . '/');
            $upload->SetValidExtensions(array('gif', 'jpg', 'jpeg', 'png'));
            if ($upload->UploadFile()) {
                $p = new Photo();
                $photo['project_id'] = $project->id;
                $photo['name'] = $upload->GetFileName();
                $photo['position'] = count($p->find_by_project_id($photo['project_id'])) + 1;
                $photo['created_at'] = $todayDate;
                $photo['updated_at'] = $todayDate;
                $p->create($photo);
            }
        }
        $URL = './index.php';
        break;
    case 'edit':
        parse_str(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY));
        $project = new Project();
Example #16
0
 public function addProject()
 {
     $this->response['created'] = !!Project::create($_POST['name']);
 }
<?php

include __DIR__ . '/../vendor/autoload.php';
include __DIR__ . '/01-persist-and-retrieve-aggregate/ProjectCreated.php';
include __DIR__ . '/01-persist-and-retrieve-aggregate/ProjectRenamed.php';
include __DIR__ . '/01-persist-and-retrieve-aggregate/Project.php';
// Setup the Gateway that can read and write to/from streams
$eventStore = new \EventStore\EventStore('192.168.99.100:2113');
// Instantiate a factory with which we can retrieve Repositories for specific Aggregates
$factory = new \PhpInPractice\Matters\Aggregate\EventStoreRepositoryFactory($eventStore);
// Create the Repository for the Project aggregate
$repository = $factory->create(Project::class);
// Create a new Project Aggregate
$project = Project::create('TestProject');
// Persist the Aggregate to the Eventstore
$repository->persist($project);
// Rename the project to trigger another event
$project->rename('TestProject2');
// Persist the Aggregate again to the Eventstore
$repository->persist($project);
// Retrieve the aggregate from the Eventstore
$project2 = $repository->findById($project->id());
var_dump($project2);
Example #18
0
function doInsertS()
{
    if (isset($_POST['save'])) {
        $PROJECTNUMBER = $_POST['projectnumber'];
        $PROJECTNAME = $_POST['pname'];
        $STARTDATE = $_POST['sday'];
        $ENDDATE = $_POST['eday'];
        $DAYS = $_POST['days'];
        $AMOUNT = $_POST['amount'];
        $STATUS = $_POST['status'];
        $PROJECTSECTOR = $_POST['psector'];
        $PROJECTSCHOOL = $_POST['pschool'];
        $PROJECTTYPEID = $_POST['projecttypeid'];
        $project = new Project();
        $project->project_number = $PROJECTNUMBER;
        $project->project_name = $PROJECTNAME;
        $project->start_date = $STARTDATE;
        $project->end_date = $ENDDATE;
        $project->days = $DAYS;
        $project->project_status = $STATUS;
        $project->total_amount = $AMOUNT;
        $project->project_sector_id = $PROJECTSECTOR;
        $project->project_school_id = $PROJECTSCHOOL;
        $project->project_type_id = $PROJECTTYPEID;
    }
    if ($PROJECTNUMBER == "") {
        message('Project Number is required!', "error");
        redirect('index.php?view=add');
    } elseif ($PROJECTNAME == "") {
        message('Project Name is required!', "error");
        redirect('index.php?view=add');
    } elseif ($STARTDATE == "") {
        message('Start Date is required!', "error");
        redirect('index.php?view=add');
    } elseif ($ENDDATE == "") {
        message('End Date is required!', "error");
        redirect('index.php?view=add');
    } elseif ($DAYS == "") {
        message('Days is required!', "error");
        redirect('index.php?view=add');
    } elseif ($STATUS == "") {
        message('Status is required!', "error");
        redirect('index.php?view=add');
    } elseif ($AMOUNT == "") {
        message('Amount is required!', "error");
        redirect('index.php?view=add');
    } elseif ($PROJECTSECTOR == "") {
        message('Sector ID is required!', "error");
        redirect('index.php?view=add');
    } elseif ($PROJECTSCHOOL == "") {
        message('School ID is required!', "error");
        redirect('index.php?view=add');
    } elseif ($PROJECTTYPEID == "") {
        message('Project Type ID is required!', "error");
        redirect('index.php?view=add');
    } else {
        $project->create();
        message('New project addedd successfully!', "success");
        redirect('index.php?view=list');
    }
}
Example #19
0
    if (! $error)
    {
        $error=0;

        $db->begin();

        $object->ref             = GETPOST('ref','alpha');
        $object->title           = GETPOST('title','alpha');
        $object->socid           = GETPOST('socid','int');
        $object->description     = GETPOST('description','alpha');
        $object->public          = GETPOST('public','alpha');
        $object->datec=dol_now();
        $object->date_start=dol_mktime(0,0,0,GETPOST('projectmonth','int'),GETPOST('projectday','int'),GETPOST('projectyear','int'));
        $object->date_end=dol_mktime(0,0,0,GETPOST('projectendmonth','int'),GETPOST('projectendday','int'),GETPOST('projectendyear','int'));

        $result = $object->create($user);
        if ($result > 0)
        {
            // Add myself as project leader
            $result = $object->add_contact($user->id, 'PROJECTLEADER', 'internal');
            if ($result < 0)
            {
                $langs->load("errors");
                $mesg='<div class="error">'.$langs->trans($object->error).'</div>';
                $error++;
            }
        }
        else
        {
            $langs->load("errors");
            $mesg='<div class="error">'.$langs->trans($object->error).'</div>';
 private function seedProjects()
 {
     foreach ($this->projects as $project) {
         Project::create(['name' => $project]);
     }
 }
Example #21
0
 /**
  * @param string $username
  * @param string $session_id
  * @return string
  */
 public static function run($username, $session_id)
 {
     global $session, $user;
     $project_owner = $user->get_user_id();
     $project_type = $session->read_value("PROJECT_TYPE");
     $project_organ_unit = $session->read_value("PROJECT_ORGANISATION_UNIT");
     $project_toid = $session->read_value("PROJECT_TOID");
     $project_name = $session->read_value("PROJECT_NAME");
     $project_desc = $session->read_value("PROJECT_DESCRIPTION");
     $project_template = $session->read_value("PROJECT_TEMPLATE");
     $project_template_data_type = $session->read_value("PROJECT_TEMPLATE_DATA_TYPE");
     $project_template_data_type_id = $session->read_value("PROJECT_TEMPLATE_DATA_TYPE_ID");
     $project_template_data_array = $session->read_value("PROJECT_TEMPLATE_DATA_ARRAY");
     $project = new Project(null);
     $project->set_template_data($project_template_data_type, $project_template_data_type_id, $project_template_data_array);
     if ($project_type and $project_organ_unit and $project_name and $project_desc and $project_template) {
         $new_project_id = $project->create($project_organ_unit, null, $project_name, $project_owner, $project_template, $project_desc);
         $session->delete_value("PROJECT_ADD_ROLE");
         $session->delete_value("PROJECT_TYPE");
         $session->delete_value("PROJECT_ORGANISATION_UNIT");
         $session->delete_value("PROJECT_NAME");
         $session->delete_value("PROJECT_DESCRIPTION");
         $session->delete_value("PROJECT_TEMPLATE");
         $session->delete_value("PROJECT_TEMPLATE_DATA_TYPE");
         $session->delete_value("PROJECT_TEMPLATE_DATA_TYPE_ID");
         $session->delete_value("PROJECT_TEMPLATE_DATA_ARRAY");
         $paramquery = array();
         $paramquery['username'] = $username;
         $paramquery['session_id'] = $session_id;
         $paramquery['nav'] = "project";
         $paramquery['run'] = "detail";
         $paramquery['project_id'] = $new_project_id;
         $params = http_build_query($paramquery, '', '&');
         return "index.php?" . $params;
     } elseif ($project_type and $project_toid and $project_name and $project_desc and $project_template) {
         $new_project_id = $project->create(null, $project_toid, $project_name, $project_owner, $project_template, $project_desc);
         $session->delete_value("PROJECT_LAST_SCREEN");
         $session->delete_value("PROJECT_CURRENT_SCREEN");
         $session->delete_value("PROJECT_ADD_ROLE");
         $session->delete_value("PROJECT_TYPE");
         $session->delete_value("PROJECT_TOID");
         $session->delete_value("PROJECT_NAME");
         $session->delete_value("PROJECT_DESCRIPTION");
         $session->delete_value("PROJECT_TEMPLATE");
         $session->delete_value("PROJECT_TEMPLATE_DATA_TYPE");
         $session->delete_value("PROJECT_TEMPLATE_DATA_TYPE_ID");
         $session->delete_value("PROJECT_TEMPLATE_DATA_ARRAY");
         $paramquery = array();
         $paramquery['username'] = $username;
         $paramquery['session_id'] = $session_id;
         $paramquery['nav'] = "project";
         $paramquery['run'] = "detail";
         $paramquery['project_id'] = $new_project_id;
         $params = http_build_query($paramquery, '', '&');
         return "index.php?" . $params;
     } else {
         return 0;
     }
 }
Example #22
0
 /**
  * testProjectCreate
  *
  * @return	void
  */
 public function testProjectCreate()
 {
     global $conf, $user, $langs, $db;
     $conf = $this->savconf;
     $user = $this->savuser;
     $langs = $this->savlangs;
     $db = $this->savdb;
     $localobject = new Project($this->savdb);
     $localobject->initAsSpecimen();
     $result = $localobject->create($user);
     $this->assertLessThan($result, 0);
     print __METHOD__ . " result=" . $result . "\n";
     return $result;
 }
Example #23
0
 /**
  * test find with COUNT(DISTINCT field)
  *
  * @return void
  */
 function testFindCountDistinct()
 {
     $skip = $this->skipIf($this->db->config['driver'] == 'sqlite', 'SELECT COUNT(DISTINCT field) is not compatible with SQLite');
     if ($skip) {
         return;
     }
     $this->loadFixtures('Project');
     $TestModel = new Project();
     $TestModel->create(array('name' => 'project')) && $TestModel->save();
     $TestModel->create(array('name' => 'project')) && $TestModel->save();
     $TestModel->create(array('name' => 'project')) && $TestModel->save();
     $result = $TestModel->find('count', array('fields' => 'DISTINCT name'));
     $this->assertEqual($result, 4);
 }
Example #24
0
        $error=0;

        $db->begin();

        $project = new Project($db);

        $project->ref             = $_POST["ref"];
        $project->title           = $_POST["title"];
        $project->socid           = $_POST["socid"];
        $project->description     = $_POST["description"];
        $project->public          = $_POST["public"];
        $project->datec=dol_now();
        $project->dateo=dol_mktime(12,0,0,$_POST['projectmonth'],$_POST['projectday'],$_POST['projectyear']);
        $project->datee=dol_mktime(12,0,0,$_POST['projectendmonth'],$_POST['projectendday'],$_POST['projectendyear']);

        $result = $project->create($user);
        if ($result > 0)
        {
            // Add myself as project leader
            $result = $project->add_contact($user->id, 'PROJECTLEADER', 'internal');
            if ($result < 0)
            {
                $langs->load("errors");
                $mesg='<div class="error">'.$langs->trans($project->error).'</div>';
                $error++;
            }
        }
        else
        {
            $langs->load("errors");
            $mesg='<div class="error">'.$langs->trans($project->error).'</div>';
Example #25
0
 function copy($id = FALSE)
 {
     if ($_POST) {
         unset($_POST['send']);
         $id = $_POST['id'];
         unset($_POST['id']);
         $_POST['datetime'] = time();
         $_POST = array_map('htmlspecialchars', $_POST);
         unset($_POST['files']);
         if (isset($_POST['tasks'])) {
             unset($_POST['tasks']);
             $tasks = TRUE;
         }
         $project = Project::create($_POST);
         $new_project_reference = $_POST['reference'] + 1;
         $project_reference = Setting::first();
         $project_reference->update_attributes(array('project_reference' => $new_project_reference));
         if ($tasks) {
             unset($_POST['tasks']);
             $source_project = Project::find_by_id($id);
             foreach ($source_project->project_has_tasks as $row) {
                 $attributes = array('project_id' => $project->id, 'name' => $row->name, 'user_id' => '', 'status' => 'open', 'public' => $row->public, 'datetime' => $project->start, 'due_date' => $project->end, 'description' => $row->description, 'value' => $row->value, 'priority' => $row->priority);
                 ProjectHasTask::create($attributes);
             }
         }
         if (!$project) {
             $this->session->set_flashdata('message', 'error:' . $this->lang->line('messages_create_project_error'));
         } else {
             $this->session->set_flashdata('message', 'success:' . $this->lang->line('messages_create_project_success'));
             $attributes = array('project_id' => $project->id, 'user_id' => $this->user->id);
             ProjectHasWorker::create($attributes);
         }
         redirect('projects/view/' . $id);
     } else {
         $this->view_data['companies'] = Company::find('all', array('conditions' => array('inactive=?', '0')));
         $this->view_data['project'] = Project::find($id);
         $this->theme_view = 'modal';
         $this->view_data['title'] = $this->lang->line('application_copy_project');
         $this->view_data['form_action'] = 'projects/copy';
         $this->content_view = 'projects/_copy';
     }
 }
 function create_new_project()
 {
     global $db, $user;
     dol_include_once('/projet/class/project.class.php');
     // On crée un projet
     $project = new Project($db);
     $project->ref = TAssetWorkstationOF::get_next_ref_project();
     // On récupère le fk_commande associé
     if ($_REQUEST['action'] === 'createOFCommande') {
         $fk_commande = $_REQUEST['fk_commande'];
     } else {
         $fk_commande = $this->fk_commande;
     }
     if (!empty($fk_commande)) {
         dol_include_once('/commande/class/commande.class.php');
         $commande = new Commande($db);
         $commande->fetch($fk_commande);
         // On nomme le projet avec la ref de la commande d'origine
         if (!empty($commande->ref)) {
             $project->title .= 'Commande client ' . $commande->ref;
         }
         $this->fk_project = $project->create($user);
         // On associe la commande au projet
         $project->update_element('commande', $fk_commande);
     }
 }
Example #27
0
 function create()
 {
     if ($_POST) {
         unset($_POST['send']);
         unset($_POST['files']);
         $_POST['reference_photo'] = '';
         $config['upload_path'] = './files/media/projects/references/';
         $config['encrypt_name'] = TRUE;
         $config['allowed_types'] = '*';
         $this->load->library('upload', $config);
         if ($this->upload->do_upload()) {
             $data = array('upload_data' => $this->upload->data());
             $_POST['reference_photo'] = $data['upload_data']['file_name'];
         }
         unset($_POST['userfile']);
         unset($_POST['dummy']);
         $_POST['datetime'] = time();
         $_POST['company_id'] = $this->client->company->id;
         $_POST = array_map('htmlspecialchars', $_POST);
         $_POST['phases'] = $this->projectlib->getProjectPhasesByTypeId($_POST['project_type_id']);
         $_POST['media_phases'] = $this->projectlib->getProjectPhasesByTypeId($_POST['project_type_id'], 'media');
         $project = Project::create($_POST);
         $new_project_reference = $_POST['reference'] + 1;
         $project_reference = Setting::first();
         $project_reference->update_attributes(array('project_reference' => $new_project_reference));
         if (!$project) {
             $this->session->set_flashdata('message', 'error:' . $this->lang->line('messages_create_project_error'));
         } else {
             $this->session->set_flashdata('message', 'success:' . $this->lang->line('messages_create_project_success'));
             //$attributes = array('project_id' => $project->id, 'user_id' => $this->user->id);
             //ProjectHasWorker::create($attributes);
         }
         redirect('cprojects');
     } else {
         $this->view_data['companies'] = Company::find('all', array('conditions' => array('inactive=?', '0')));
         $this->view_data['project_types'] = ProjectType::find('all', array('conditions' => array('inactive=?', '0')));
         $this->view_data['shipping_methods'] = ShippingMethod::find('all', array('conditions' => array('inactive=?', '0')));
         $this->view_data['next_reference'] = Project::last();
         $this->theme_view = 'modal';
         $this->view_data['title'] = $this->lang->line('application_create_project');
         $this->view_data['form_action'] = 'cprojects/create';
         $this->content_view = 'projects/_cproject';
     }
 }
 /**
  * test find with COUNT(DISTINCT field)
  *
  * @return void
  */
 public function testFindCountDistinct()
 {
     $this->skipIf($this->db instanceof Sqlite, 'SELECT COUNT(DISTINCT field) is not compatible with SQLite.');
     $this->skipIf($this->db instanceof Sqlserver, 'This test is not compatible with SQL Server.');
     $this->loadFixtures('Project', 'Thread');
     $TestModel = new Project();
     $TestModel->create(array('name' => 'project')) && $TestModel->save();
     $TestModel->create(array('name' => 'project')) && $TestModel->save();
     $TestModel->create(array('name' => 'project')) && $TestModel->save();
     $result = $TestModel->find('count', array('fields' => 'DISTINCT name'));
     $this->assertEquals(4, $result);
 }
Example #29
-1
 /**
  *@usage 项目创建涉及 project 及manager 
  */
 public static function addProject($project_info, $manager_info)
 {
     try {
         $manager = new TxManager();
         $transaction = $manager->get();
         #先分别存储project 和 manager
         $project = new Project();
         $project->setTransaction($transaction);
         foreach ($project_info as $key => $value) {
             $project->{$key} = $value;
         }
         $manager = new Manager();
         $manager->setTransaction($transaction);
         foreach ($manager_info as $key => $value) {
             $manager->{$key} = $value;
         }
         $manager->project_id = $project_info['id'];
         #先插入项目
         if ($project->create() == false) {
             $transaction->rollback("数据插入失败-" . print_r($project, true));
         }
         #再插入项目经理
         if ($manager->create() == false) {
             $transaction->rollback("数据删除失败-" . print_r($manager, true));
         }
         #再更新项目
         $project->manager_id = $manager->id;
         if ($project->save() == false) {
             $transaction->rollback("数据删除失败-" . print_r($project, true));
         }
         $transaction->commit();
         return true;
     } catch (TxFailed $e) {
         throw new Exception($e->getMessage());
     }
 }