Add custom UllUser columns
Define the new columns in the model
- /config/doctrine/schema.yml
- Only define you additional columns here. They are added to the default ones from ullCorePlugin
- Example:
-
UllUser: columns: commercial_register_number: type: string(32) sales_tax_indentification_number: type: string(32)
-
Create migration to adapt the actual database layout
(Add columns, constraints, etc)
- php symfony doctrine:generate-migration add_company_data
- The migration file is created in /lib/migrations/doctrine/ and called something like 1304062858_add_company_data.php
- Move the migration file to /lib/migrations/custom/ because it is a custom migration of yours
- Edit the migration file and add your database changes.
All possible command can be found here: http://www.doctrine-project.org/projects/orm/1.2/docs/manual/migrations/en#writing-migration-classes- Example:
<?php class AddCompanyData extends Doctrine_Migration_Base { // List of user tables (one versionable table for each entity type) protected $tableNames = array( 'ull_entity', 'ull_entity_version', 'ull_user_version', 'ull_group_version', 'ull_ventory_origin_dummy_user_version', 'ull_ventory_status_dummy_user_version', 'ull_clone_user_version' ); public function up() { // Add columns for each entity type table foreach ($this->tableNames as $tableName) { $this->addColumn($tableName, 'commercial_register_number', 'string', 32); $this->addColumn($tableName, 'sales_tax_indentification_number', 'string', 32); } } public function down() { throw new Doctrine_Migration_IrreversibleMigrationException('This migration can not be undone.'); } } - Example:
Adapt columnsConfig
ColumnConfigs provide additional information about database columns like which widgets to use, label and help texts
Your custom columnsConfig for the user fields can be found at apps/frontend/lib/generator/columnConfigCollection/UllUserColumnConfigCollection.class.php
Example:
<?php
class UllUserColumnConfigCollection extends BaseUllUserColumnConfigCollection
{
/**
* Applies model specific custom column configuration
*
*/
protected function applyCustomSettings()
{
parent::applyCustomSettings();
# Disable some ullCore columns we don't need
$this->disable(array(
'entry_date',
'deactivation_date',
'separation_date'
));
# Configure custom columns
$this['commercial_register_number']
->setLabel(__('Commercial reg. no.', null, 'custom'))
;
$this['sales_tax_indentification_number']
->setLabel(__('Tax no.', null, 'custom'))
;
}
The e.g. german translations are added to apps/frontend/i18n/custom.de.xml
Example:
<?xml version="1.0"?>
<xliff version="1.0">
<file orginal="global" source-language="en_US" datatype="plaintext" date="2007-12-13T14:54:05Z">
<body>
<trans-unit id="1">
<source>Commercial reg. no.</source>
<target>Firmenbuchnummer</target>
</trans-unit>
<trans-unit id="2">
<source>Tax no.</source>
<target>USt. Id</target>
</trans-unit>
</body>
</file>
</xliff>
Rebuild the model and execute the migration
- php symfony doctrine:build --model --forms --filters
- php symfony ullright:custom-migrate

