[tmp page_title]
[either]
[cgi page_title]
[or]
[L]Select for table edit[/L]: [cgi mv_data_table]
[/either]
[/tmp]
[tmp page_secure][either]@@UI_SECURE@@[or]__UI_SECURE__[/either][/tmp]
[tmp page_banner]
[either]
[cgi page_banner]
[or]
[cgi page_title]
[or]
[L]Select for table edit[/L]:
[page href="__UI_BASE__/db_metaconfig_select" secure="[scratch page_secure]"
form='
ui_view=[cgi ui_meta_view]
ui_table=[cgi mv_data_table]
'][cgi mv_data_table]
[/either]
[/tmp]
[tmp help_name][either][cgi help_name][or]flex.select[/either][/tmp]
[tmp icon_name][either][cgi icon_name][or]icon_config.gif[/either][/tmp]
[if cgi mv_return_table]
[calc]
$CGI->{mv_data_table} = delete $CGI->{mv_return_table};
return;
[/calc]
[/if]
[if-mm function="!tables" table="[cgi mv_data_table]"]
[tmp errorurl][area href="__UI_BASE__/error" secure="[either]@@UI_SECURE@@[or]__UI_SECURE__[/either]"][/tmp]
[bounce href="[scratch errorurl]"]
[/if-mm]
[perl tables="[cgi mv_data_table] __UI_META_TABLE__"]
delete $Scratch->{ui_location};
$Scratch->{ui_class} = $CGI->{ui_class}
if $CGI->{ui_class}
&& $CGI->{ui_class} =~ /^\w+$/;
if($CGI->{ui_sequence_edit}) {
my $doit;
if($CGI->{item_id_left} =~ s/^(.*?),//) {
$CGI->{item_id} = $1;
$doit = 1;
}
elsif ($CGI->{item_id_left}) {
$CGI->{item_id} = delete $CGI->{item_id_left};
delete $CGI->{ui_sequence_edit};
$doit = 1;
}
else {
delete $CGI->{item_id};
delete $CGI->{ui_sequence_edit};
}
return unless $doit;
$Scratch->{ui_location}
= $Tag->area( {
href => '__UI_BASE__/flex_editor',
secure => $Scratch->{page_secure},
form => qq{
mv_data_table=$CGI->{mv_data_table}
item_id=$CGI->{item_id}
item_id_left=$CGI->{item_id_left}
ui_sequence_edit=$CGI->{ui_sequence_edit}
ui_return_to=__UI_BASE__/flex_select
ui_return_to=mv_data_table=$CGI->{mv_data_table}
ui_return_to=ui_sequence_edit=$CGI->{ui_sequence_edit}
ui_page_banner=Edit next key $CGI->{item_id}
},
});
return;
}
my $tab = $CGI->{mv_data_table} or return;
my $db = $Db{$tab};
if(! $db) {
$Scratch->{ui_error} = errmsg('no %s database', $tab);
$Scratch->{ui_location} = $Tag->area({href=>"__UI_BASE__/error",
secure=>$Scratch->{page_secure}});
return;
}
delete $Scratch->{tmp_large};
if( $Variable->{UI_LARGE_TABLE} =~ /\b$tab\b/ or $db->config('LARGE') ) {
$Scratch->{tmp_large} = 1;
}
return unless $CGI->{item_id};
return unless delete $CGI->{deleterecords};
return unless $Tag->if_mm('tables', '=d');
delete $Scratch->{ui_location};
$Config->{NoSearch} = '';
for(grep $_, @{$CGI_array->{item_id}}) {
$db->delete_record($_)
or push @errors, $@;
}
if(@errors) {
my $plural = @errors > 1 ? 's' : '';
return "Error$plural:
";
}
return;
[/perl]
[if scratch ui_location]
[bounce href=`delete $Scratch->{ui_location}`]
[elsif !cgi mv_data_table]
[bounce page="__UI_BASE__/gentable"]
[/elsif]
[/if]
@_UI_STD_HEAD_@
[update values]
[scratch ui_failure][set ui_failure][/set]
[/if] [if scratch ui_message]
[scratch ui_message][set ui_message][/set]
[/if]
[if-mm !super]
[tmp ui_owner][db-hash
table="__UI_ACCESS_TABLE__"
column="table_control::[cgi mv_data_table]::owner_field"
key="[data session username]"][/tmp]
[/if-mm]
[set tmp_nomatch_message][L]No records[/L].[/set]
[set tmp_like_spec][/set]
[perl tables="[cgi mv_data_table] __UI_META_TABLE__"]
my $tab = $CGI->{mv_data_table};
my $ref = $Db{$tab};
my $meta = $Tag->meta_record($CGI->{mv_data_table}, $CGI->{ui_meta_view});
if (! $ref) {
$Scratch->{keypos} = 0;
return;
}
elsif (! $meta) {
$Scratch->{keypos} = 0;
}
$meta ||= {};
if($CGI->{ui_flex_key}) {
$Scratch->{keypos} = $CGI->{ui_flex_key};
}
else {
$Scratch->{keypos} = $ref->config('KEY_INDEX');
}
$Scratch->{keyname} = $ref->config('KEY');
$CGI->{ui_show_fields} ||= $meta->{ui_show_fields} || $meta->{field};
$Config->{NoSearch} = '';
$ui_text_qualification = $CGI->{ui_text_qualification};
if ($ui_text_qualification and $CGI->{ui_text_qualification} =~ /[\^]/ ) {
if($Scratch->{ui_owner}) {
$CGI->{ui_text_qualification} = <' . errmsg('Entries matching "%s"',
$ui_text_qualification) . '
';
}
elsif ($ui_text_qualification) {
$CGI->{ui_text_qualification} = "se=$CGI->{ui_text_qualification}";
$out_message = '' . errmsg('Entries matching "%s"',
$ui_text_qualification) . '
';
if($Scratch->{ui_owner}) {
$CGI->{ui_text_qualification} = <
[on-match]
[if !cgi ui_meta_view]
[button text="[L]Edit checked records in sequence[/L]"]
ui_sequence_edit=[calc]
$CGI->{item_id_left} = $CGI->{item_id};
$CGI->{item_id_left} =~ s/\0+/,/g;
if($CGI->{item_id_left} =~ s/^(.*?),//) {
$CGI->{item_id} = $1;
return 1;
}
else {
delete $CGI->{item_id_left};
return '';
}
[/calc]
mv_nextpage=__UI_BASE__/flex_editor
mv_todo=return
[/button]
[/if]
[if-mm function="tables" table="[cgi mv_data_table]=d"]
[button text="[L]Delete checked records[/L]"
confirm="[L]Are you sure you want to delete the checked records?[/L]"]
[flag type=write table="[cgi mv_data_table]"]
deleterecords=1
mv_click=db_maintenance
[/button]
[/if-mm]
[/on-match]
[/search-region]
[update values]
@_UI_STD_FOOTER_@