Send Netdot-devel mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
https://osl.uoregon.edu/mailman/listinfo/netdot-devel
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Netdot-devel digest..."
Today's Topics:
1. [SCM] Netdot Git repository branch netdot-1.0 updated.
netdot-1.0.1-RC3-31-g0277037 (Apache)
2. [SCM] Netdot Git repository branch netdot-1.0 updated.
netdot-1.0.1-RC3-32-g00cd3bb (Apache)
3. [SCM] Netdot Git repository branch netdot-1.0 updated.
netdot-1.0.1-RC3-33-g6209831 (Apache)
4. [SCM] Netdot Git repository branch netdot-1.0 updated.
netdot-1.0.1-RC3-34-g7e9fd90 (Apache)
5. [PATCH] Fix typo of check_value_lenghts
([email protected])
6. [Netdot - Bug #1664] (New) Changing "General Name and Domain"
of Device fails ([email protected])
7. Re: [PATCH] Fix typo of check_value_lenghts (Carlos Vicente)
----------------------------------------------------------------------
Message: 1
Date: Mon, 23 Jul 2012 19:16:11 -0700
From: Apache <[email protected]>
Subject: [Netdot-devel] [SCM] Netdot Git repository branch netdot-1.0
updated. netdot-1.0.1-RC3-31-g0277037
To: [email protected]
Message-ID: <[email protected]>
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Netdot Git repository".
The branch, netdot-1.0 has been updated
via 0277037e8f3790f224f4fccca7d94b86c70e20e5 (commit)
from 12cdebd260b5434e2075e468fd010824a06e32ec (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 0277037e8f3790f224f4fccca7d94b86c70e20e5
Author: Carlos Vicente <[email protected]>
Date: Mon Jul 23 22:11:41 2012 -0400
Correction to previous fix to #1642. Removed rotation option for Pg. Needs
to be properly implemented later
diff --git a/bin/prune_db.pl b/bin/prune_db.pl
index 7f8c6c4..dc29e08 100755
--- a/bin/prune_db.pl
+++ b/bin/prune_db.pl
@@ -225,13 +225,15 @@ if ( $self{AUDIT} ){
if ( $self{FWT} ){
if ( $self{ROTATE} ){
- if ( $db_type eq 'mysql' || $db_type eq 'Pg' ){
+ if ( $db_type eq 'mysql' ){
unless ( $self{PRETEND} ){
- &rotate_table('fwtable');
- &rotate_table('fwtableentry');
+ my $fwtable_def = &get_table_def('fwtable');
+ my $fwtableentry_def = &get_table_def('fwtableentry');
+ &rotate_table('fwtable', $fwtable_def);
+ &rotate_table('fwtableentry', $fwtableentry_def);
}
}else{
- die "Rotate function only implemented in mysql and postgreSQL for
now";
+ die "Rotate function only implemented in mysql for now";
}
}else{
###########################################################################################
@@ -254,8 +256,10 @@ if ( $self{ARP} ){
if ( $self{ROTATE} ){
if ( $db_type eq 'mysql' or $db_type eq 'Pg' ){
unless ( $self{PRETEND} ){
- &rotate_table('arpcache');
- &rotate_table('arpcacheentry');
+ my $arpcache_def = &get_table_def('arpcache');
+ my $arpcacheentry_def = &get_table_def('arpcacheentry');
+ &rotate_table('arpcache', $arpcache_def);
+ &rotate_table('arpcacheentry', $arpcacheentry_def);
}
}else{
die "Rotate function only implemented in mysql and postgreSQL for
now";
@@ -312,9 +316,20 @@ sub optimize_table{
return;
}
-sub rotate_table{
+# Get table definition
+sub get_table_def {
my $table = shift;
-
+ my $q = $dbh->selectall_arrayref("SHOW CREATE TABLE $table");
+ my $def = $q->[0]->[1];
+ $def =~ s/AUTO_INCREMENT=[0-9]+/AUTO_INCREMENT=1/;
+ $def =~ s/CREATE TABLE `(.*)`/CREATE TABLE `$table`/;
+ return $def;
+}
+
+sub rotate_table{
+ my ($table, $def) = @_;
+ die "Missing required arguments" unless $table && $def;
+
# We need DBA privileges here
my $db_host = Netdot->config->get('DB_HOST');
@@ -329,28 +344,42 @@ sub rotate_table{
my $dbh = &dbconnect($db_type, $db_host, $db_port, $db_user, $db_pass,
$db_db)
|| die ("Cannot connect to database as root");
-
-
+
$dbh->{AutoCommit} = 0; # make sure autocommit is off so we use
transactions
$dbh->{RaiseError} = 1; # make sure we hear about any problems
my $timestamp = time;
if ( $db_type eq 'mysql' ){
+ # Tried to do this with just rename table and create table like
+ # but the constraints complicate things
eval{
+ my @statements;
+
+ # Constraint names are unique per database, so we need to
+ # remove them from the backup table before creating the
+ # new one
+ my $fkq = "SELECT CONSTRAINT_NAME, TABLE_NAME, COLUMN_NAME,
+ REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME
+ FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
+ WHERE TABLE_NAME = '$table'
+ AND TABLE_SCHEMA = 'netdot'
+ AND REFERENCED_TABLE_NAME IS NOT NULL";
+ my $rows = $dbh->selectall_arrayref($fkq);
+
my $backup = $table.'_'.$timestamp;
- $dbh->do("RENAME TABLE $table TO $backup");
- $dbh->do("CREATE TABLE $table LIKE $backup");
- }
- }elsif ( $db_type eq 'Pg' ){
- # This really needs to be redone, as the approach defeats the
- # purpose of the rotation, which was to avoid deleting a very large
- # number rows
- my $new_table_name = $table."_".$timestamp;
- eval{
- $dbh->do("CREATE TABLE $new_table_name AS SELECT * FROM $table");
- $dbh->do("DELETE FROM $table");
- $dbh->do("SELECT setval('".$table."_id_seq', 1, false"); #reset
auto_increment
+ push @statements, ("RENAME TABLE $table TO $backup");
+
+ foreach my $row ( @$rows ){
+ my ($const, $table, $col, $reftable, $refcol) = @$row;
+ push @statements, ("ALTER TABLE $backup DROP FOREIGN KEY
`$const`");
+ }
+ # Re-create the original table
+ push @statements, $def;
+ foreach my $st ( @statements ){
+ $logger->debug($st);
+ $dbh->do($st);
+ }
}
}else{
$logger->warn("Could not rotate table $table. Database $db_type not
supported");
@@ -363,7 +392,8 @@ sub rotate_table{
$dbh->commit;
$logger->info("Table $table rotated successfully");
- $dbh->{AutoCommit} = 1; #we can turn autocommit back on since the rest of
the transactions are basically atomic
+ # We can turn autocommit back on since the rest of the transactions are
basically atomic
+ $dbh->{AutoCommit} = 1;
$logger->debug("Droping $table backups older than $self{NUM_DAYS} days");
my $tables_q;
-----------------------------------------------------------------------
Summary of changes:
bin/prune_db.pl | 76 ++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 53 insertions(+), 23 deletions(-)
hooks/post-receive
--
Netdot Git repository
------------------------------
Message: 2
Date: Mon, 23 Jul 2012 19:45:38 -0700
From: Apache <[email protected]>
Subject: [Netdot-devel] [SCM] Netdot Git repository branch netdot-1.0
updated. netdot-1.0.1-RC3-32-g00cd3bb
To: [email protected]
Message-ID: <[email protected]>
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Netdot Git repository".
The branch, netdot-1.0 has been updated
via 00cd3bb5aab1561ab3ab0319499893b3374010e0 (commit)
from 0277037e8f3790f224f4fccca7d94b86c70e20e5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 00cd3bb5aab1561ab3ab0319499893b3374010e0
Author: Carlos Vicente <[email protected]>
Date: Mon Jul 23 22:45:02 2012 -0400
Avoid crash when updating one of the fields that composes an object's label
diff --git a/lib/Netdot/Model.pm b/lib/Netdot/Model.pm
index c411935..f43a2b4 100644
--- a/lib/Netdot/Model.pm
+++ b/lib/Netdot/Model.pm
@@ -159,8 +159,17 @@ BEGIN {
return if exists $EXCLUDE_AUDIT{$table};
return if $table =~ /_history$/o;
- my $id = $self->id;
- my $label = $self->get_label;
+ my $id = $self->id;
+ my $label;
+ # If one of the fields which compose the label is being updated
+ # this breaks with "Can't call method without ..."
+ # In that case, just use the record's ID as label.
+ eval {
+ $label = $self->get_label;
+ };
+ if ( my $e = $@ ){
+ $label = $self->id;
+ }
my %data = (tstamp => $self->timestamp,
tablename => $table,
object_id => $id,
-----------------------------------------------------------------------
Summary of changes:
lib/Netdot/Model.pm | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
hooks/post-receive
--
Netdot Git repository
------------------------------
Message: 3
Date: Mon, 23 Jul 2012 20:07:26 -0700
From: Apache <[email protected]>
Subject: [Netdot-devel] [SCM] Netdot Git repository branch netdot-1.0
updated. netdot-1.0.1-RC3-33-g6209831
To: [email protected]
Message-ID: <[email protected]>
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Netdot Git repository".
The branch, netdot-1.0 has been updated
via 6209831765524d1c665578b761fa013586a4868b (commit)
from 00cd3bb5aab1561ab3ab0319499893b3374010e0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6209831765524d1c665578b761fa013586a4868b
Author: Carlos Vicente <[email protected]>
Date: Mon Jul 23 23:06:49 2012 -0400
Deterministic order of NS records in .arpa zones
diff --git a/lib/Netdot/Model/Zone.pm b/lib/Netdot/Model/Zone.pm
index f83c038..9365912 100644
--- a/lib/Netdot/Model/Zone.pm
+++ b/lib/Netdot/Model/Zone.pm
@@ -456,7 +456,7 @@ sub get_all_records {
my $dbh = $self->db_Main;
my $id = $self->id;
- my $order_by = ($self->is_dot_arpa)? 'pip.address' : 'rr.name';
+ my $order_by = ($self->is_dot_arpa)? 'pip.address,rr.name' : 'rr.name';
my $q = "SELECT rr.name, zone.name, aip.version, aip.address,
rrtxt.txtdata, rrhinfo.cpu, rrhinfo.os,
rrptr.ptrdname, rrns.nsdname, rrmx.preference,
rrmx.exchange, rrcname.cname, rrloc.id,
rrsrv.id, rrnaptr.id, rrds.algorithm, rrds.key_tag,
rrds.digest_type, rrds.digest, rr.active,
-----------------------------------------------------------------------
Summary of changes:
lib/Netdot/Model/Zone.pm | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
hooks/post-receive
--
Netdot Git repository
------------------------------
Message: 4
Date: Mon, 23 Jul 2012 20:23:34 -0700
From: Apache <[email protected]>
Subject: [Netdot-devel] [SCM] Netdot Git repository branch netdot-1.0
updated. netdot-1.0.1-RC3-34-g7e9fd90
To: [email protected]
Message-ID: <[email protected]>
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Netdot Git repository".
The branch, netdot-1.0 has been updated
via 7e9fd90c2d015cdd056194121f82f9c26e323253 (commit)
from 6209831765524d1c665578b761fa013586a4868b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 7e9fd90c2d015cdd056194121f82f9c26e323253
Author: Carlos Vicente <[email protected]>
Date: Mon Jul 23 23:23:00 2012 -0400
Do not add interface ip addresses or subnets if admin status is down. Check
was there but code was in the wrong order
diff --git a/lib/Netdot/Model/Device.pm b/lib/Netdot/Model/Device.pm
index 28c5938..6587287 100644
--- a/lib/Netdot/Model/Device.pm
+++ b/lib/Netdot/Model/Device.pm
@@ -965,83 +965,6 @@ sub get_snmp_info {
################################################################
# Interface stuff
- sub _check_if_status_down{
- my ($dev, $iid) = @_;
- return 1 if ( (defined $dev->{interface}{$iid}{admin_status}) &&
- ($dev->{interface}{$iid}{admin_status} eq 'down') );
- return 0;
- }
-
- ################################################################
- # IPv4 addresses and masks
- #
- while ( my($ip,$iid) = each %{ $hashes{'ip_index'} } ){
- next if &_check_if_status_down(\%dev, $iid);
- next if Ipblock->is_loopback($ip);
- next if ( $ip eq '0.0.0.0' || $ip eq '255.255.255.255' );
- $dev{interface}{$iid}{ips}{$ip}{address} = $ip;
- $dev{interface}{$iid}{ips}{$ip}{version} = 4;
- if ( my $mask = $hashes{'ip_netmask'}->{$ip} ){
- my ($subnet, $len) = Ipblock->get_subnet_addr(address => $ip,
- prefix => $mask );
- $dev{interface}{$iid}{ips}{$ip}{subnet} = "$subnet/$len";
- }
- }
-
- ################################################################
- # IPv6 addresses and prefixes
- # Stuff in this hash looks like this:
- #
- # CISCO-IETF-IP-MIB:
- # 2.16.32.1.4.104.13.1.0.2.0.0.0.0.0.0.0.9 =>
- # 49.2.16.32.1.4.104.13.1.0.2.0.0.0.0.0.0.0.0.64
- #
- # IP-MIB:
- # 2.32.1.4.104.13.1.0.2.0.0.0.0.0.0.0.41 =>
- # 1.151126018.2.32.1.4.104.13.1.0.2.0.0.0.0.0.0.0.0.64
- #
- while ( my($key,$val) = each %{$hashes{'ipv6_addr_prefix'}} ){
- my ($iid, $addr, $pfx, $len);
- # We only care about the last 16 octets in decimal
- # so, that's an digit and a dot, 15 times, plus another digit
- if ( $key =~ /^.+\.((?:\d+\.){15}\d+)$/o ) {
- $addr = $self->_octet_string_to_v6($1);
- }
- if ( $val =~ /^(\d+)\.\d+\.\d+\.([\d\.]+)\.(\d+)$/o ) {
- # ifIndex, type, size, prefix length
- $iid = $1; $len = $3;
- $pfx = $self->_octet_string_to_v6($2);
- }
- if ( $iid && $addr && $pfx && $len ){
- next if &_check_if_status_down(\%dev, $iid);
- $dev{interface}{$iid}{ips}{$addr}{address} = $addr;
- $dev{interface}{$iid}{ips}{$addr}{version} = 6;
- $dev{interface}{$iid}{ips}{$addr}{subnet} = "$pfx/$len";
- }else{
- # What happened?
- $logger->warn("$args{host}: Unrecognized ipv6_addr_prefix entry:
$key => $val")
- }
- }
-
- ################################################################
- # IPv6 link-local addresses
- unless ( $self->config->get('IGNORE_IPV6_LINK_LOCAL') ){
- my $ipv6_index = $sinfo->ipv6_index();
- my ($iid, $addr);
- while ( my($key,$val) = each %$ipv6_index ){
- if ( $key =~ /^.+\.((?:\d+\.){15}\d+)$/o ) {
- $addr = $self->_octet_string_to_v6($1);
- next unless Ipblock->is_link_local($addr);
- $iid = $val;
- $dev{interface}{$iid}{ips}{$addr}{address} = $addr;
- $dev{interface}{$iid}{ips}{$addr}{version} = 6;
- }else{
- # What happened?
- $logger->warn("$args{host}: Unrecognized ipv6_index entry: $key
=> $val")
- }
- }
- }
-
##############################################
# for each interface discovered...
@@ -1126,6 +1049,85 @@ sub get_snmp_info {
}
}
}
+
+ sub _check_if_status_down{
+ my ($dev, $iid) = @_;
+ return 1 if ( (defined $dev->{interface}{$iid}{admin_status}) &&
+ ($dev->{interface}{$iid}{admin_status} eq 'down') );
+ return 0;
+ }
+
+ ################################################################
+ # IPv4 addresses and masks
+ #
+ while ( my($ip,$iid) = each %{ $hashes{'ip_index'} } ){
+ next if &_check_if_status_down(\%dev, $iid);
+ next if Ipblock->is_loopback($ip);
+ next if ( $ip eq '0.0.0.0' || $ip eq '255.255.255.255' );
+ $dev{interface}{$iid}{ips}{$ip}{address} = $ip;
+ $dev{interface}{$iid}{ips}{$ip}{version} = 4;
+ if ( my $mask = $hashes{'ip_netmask'}->{$ip} ){
+ my ($subnet, $len) = Ipblock->get_subnet_addr(address => $ip,
+ prefix => $mask );
+ $dev{interface}{$iid}{ips}{$ip}{subnet} = "$subnet/$len";
+ }
+ }
+
+ ################################################################
+ # IPv6 addresses and prefixes
+ # Stuff in this hash looks like this:
+ #
+ # CISCO-IETF-IP-MIB:
+ # 2.16.32.1.4.104.13.1.0.2.0.0.0.0.0.0.0.9 =>
+ # 49.2.16.32.1.4.104.13.1.0.2.0.0.0.0.0.0.0.0.64
+ #
+ # IP-MIB:
+ # 2.32.1.4.104.13.1.0.2.0.0.0.0.0.0.0.41 =>
+ # 1.151126018.2.32.1.4.104.13.1.0.2.0.0.0.0.0.0.0.0.64
+ #
+ while ( my($key,$val) = each %{$hashes{'ipv6_addr_prefix'}} ){
+ my ($iid, $addr, $pfx, $len);
+ # We only care about the last 16 octets in decimal
+ # so, that's an digit and a dot, 15 times, plus another digit
+ if ( $key =~ /^.+\.((?:\d+\.){15}\d+)$/o ) {
+ $addr = $self->_octet_string_to_v6($1);
+ }
+ if ( $val =~ /^(\d+)\.\d+\.\d+\.([\d\.]+)\.(\d+)$/o ) {
+ # ifIndex, type, size, prefix length
+ $iid = $1; $len = $3;
+ $pfx = $self->_octet_string_to_v6($2);
+ }
+ if ( $iid && $addr && $pfx && $len ){
+ next if &_check_if_status_down(\%dev, $iid);
+ $dev{interface}{$iid}{ips}{$addr}{address} = $addr;
+ $dev{interface}{$iid}{ips}{$addr}{version} = 6;
+ $dev{interface}{$iid}{ips}{$addr}{subnet} = "$pfx/$len";
+ }else{
+ # What happened?
+ $logger->warn("$args{host}: Unrecognized ipv6_addr_prefix entry:
$key => $val")
+ }
+ }
+
+ ################################################################
+ # IPv6 link-local addresses
+ unless ( $self->config->get('IGNORE_IPV6_LINK_LOCAL') ){
+ my $ipv6_index = $sinfo->ipv6_index();
+ my ($iid, $addr);
+ while ( my($key,$val) = each %$ipv6_index ){
+ if ( $key =~ /^.+\.((?:\d+\.){15}\d+)$/o ) {
+ $addr = $self->_octet_string_to_v6($1);
+ next unless Ipblock->is_link_local($addr);
+ $iid = $val;
+ $dev{interface}{$iid}{ips}{$addr}{address} = $addr;
+ $dev{interface}{$iid}{ips}{$addr}{version} = 6;
+ }else{
+ # What happened?
+ $logger->warn("$args{host}: Unrecognized ipv6_index entry: $key
=> $val")
+ }
+ }
+ }
+
+
##############################################
# Deal with BGP Peers
-----------------------------------------------------------------------
Summary of changes:
lib/Netdot/Model/Device.pm | 156 ++++++++++++++++++++++----------------------
1 files changed, 79 insertions(+), 77 deletions(-)
hooks/post-receive
--
Netdot Git repository
------------------------------
Message: 5
Date: Tue, 24 Jul 2012 14:52:32 +0800
From: [email protected]
Subject: [Netdot-devel] [PATCH] Fix typo of check_value_lenghts
To: [email protected]
Cc: James Andrewartha <[email protected]>
Message-ID:
<[email protected]>
From: James Andrewartha <[email protected]>
---
htdocs/generic/edit.html | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/htdocs/generic/edit.html b/htdocs/generic/edit.html
index ae28680..aea87cb 100644
--- a/htdocs/generic/edit.html
+++ b/htdocs/generic/edit.html
@@ -160,7 +160,7 @@ if ( $table ){
my $new;
eval{
Netdot::Model->do_transaction( sub{
- $ui->check_value_lenghts($table, \%args);
+ $ui->check_value_lengths($table, \%args);
$new = $table->insert(\%args);
});
};
--
1.7.2.5
------------------------------
Message: 6
Date: Tue, 24 Jul 2012 00:46:50 -0700
From: [email protected]
Subject: [Netdot-devel] [Netdot - Bug #1664] (New) Changing "General
Name and Domain" of Device fails
To: [email protected], [email protected],
[email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=utf-8
Issue #1664 has been reported by Florian Sch?del.
----------------------------------------
Bug #1664: Changing "General Name and Domain" of Device fails
https://osl.uoregon.edu/redmine/issues/1664
Author: Florian Sch?del
Status: New
Priority: Normal
Assignee: Carlos Vicente
Category: DeviceManagement
Target version: 1.0.1-RC3
Resolution:
Hello there,
In my Netdot 1.0.1-rc3 installation it isn't possible to change the name and
domain of a new or an existing device
(http://x.y.z.z2/netdot/management/device.html?id=xx&view=Basics&editgen=1).
This operation is aborted due to the following error:
device.html produced the following error:
Transaction aborted: Error while updating Device: Can't call method "get_label"
without a package or object reference at
/usr/local/netdot/lib/Netdot/Model/Device.pm line 2344.
Stack:
[/usr/local/netdot/lib/Netdot/Model/Device.pm:2344]
[/usr/local/netdot/lib/Netdot/Model/Device.pm:2362]
[/usr/local/netdot/lib/Netdot/Model.pm:163]
[/usr/local/netdot/lib/Netdot/Model.pm:121]
[/usr/local/share/perl/5.14.2/Class/Trigger.pm:74]
[/usr/local/share/perl/5.14.2/Class/DBI.pm:796]
[/usr/local/netdot/lib/Netdot/Model.pm:819]
[/usr/local/netdot/lib/Netdot/Model/Device.pm:2423]
[/usr/local/netdot/lib/Netdot/UI.pm:253]
[/usr/local/netdot/htdocs/management/device.html:155]
[/usr/local/netdot/htdocs/management/device.html:156]
[/usr/local/netdot/htdocs/management/autohandler:81]
[/usr/local/share/perl/5.14.2/HTML/Mason/Request.pm:948]
[/usr/local/netdot/htdocs/masondata/obj/1249759374/management/autohandler.obj:21]
[/usr/local/netdot/htdocs/autohandler:76]
I would be very glad, if this bug would be fixed in the next RC-Version,
because I've recommended my employer to use netdot instead of excel.
Thanks a lot
Florian
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://osl.uoregon.edu/redmine/my/account
------------------------------
Message: 7
Date: Tue, 24 Jul 2012 09:24:20 -0400
From: Carlos Vicente <[email protected]>
Subject: Re: [Netdot-devel] [PATCH] Fix typo of check_value_lenghts
To: [email protected]
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=ISO-8859-1
Thank you James. I fixed that yesterday.
cv
On 7/24/12 2:52 AM, [email protected] wrote:
> From: James Andrewartha <[email protected]>
>
> ---
> htdocs/generic/edit.html | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/htdocs/generic/edit.html b/htdocs/generic/edit.html
> index ae28680..aea87cb 100644
> --- a/htdocs/generic/edit.html
> +++ b/htdocs/generic/edit.html
> @@ -160,7 +160,7 @@ if ( $table ){
> my $new;
> eval{
> Netdot::Model->do_transaction( sub{
> - $ui->check_value_lenghts($table, \%args);
> + $ui->check_value_lengths($table, \%args);
> $new = $table->insert(\%args);
> });
> };
>
--
cv
------------------------------
_______________________________________________
Netdot-devel mailing list
[email protected]
https://osl.uoregon.edu/mailman/listinfo/netdot-devel
End of Netdot-devel Digest, Vol 64, Issue 22
********************************************