summaryrefslogtreecommitdiff
path: root/FS/FS/msgcat.pm
diff options
context:
space:
mode:
authorivan <ivan>2008-12-21 21:33:28 +0000
committerivan <ivan>2008-12-21 21:33:28 +0000
commit48bade3f01a672f235d61a29ad0d0b792fc80eab (patch)
tree175a6d060f647f9411d2634b109bbbb8ec5bbb1e /FS/FS/msgcat.pm
parent93d2608554affca0d1e49ab1469328960c75848e (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.pm34
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