Page MenuHomeIn-Portal Phabricator

custom
No OneTemporary

File Metadata

Created
Sat, Feb 1, 11:54 AM
Index: trunk/custom/units/test/test_config.php
===================================================================
--- trunk/custom/units/test/test_config.php (revision 7900)
+++ trunk/custom/units/test/test_config.php (revision 7901)
@@ -1,149 +1,175 @@
<?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,
'Hooks' => Array(
),
'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!'),
+ 'default' => Array(
+ 'new_status_labels' => Array('test'=>'!la_title_AddingTest!'),
'edit_status_labels' => Array('test'=>'!la_title_EditingTest!'),
- 'new_titlefield' => Array('test'=>'!la_title_NewTest!'),
+ 'new_titlefield' => Array('test'=>''),
),
- 'test_list'=>Array( 'prefixes' => Array('test_List'),
- 'format' => "!la_title_Tests! (#test_recordcount#)",
+ 'test_list'=>Array(
+ 'prefixes' => Array('test_List'),
+ 'format' => '!la_title_Tests! (#test_recordcount#)',
),
- 'test_edit'=>Array( 'prefixes' => Array('test'),
- 'new_titlefield' => Array('test'=>'!la_title_NewTest!'),
- 'format' => "#test_status# '#test_titlefield#'",
+ '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(
+
+ 'custom' => Array(
'parent' => 'in-portal:root',
- 'icon' => 'tests',
+ 'icon' => 'custom:custom',
+ 'label' => 'la_title_Custom',
+ 'url' => Array('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array('view'),
+ 'priority' => 1.95,
+ 'type' => stTREE,
+ ),
+
+ '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' => 10,
+ 'priority' => 1,
'type' => stTREE,
),
),
'TitleField' => 'Title', // 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' => ''),
+ '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','not_null' => '1','default' => ''),
'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' => 0, 'default' => '',
+ 'not_null' => 1, 'default' => '',
'error_msgs' => Array('invalid_format'=>'!la_invalid_email!')
),
- 'Type' => array(
+ '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' => ''),
- 'Qty' => array('type'=>'double','required'=>0),
+ '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('formatter' => 'kDateFormatter', 'default'=>'#NOW#', 'not_null' => true),
+ 'CreatedOn' => Array('formatter' => 'kDateFormatter', 'format' => '_regional_DateFormat', 'input_format' => '_regional_DateFormat', 'empty_time' => '', '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
),
),
'Grids' => Array(
'Default' => Array(
'Icons' => Array('default'=>'icon16_test.gif'),
'Fields' => Array(
'TestId' => Array( 'title'=>'la_col_Id', 'data_block' => 'grid_checkbox_td' ),
- 'Title' => Array( 'title'=>'la_col_TestName'),
+ /* 'Title' => Array( 'title'=>'la_col_TestName'),
'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'),
- 'Phone' => Array( 'title'=>'la_col_Phone'),
+ 'Phone' => Array( 'title'=>'la_col_Phone'),*/
'CreatedOn' => Array( 'title'=>'la_col_CreatedOn', '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 `kx_Tests` (
+ 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: trunk/custom/units/test/test_config.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1.1.1
\ No newline at end of property
+1.2
\ No newline at end of property
Index: trunk/custom/admin_templates/tests/test_edit.tpl
===================================================================
--- trunk/custom/admin_templates/tests/test_edit.tpl (revision 7900)
+++ trunk/custom/admin_templates/tests/test_edit.tpl (revision 7901)
@@ -1,95 +1,94 @@
<inp2:adm_SetPopupSize width="750" height="570"/>
-<inp2:m_RequireLogin permissions="custom:tests.view" system="1"/>
-<inp2:m_include t="incs/header" body_properties=" onload='reflect_filename();'" />
+<inp2:m_include t="incs/header" body_properties="" />
-<inp2:m_ParseBlock name="blue_bar" prefix="test" title_preset="test_edit" module="custom" icon="icon46_tests"/>
+<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('st','OnCancelEdit','<inp2:st_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 prefix="test" function="IsSingle"/>
a_toolbar.HideButton('prev');
a_toolbar.HideButton('next');
a_toolbar.HideButton('sep1');
<inp2:m_else/>
<inp2:m_if prefix="test" function="IsLast"/>
a_toolbar.DisableButton('next');
<inp2:m_endif/>
<inp2:m_if prefix="test" function="IsFirst"/>
a_toolbar.DisableButton('prev');
<inp2:m_endif/>
<inp2:m_endif/>
</script>
</td>
<inp2:m_RenderElement name="ml_selector" prefix="test"/>
</tr>
</tbody>
</table>
<script src="incs/calendar.js"></script>
<inp2:test_SaveWarning name="grid_save_warning"/>
<inp2:test_ErrorWarning name="form_error_warning"/>
<div id="scroll_container">
<table width="100%" border="0" cellspacing="0" cellpadding="4" class="tableborder" style="border-collapse: separate;">
<inp2:m_ParseBlock name="subsection" title="!la_section_Page!"/>
<inp2:m_ParseBlock name="inp_id_label" prefix="test" field="TestId" title="!la_fld_Id!"/>
<inp2:m_ParseBlock name="inp_edit_box_ml" prefix="test" field="Title" title="!la_fld_Title!" size="40"/>
<inp2:m_ParseBlock name="inp_edit_checkbox" prefix="test" field="Good" title="!la_fld_Good!"/>
<inp2:m_ParseBlock name="inp_edit_textarea" prefix="test" field="Description" title="!la_fld_Description!" cols="50" rows="5"/>
<inp2:m_ParseBlock name="inp_edit_radio" prefix="test" field="Status" title="la_fld_Status" size="63"/>
<inp2:m_ParseBlock name="inp_edit_options" prefix="test" field="Type" title="la_fld_Type" size="63"/>
<inp2:m_ParseBlock name="inp_edit_date" prefix="test" field="CreatedOn" title="la_fld_CreatedOn"/>
<!-- <inp2:m_ParseBlock name="inp_edit_checkbox" prefix="test" field="IsSystem" title="!la_fld_IsSystemTemplate!" onchange="OnSystemClick()"/>-->
<inp2:m_ParseBlock name="inp_edit_box" prefix="test" field="Qty" title="!la_fld_Qty!" size="5"/>
<inp2:m_ParseBlock name="inp_edit_box" prefix="test" field="Phone" title="!la_fld_Phone!" size="15"/>
<inp2:m_ParseBlock name="inp_edit_box" prefix="test" field="Email" title="!la_fld_Email!" size="35"/>
</table>
</div>
<inp2:m_include t="incs/footer"/>
Property changes on: trunk/custom/admin_templates/tests/test_edit.tpl
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1.1.1
\ No newline at end of property
+1.2
\ No newline at end of property
Index: trunk/custom/admin_templates/tests/test_list.tpl
===================================================================
--- trunk/custom/admin_templates/tests/test_list.tpl (revision 7900)
+++ trunk/custom/admin_templates/tests/test_list.tpl (revision 7901)
@@ -1,68 +1,65 @@
<inp2:m_RequireLogin permissions="proj-cms:all_pages.view" system="1"/>
-<inp2:m_include t="incs/header" nobody="yes"/>
+<inp2:m_include t="incs/header" />
-<body class="regular-body">
-<inp2:m_ParseBlock name="section_header" prefix="test" icon="icon46_test" module="custom" title="la_title_Test"/>
-
-<inp2:m_ParseBlock name="blue_bar" prefix="test" test[grid]="Default" pagination="1" title_preset="test_list" module="custom" icon="icon46_test"/>
+<inp2:m_RenderElement name="combined_header" section="custom:tests" prefix="test" title_preset="" pagination="1"/>
<!-- ToolBar --->
<table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0">
<tbody>
<tr>
<td>
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td >
<script type="text/javascript">
a_toolbar = new ToolBar();
a_toolbar.AddButton( new ToolBarButton('new_item', '<inp2:m_phrase label="la_ToolTip_NewTest" escape="1"/>::<inp2:m_phrase label="la_Add" escape="1"/>',
function() {
// set_hidden_field('remove_specials[test]', 1);
std_precreate_item('test', 'custom/tests/test_edit')
}
)
);
function edit()
{
set_hidden_field('remove_specials[test]', 1);
std_edit_item('test', 'custom/tests/test_edit');
}
a_toolbar.AddButton( new ToolBarButton('edit', '<inp2:m_phrase label="la_ToolTip_Edit" escape="1"/>::<inp2:m_phrase label="la_ShortToolTip_Edit" escape="1"/>', edit) );
a_toolbar.AddButton( new ToolBarButton('delete', '<inp2:m_phrase label="la_ToolTip_Delete" escape="1"/>',
function() {
std_delete_items('test');
} ) );
a_toolbar.AddButton( new ToolBarSeparator('sep1') );
a_toolbar.AddButton( new ToolBarButton('view', '<inp2:m_phrase label="la_ToolTip_View" escape="1"/>', function(id) {
show_viewmenu(a_toolbar,'view');
}
) );
a_toolbar.Render();
</script>
</td>
<inp2:m_RenderElement name="search_main_toolbar" prefix="test" grid="Default"/>
</tr>
</table>
</td>
</tr>
</tbody>
</table>
<inp2:m_ParseBlock name="grid" PrefixSpecial="test" IdField="TestId" grid="Default" grid_filters="1"/>
<script type="text/javascript">
Grids['test'].SetDependantToolbarButtons( new Array('edit', 'delete') );
</script>
<inp2:m_include t="incs/footer"/>
\ No newline at end of file
Property changes on: trunk/custom/admin_templates/tests/test_list.tpl
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1.1.1
\ No newline at end of property
+1.2
\ No newline at end of property
Index: trunk/custom/install/install_schema.sql
===================================================================
--- trunk/custom/install/install_schema.sql (revision 7900)
+++ trunk/custom/install/install_schema.sql (revision 7901)
@@ -1,13 +1,13 @@
CREATE TABLE Tests (
`TestId` int(11) NOT NULL auto_increment,
`Title` varchar(255) NOT NULL default '',
`Description` text,
`Email` varchar(255) NOT NULL default '',
- `Type` tinyint(4) NOT NULL default '0',
+ `Type` tinyint(4) NOT NULL default '1',
`Phone` varchar(50) NOT NULL default '',
`Qty` double NOT NULL default '0',
- `Status` tinyint(4) NOT NULL default '0',
+ `Status` tinyint(4) NOT NULL default '2',
`CreatedOn` int(11) NOT NULL default '0',
`Good` tinyint(4) NOT NULL default '0',
PRIMARY KEY (`TestId`)
)
Property changes on: trunk/custom/install/install_schema.sql
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1.1.1
\ No newline at end of property
+1.2
\ No newline at end of property
Index: trunk/custom/install/install_data.sql
===================================================================
--- trunk/custom/install/install_data.sql (revision 7900)
+++ trunk/custom/install/install_data.sql (revision 7901)
@@ -1 +1 @@
-INSERT INTO Modules (Name, Path, Var, Version, Loaded, LoadOrder, TemplatePath, RootCat, BuildDate) VALUES ('Custom', 'custom/', 'custom', '0.0.1', 1, 2, '', 0, '0');
+INSERT INTO Modules (Name, Path, Var, Version, Loaded, LoadOrder, TemplatePath, RootCat, BuildDate) VALUES ('Custom', 'custom/', 'custom', '0.0.0', 1, 2, '', 0, '0');
Property changes on: trunk/custom/install/install_data.sql
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1.1.1
\ No newline at end of property
+1.2
\ No newline at end of property

Event Timeline