[interchange-cvs] interchange - heins modified lib/Vend/Table/Editor.pm
interchange-core@icdevgroup.org
interchange-core@icdevgroup.org
Thu Jun 19 12:24:43 2003
User: heins
Date: 2003-06-19 16:00:39 GMT
Modified: lib/Vend/Table Editor.pm
Log:
* Fix sequential edit.
Revision Changes Path
1.35 +24 -17 interchange/lib/Vend/Table/Editor.pm
rev 1.35, prev_rev 1.34
Index: Editor.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Table/Editor.pm,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- Editor.pm 18 Jun 2003 17:34:46 -0000 1.34
+++ Editor.pm 19 Jun 2003 16:00:39 -0000 1.35
@@ -1,6 +1,6 @@
# Vend::Table::Editor - Swiss-army-knife table editor for Interchange
#
-# $Id: Editor.pm,v 1.34 2003/06/18 17:34:46 jon Exp $
+# $Id: Editor.pm,v 1.35 2003/06/19 16:00:39 mheins Exp $
#
# Copyright (C) 2002-2003 Interchange Development Group
# Copyright (C) 2002 Mike Heins <mike@perusion.net>
@@ -26,7 +26,7 @@
package Vend::Table::Editor;
use vars qw($VERSION);
-$VERSION = substr(q$Revision: 1.34 $, 10);
+$VERSION = substr(q$Revision: 1.35 $, 10);
use Vend::Util;
use Vend::Interpolate;
@@ -1656,6 +1656,7 @@
my @messages;
my @errors;
my $pass_return_to;
+ my $hidden = $opt->{hidden} ||= {};
#::logDebug("key at beginning: $key");
$opt->{mv_data_table} = $table if $table;
@@ -1670,21 +1671,33 @@
$opt->{ui_sequence_edit} ||= $CGI::values{ui_sequence_edit};
}
- if($key =~ /\0/ or (! $key and $key = delete $opt->{item_id_left}) ) {
+ if($opt->{ui_sequence_edit}) {
delete $opt->{ui_sequence_edit};
- if($key =~ s/\0(.*)//s or $key =~ s/,(.*)//s ) {
- $opt->{item_id_left} = $1;
- $opt->{ui_sequence_edit} = 1;
+ my $left = delete $opt->{item_id_left};
+
+ if(! $key) {
+#::logDebug("No key, getting from $left");
+ if($left =~ s/(.*?)[\0,]// ) {
+ $key = $opt->{item_id} = $1;
+ $hidden->{item_id_left} = $left;
+ $hidden->{ui_sequence_edit} = 1;
+ }
+ elsif($left) {
+ $key = $opt->{item_id} = $left;
+ }
+#::logDebug("No key, left now $left");
+ }
+ elsif($left) {
+#::logDebug("Key, leaving left $left");
+ $hidden->{item_id_left} = $left;
+ $hidden->{ui_sequence_edit} = 1;
}
}
$opt->{item_id} = $key;
- $pass_return_to = save_cgi() if $opt->{ui_sequence_edit};
+ $pass_return_to = save_cgi() if $hidden->{ui_sequence_edit};
-#::logDebug("item_id_left=" . ::uneval($opt->{item_id_left}));
-#::logDebug("pass_return_to=" . ::uneval($pass_return_to));
-#::logDebug("ui_sequence_edit=$opt->{ui_sequence_edit}");
my $data;
my $exists;
my $db;
@@ -1759,7 +1772,6 @@
my $blabel = $opt->{blabel};
my $elabel = $opt->{elabel};
my $mlabel = '';
- my $hidden = $opt->{hidden} ||= {};
my $hidden_all = $opt->{hidden_all} ||= {};
#::logDebug("hidden_all=" . ::uneval($hidden_all));
my $ntext;
@@ -2289,12 +2301,7 @@
mv_data_function
/);
- my @cgi_set = ( qw/
- item_id_left
- ui_sequence_edit
- / );
-
- for my $k (@opt_set, @cgi_set) {
+ for my $k (@opt_set) {
$opt->{hidden}{$k} = $opt->{$k};
}