diff options
author | ivan <ivan> | 2008-12-21 21:33:28 +0000 |
---|---|---|
committer | ivan <ivan> | 2008-12-21 21:33:28 +0000 |
commit | 48bade3f01a672f235d61a29ad0d0b792fc80eab (patch) | |
tree | 175a6d060f647f9411d2634b109bbbb8ec5bbb1e /FS/FS/msgcat.pm | |
parent | 93d2608554affca0d1e49ab1469328960c75848e (diff) |
unique checking for svc_phone like svc_acct, closes: RT#4204 (also a few lines of the new per-agent config snuck in Conf.pm from RT#3989)
Diffstat (limited to 'FS/FS/msgcat.pm')
-rw-r--r-- | FS/FS/msgcat.pm | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/FS/FS/msgcat.pm b/FS/FS/msgcat.pm index b512a81..4f60109 100644 --- a/FS/FS/msgcat.pm +++ b/FS/FS/msgcat.pm @@ -4,7 +4,7 @@ use strict; use vars qw( @ISA ); use Exporter; use FS::UID; -use FS::Record; +use FS::Record qw( qsearchs ); @ISA = qw(FS::Record); @@ -117,6 +117,38 @@ sub check { $self->SUPER::check } + +sub _upgrade_data { #class method + my( $class, %opts) = @_; + + eval "use FS::Setup;"; + die $@ if $@; + + #"repopulate_msgcat", false laziness w/FS::Setup::populate_msgcat + + my %messages = FS::Setup::msgcat_messages(); + + foreach my $msgcode ( keys %messages ) { + foreach my $locale ( keys %{$messages{$msgcode}} ) { + my %msgcat = ( + 'msgcode' => $msgcode, + 'locale' => $locale, + #'msg' => $messages{$msgcode}{$locale}, + ); + my $msgcat = qsearchs('msgcat', \%msgcat); + next if $msgcat; + + $msgcat = new FS::msgcat( { + %msgcat, + 'msg' => $messages{$msgcode}{$locale}, + } ); + my $error = $msgcat->insert; + die $error if $error; + } + } + +} + =back =head1 BUGS |