Page Menu
Home
In-Portal Phabricator
Search
Configure Global Search
Log In
Files
F726645
custom
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sun, Jan 5, 9:36 PM
Size
7 KB
Mime Type
text/x-diff
Expires
Tue, Jan 7, 9:36 PM (1 d, 17 h ago)
Engine
blob
Format
Raw Data
Handle
536749
Attached To
rMCUS Modules.Custom
custom
View Options
Index: branches/RC/custom/units/test/test_config.php
===================================================================
--- branches/RC/custom/units/test/test_config.php (revision 11824)
+++ branches/RC/custom/units/test/test_config.php (revision 11825)
@@ -1,186 +1,186 @@
<?php
$config = Array(
'Prefix' => 'test',
'ItemClass' => Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'),
'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'),
'EventHandlerClass' => Array('class'=>'TestEventHandler','file'=>'test_eh.php','build_event'=>'OnBuild'),
'TagProcessorClass' => Array('class'=>'kDBTagProcessor','file'=>'','build_event'=>'OnBuild'),
'AutoLoad' => true,
'QueryString' => Array(
1 => 'id',
2 => 'Page',
3 => 'event',
4 => 'mode',
),
'IDField' => 'TestId',
'StatusField' => Array('Status'),
'TableName' => TABLE_PREFIX.'Tests',
/*
'ForeignKey' => 'ParentId', // field title in TableName, linking record to a parent
'ParentTableKey' => 'ParentId', // id (or other key) field title in parent's table
'ParentPrefix' => 'parent',
'AutoDelete' => true, // delete these items when parent is being deleted
'AutoClone' => true, // clone these items when parent is being cloned
*/
'TitlePresets' => Array(
'default' => Array(
'new_status_labels' => Array('test'=>'!la_title_AddingTest!'),
'edit_status_labels' => Array('test'=>'!la_title_EditingTest!'),
),
'test_edit'=>Array(
'prefixes' => Array('test'),
'format' => '#test_status# #test_titlefield#',
),
),
'PermSection' => Array('main' => 'custom:tests'),
// don't forget to add corresponding permissions to install script
// INSERT INTO Permissions VALUES (0, 'custom:custom.view', 11, 1, 1, 0);
// INSERT INTO Permissions VALUES (0, 'custom:tests.view', 11, 1, 1, 0), (0, 'custom:tests.add', 11, 1, 1, 0), (0, 'custom:tests.edit', 11, 1, 1, 0), (0, 'custom:tests.delete', 11, 1, 1, 0);
'Sections' => Array(
'custom:tests' => Array(
'parent' => 'custom',
'icon' => 'custom:tests',
'label' => 'la_tab_Tests',
'url' => Array('t' => 'custom/tests/test_list', 'pass' => 'm'),
'permissions' => Array('view', 'add', 'edit', 'delete'),
'priority' => 1,
'type' => stTREE,
),
),
'TitleField' => 'LastName', // field, used in bluebar when editing existing item
// Use %1$s for local table name with prefix, %2$s for calculated fields
'ListSQLs' => Array( // key - special, value - list select sql
'' => 'SELECT %1$s.* %2$s
FROM %1$s',
),
'ItemSQLs' => Array(
'' => 'SELECT %1$s.* %2$s
FROM %1$s',
),
'ListSortings' => Array(
'' => Array(
// 'ForcedSorting' => Array('Priority' => 'desc'),
'Sorting' => Array('Title' => 'asc'),
)
),
'Fields' => Array(
'TestId' => Array('type' => 'int', 'not_null' => 1, 'default' => 0),
'Title' => Array('type' => 'string','not_null' => '1','default' => '', 'required'=>true, 'max_len'=>255),
'Description' => Array('type' => 'string', 'formatter' => 'kFormatter', 'using_fck' => 1, 'default' => null),
'Email' => Array(
'type' => 'string', 'formatter'=>'kFormatter',
- 'regexp'=>'/^[_a-zA-Z0-9-\.]+@[a-zA-Z0-9-\.]+\.[a-z]{2,4}$/',
+ 'regexp'=> '/^(' . REGEX_EMAIL_USER . '@' . REGEX_EMAIL_DOMAIN . ')$/i',
'sample_value' => 'email@domain.com',
'not_null' => 1, 'default' => '',
'error_msgs' => Array('invalid_format'=>'!la_invalid_email!')
),
'Type' => array('type' => 'int',
'formatter' => 'kOptionsFormatter', 'use_phrases' => 1,
'options'=> array(
1=>'la_default_type',
2=>'la_some_type',
3=>'la_another_type',
),
'not_null' => 1,
'default' => 1,
'required' => 1,
),
'Phone' => Array('type' => 'string', 'formatter' => 'kFormatter', 'default' => '', 'using_fck' => 1, 'not_null' => 1),
'Qty' => array('type'=>'double','required'=>0,'not_null' => 1, 'default' => 0),
'Status' => Array(
'type' => 'int', 'formatter' => 'kOptionsFormatter',
'options' => array (1 => 'la_Active', 2 => 'la_Pending', 0 => 'la_Disabled'),
'use_phrases' => 1, 'not_null' => 1, 'default' => 2
),
'CreatedOn' => Array('type' => 'int', 'formatter' => 'kDateFormatter', 'time_format' => '', 'input_time_format' => '', 'default'=>'#NOW#', 'not_null' => true),
'Good' => Array(
'type' => 'int', 'formatter' => 'kOptionsFormatter',
'options' => Array(1 => 'la_Yes', 0 => 'la_No'),
'use_phrases' => 1, 'not_null' => 1, 'default' => 0
),
'BirthTime' => Array(
'type' => 'int', 'formatter' => 'kDateFormatter',
'date_format' => '', 'input_date_format' => '',
'default' => null
),
'Image' => Array(
'type'=>'string', 'formatter'=>'kUploadFormatter',
'max_size'=>MAX_UPLOAD_SIZE, // in Bytes !
'file_types'=>'*.jpg;*.gif;*.png', 'files_description'=>'!la_ImageFiles!',
'upload_dir'=>'/system/user_files/', // relative to project's home
'as_image'=>true, 'thumb_width'=>100, 'thumb_height'=>100,
'multiple'=>false, // false or max number of files - will be stored as serialized array of paths
'direct_links'=>false, // use direct file urls or send files through wrapper (requires mod_mime_magic)
'required' => 1, 'default' => null
),
'DataFile' => Array(
'type'=>'string', 'formatter'=>'kUploadFormatter',
'max_size'=>MAX_UPLOAD_SIZE, // in Bytes !
'file_types'=>'*.*',
'files_description'=>'!la_AllFiles!',
'upload_dir'=>'/system/user_files/', // relative to project's home
'as_image'=>false,
'multiple'=>5, // false or max number of files - will be stored as serialized array of paths
'direct_links'=>true, // use direct file urls or send files through wrapper (requires mod_mime_magic)
'default' => null
),
),
'Grids' => Array(
'Default' => Array(
// 'Icons' => Array('default'=>'icon16_custom.gif'),
'Fields' => Array(
'TestId' => Array( 'title'=>'la_col_Id', 'data_block' => 'grid_checkbox_td', 'width'=>50 ),
'Title' => Array( 'title'=>'la_col_TestName', 'width'=>100),
'Image' => Array ('title' => 'la_col_Image', 'data_block' => 'grid_image_td'),
'Type' => Array( 'title'=>'la_col_Type', 'filter_block' => 'grid_options_filter'),
'Status' => Array( 'title'=>'la_col_Status', 'filter_block' => 'grid_options_filter'),
'Good' => Array( 'title'=>'la_col_Good'),
'Qty' => Array( 'title'=>'la_col_Qty', 'header_block' => 'grid_column_title_no_sorting', 'filter_block' => 'grid_float_range_filter'),
'Email' => Array( 'title'=>'la_col_Email', 'width'=>70),
'Phone' => Array( 'title'=>'la_col_Phone', 'width'=>80),
'CreatedOn' => Array( 'title'=>'la_col_CreatedOn', 'filter_block' => 'grid_date_range_filter', 'width'=>110),
'Description' => Array('title' => 'la_col_Description', 'width'=>150),
//'BirthTime' => Array ('title' => 'la_col_BirthTime', 'filter_block' => 'grid_date_range_filter'),
),
),
),
'ConfigMapping' => Array(
'PerPage' => 'Comm_Perpage_Tests',
'ShortListPerPage' => 'Comm_Perpage_Tests_Short',
),
);
/*
Don't forget to:
- Add table create statement to install_schema.sql
CREATE TABLE Tests (
`TestId` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`Title` VARCHAR( 255 ) NOT NULL ,
`Description` TEXT NULL ,
`Email` VARCHAR( 255 ) NOT NULL ,
`Type` TINYINT NOT NULL ,
`Phone` VARCHAR( 50 ) NOT NULL ,
`Qty` DOUBLE NOT NULL ,
`Status` TINYINT NOT NULL ,
`CreatedOn` INT NOT NULL ,
`Good` TINYINT NOT NULL
)
- Add permissions for admin gorup to install script (see 'Sections' key above)
*/
\ No newline at end of file
Event Timeline
Log In to Comment