コード例 #1
0
ファイル: import.php プロジェクト: gmaizel/taskdimension
 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);
 }
コード例 #2
0
 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';
     }
 }
コード例 #3
0
ファイル: ProjectsTableSeeder.php プロジェクト: arwinjp/ODTS
 public function run()
 {
     $faker = Faker::create();
     foreach (range(1, 10) as $index) {
         Project::create([]);
     }
 }
コード例 #4
0
ファイル: ProjectsTableSeeder.php プロジェクト: syafdia/PAS
 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)]);
     }
 }
コード例 #5
0
 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);
     }
 }
コード例 #6
0
 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']);
     }
 }
コード例 #7
0
ファイル: ProjectsController.php プロジェクト: syafdia/PAS
 /**
  * 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');
 }
コード例 #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);
 }
コード例 #9
0
 /**
  * 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();
     }
 }
コード例 #10
0
ファイル: sql.php プロジェクト: rafaelbeckel/task-taste
 /**
  * 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;
 }
コード例 #11
0
ファイル: ProjectsTableSeeder.php プロジェクト: jboz62/cms
 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]);
 }
コード例 #12
0
 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));
     }
 }
コード例 #13
0
ファイル: create.php プロジェクト: gmaizel/taskdimension
 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);
 }
コード例 #14
0
ファイル: ProjectsController.php プロジェクト: jboz62/cms
 /**
  * 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");
 }
コード例 #15
0
ファイル: functions.php プロジェクト: nepageeks/champion
<?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();
コード例 #16
0
ファイル: ajax-controller.php プロジェクト: Norvares/nemex
 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);
コード例 #18
0
ファイル: controller.php プロジェクト: allybitebo/ucb
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');
    }
}
コード例 #19
0
ファイル: fiche.php プロジェクト: nrjacker4/crm-php
    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>';
コード例 #20
0
 private function seedProjects()
 {
     foreach ($this->projects as $project) {
         Project::create(['name' => $project]);
     }
 }
コード例 #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;
     }
 }
コード例 #22
0
ファイル: ProjectTest.php プロジェクト: Samara94/dolibarr
 /**
  * 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;
 }
コード例 #23
0
ファイル: model_read.test.php プロジェクト: robotarmy/Phog
 /**
  * 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);
 }
コード例 #24
0
ファイル: fiche.php プロジェクト: remyyounes/dolibarr
        $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>';
コード例 #25
0
ファイル: projects.php プロジェクト: imranweb7/msitc-erp
 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);
     }
 }
コード例 #27
0
ファイル: cprojects.php プロジェクト: imranweb7/msitc-erp
 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';
     }
 }
コード例 #28
0
 /**
  * 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);
 }
コード例 #29
-1
ファイル: AdminDB.php プロジェクト: sunxfancy/Questionnaire
 /**
  *@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());
     }
 }