Index: branches/RC/custom/units/test/test_config.php =================================================================== --- branches/RC/custom/units/test/test_config.php (revision 10617) +++ branches/RC/custom/units/test/test_config.php (revision 10618) @@ -1,187 +1,187 @@ <?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', 'default' => null), 'Email' => Array( 'type' => 'string', 'formatter'=>'kFormatter', 'regexp'=>'/^[_a-zA-Z0-9-\.]+@[a-zA-Z0-9-\.]+\.[a-z]{2,4}$/', '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','default' => '','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, ), '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'=>2, // false or max number of files - will be stored as serialized array of paths + '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) ), ), 'Grids' => Array( 'Default' => Array( 'Icons' => Array('default'=>'icon16_test.gif'), 'Fields' => Array( 'TestId' => Array( 'title'=>'la_col_Id', 'data_block' => 'grid_checkbox_td', 'width'=>50 ), 'Title' => Array( 'title'=>'la_col_TestName', 'width'=>100), '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', '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), 'FirstName' => Array('title' => 'la_col_FirstName', 'width'=>100), 'LastName' => Array('title' => 'la_col_LastName', 'width'=>100), 'IdentityNr' => Array('title' => 'la_col_IdentityNr', 'width'=>80), '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 Property changes on: branches/RC/custom/units/test/test_config.php ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.8.2.3 \ No newline at end of property +1.8.2.4 \ No newline at end of property Index: branches/RC/custom/admin_templates/tests/test_edit.tpl =================================================================== --- branches/RC/custom/admin_templates/tests/test_edit.tpl (revision 10617) +++ branches/RC/custom/admin_templates/tests/test_edit.tpl (revision 10618) @@ -1,99 +1,98 @@ <inp2:adm_SetPopupSize width="750" height="570"/> <inp2:m_include t="incs/header" body_properties="" /> <inp2:m_RenderElement name="combined_header" section="custom:tests" prefix="test" title_preset="test_edit" pagination="0"/> <!-- ToolBar ---> <table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td> <script type="text/javascript"> a_toolbar = new ToolBar(); a_toolbar.AddButton( new ToolBarButton('select', '<inp2:m_phrase label="la_ToolTip_Save" escape="1"/>', function() { submit_event('test','<inp2:test_SaveEvent/>'); } )); a_toolbar.AddButton( new ToolBarButton('cancel', '<inp2:m_phrase label="la_ToolTip_Cancel" escape="1"/>', function() { cancel_edit('test','OnCancelEdit','<inp2:test_SaveEvent/>','<inp2:m_Phrase label="la_FormCancelConfirmation" escape="1"/>'); } )); a_toolbar.AddButton( new ToolBarButton('reset_edit', '<inp2:m_phrase label="la_ToolTip_Reset" escape="1"/>', function() { reset_form('test', 'OnReset', '<inp2:m_Phrase label="la_FormResetConfirmation" escape="1"/>'); } )); a_toolbar.AddButton( new ToolBarSeparator('sep1') ); a_toolbar.AddButton( new ToolBarButton('prev', '<inp2:m_phrase label="la_ToolTip_Prev" escape="1"/>', function() { go_to_id('test', '<inp2:test_PrevId/>'); } )); a_toolbar.AddButton( new ToolBarButton('next', '<inp2:m_phrase label="la_ToolTip_Next" escape="1"/>', function() { go_to_id('test', '<inp2:test_NextId/>'); } )); a_toolbar.Render(); <inp2:m_if check="test_IsSingle" > a_toolbar.HideButton('prev'); a_toolbar.HideButton('next'); a_toolbar.HideButton('sep1'); <inp2:m_else/> <inp2:m_if check="test_IsLast" > a_toolbar.DisableButton('next'); </inp2:m_if> <inp2:m_if check="test_IsFirst" > a_toolbar.DisableButton('prev'); </inp2:m_if> </inp2:m_if> </script> - - <script src="js/swfobject.js" type="text/javascript"></script> + <script type="text/javascript" src="js/swfobject.js"></script> <script type="text/javascript" src="js/uploader.js"></script> </td> <!--<inp2:m_RenderElement name="ml_selector" prefix="test"/>--> </tr> </tbody> </table> <inp2:test_SaveWarning name="grid_save_warning"/> <inp2:test_ErrorWarning name="form_error_warning"/> <div id="scroll_container"> <table class="edit-form"> <inp2:m_RenderElement name="subsection" title="!la_section_Page!"/> <inp2:m_RenderElement name="inp_id_label" prefix="test" field="TestId" title="!la_fld_Id!"/> <inp2:m_RenderElement name="inp_edit_box_ml" prefix="test" field="Title" title="!la_fld_Title!" style="width: 100px"/> <inp2:m_RenderElement name="inp_edit_checkbox" prefix="test" field="Good" title="!la_fld_Good!"/> <inp2:m_RenderElement name="inp_edit_textarea" prefix="test" field="Description" title="!la_fld_Description!"/> <inp2:m_RenderElement name="inp_edit_radio" prefix="test" field="Status" title="la_fld_Status"/> <inp2:m_RenderElement name="inp_edit_options" prefix="test" field="Type" title="la_fld_Type"/> <!--<inp2:m_RenderElement name="inp_edit_date" prefix="test" field="CreatedOn" title="la_fld_CreatedOn"/>--> <!--<inp2:m_RenderElement name="inp_edit_time" prefix="test" field="BirthTime" title="la_fld_BirthTime"/>--> <!-- <inp2:m_RenderElement name="inp_edit_checkbox" prefix="test" field="IsSystem" title="!la_fld_IsSystemTemplate!" onchange="OnSystemClick()"/>--> <inp2:m_RenderElement name="inp_edit_box" prefix="test" field="Qty" title="!la_fld_Qty!" style="width: 50px"/> <inp2:m_RenderElement name="inp_edit_box" prefix="test" field="Phone" title="!la_fld_Phone!" style="width: 100px"/> <inp2:m_RenderElement name="inp_edit_box" prefix="test" field="Email" title="!la_fld_Email!" style="width: 200px"/> <inp2:m_RenderElement name="inp_edit_swf_upload" prefix="test" field="Image" title="!la_fld_Image!"/> <inp2:m_RenderElement name="inp_edit_swf_upload" prefix="test" field="DataFile" title="!la_fld_DataFile!"/> <inp2:m_RenderElement name="inp_edit_filler"/> </table> </div> <inp2:m_include t="incs/footer"/> Property changes on: branches/RC/custom/admin_templates/tests/test_edit.tpl ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.6.2.1 \ No newline at end of property +1.6.2.2 \ No newline at end of property