public function create($resourceName, $module = null)
 {
     parent::create($resourceName . 's', true, $module);
     $this->_resourceName = $resourceName;
     $this->_moduleName = $module;
     $modelProvider = new Zend_Tool_Project_Provider_Model();
     $modelProvider->setRegistry($this->_registry);
     $modelProvider->create($this->_resourceName, $this->_moduleName);
     $dbTableProvider = new Zend_Tool_Project_Provider_DbTable();
     $dbTableProvider->setRegistry($this->_registry);
     $dbTableProvider->create($this->_resourceName, $this->_resourceName . 's', $this->_moduleName);
     $formProvider = new Zend_Tool_Project_Provider_Form();
     $formProvider->setRegistry($this->_registry);
     $formProvider->create($this->_resourceName, $this->_moduleName);
     $response = $this->_registry->getResponse();
     try {
         $controllerResource = self::createResource($this->_loadedProfile, $resourceName, $module);
         //index created on superclass::create
         $this->_createAction('new');
         $this->_createAction('edit');
         $this->_createAction('destroy');
         /* $testControllerResource = Zend_Tool_Project_Provider_Test::createApplicationResource(
         			$this->_loadedProfile, $name, 'update', $module);
         	 	$response->appendContent('Creating a controller test file at ' . 
         			$testControllerResource->getContext()->getPath());
                       $testControllerResource->create();*/
     } catch (Exception $e) {
         $response->setException($e);
         return;
     }
 }
Exemple #2
0
 /**
  * Updates the generated form with the properties of the model as fields
  *
  * @param Registry $registry 
  * @param Profile  $profile 
  * @param string   $entity 
  * @param string   $commaSeparatedFields 
  * @param string   $module 
  */
 public static function create(Registry $registry, Profile $profile, $entity, $commaSeparatedFields = '', $module = null)
 {
     $form = new FormProvider();
     $form->setRegistry($registry);
     $form->create("{$entity}Form");
     $formResource = FormProvider::createResource($profile, "{$entity}Form", $module);
     $formPath = $formResource->getContext()->getPath();
     $formContent = file_get_contents($formPath);
     file_put_contents($formPath, str_replace('        /* Form Elements & Other Definitions Here ... */', self::_getFormElements($commaSeparatedFields), $formContent));
 }
Exemple #3
0
 /**
  *
  * @param string $table
  * @param string $adapter
  * @param string $module
  * @return void
  * @throws Zend_Tool_Project_Exception
  * @throws Exception 
  */
 public function create($table, $adapter, $module = null)
 {
     $name = ZendT_Tool_ModelTProvider::convertTableNameToClassName($table);
     $this->_print(' Criando Models ');
     $this->_print('name: ' . $name . ' |  table: ' . $table . ' | adapter : ' . $adapter . ' | module: ' . $module);
     $this->_loadProfile(self::NO_PROFILE_THROW_EXCEPTION);
     $this->connect($this->_loadedProfile, $adapter);
     // Check that there is not a dash or underscore, return if doesnt match regex
     if (preg_match('#[_-]#', $name)) {
         throw new Zend_Tool_Project_Provider_Exception('Form names should be camel cased.');
     }
     $originalName = $name;
     $name = ucfirst($name);
     if ($table == '') {
         throw new Zend_Tool_Project_Provider_Exception('You must provide both the Form name as well as the actual db table\'s name.');
     }
     // get request/response object
     $request = $this->_registry->getRequest();
     $response = $this->_registry->getResponse();
     // alert the user about inline converted names
     $tense = $request->isPretend() ? 'would be' : 'is';
     if ($name !== $originalName) {
         $response->appendContent('Note: The canonical model name that ' . $tense . ' used with other providers is "' . $name . '";' . ' not "' . $originalName . '" as supplied', array('color' => array('yellow')));
     }
     /**
      * Cria o DB Table 
      */
     try {
         $formResources = Zend_Tool_Project_Provider_Form::createResource($this->_loadedProfile, $name, $module);
     } catch (Exception $e) {
         $response = $this->_registry->getResponse();
         $response->setException($e);
         return;
     }
     // do the creation
     if ($request->isPretend()) {
         $response->appendContent('Would create a Form at ' . $formResources->getContext()->getPath());
     } else {
         $response->appendContent('Creating a Form at ' . $formResources->getContext()->getPath());
         $formResources->create();
         $this->_storeProfile();
         $fileName = $formResources->getContext()->getPath();
         $formContext = new ZendT_Tool_Context_FormFile();
         $descTable = $this->_dbAdapter->describeTable($originalName);
         $formContext->setProperties($descTable);
         file_put_contents($fileName, "<?php \n" . $formContext->getContents() . "\n?>");
     }
     $this->_print(' Finalizado Models ');
 }