7 use FS::Record; # qw( qsearchs );
13 FS::msgcat - Object methods for message catalog entries
19 $record = new FS::msgcat \%hash;
20 $record = new FS::msgcat { 'column' => 'value' };
22 $error = $record->insert;
24 $error = $new_record->replace($old_record);
26 $error = $record->delete;
28 $error = $record->check;
32 An FS::msgcat object represents an message catalog entry. FS::msgcat inherits
33 from FS::Record. The following fields are currently supported:
37 =item msgnum - primary key
39 =item msgcode - Error code
47 If you just want to B<use> message catalogs, see L<FS::Msgcat>.
55 Creates a new message catalog entry. To add the message catalog entry to the
56 database, see L<"insert">.
58 Note that this stores the hash reference, not a distinct copy of the hash it
59 points to. You can ask the object for a copy with the I<hash> method.
63 # the new method can be inherited from FS::Record, if a table method is defined
65 sub table { 'msgcat'; }
69 Adds this record to the database. If there is an error, returns the error,
70 otherwise returns false.
74 # the insert method can be inherited from FS::Record
78 Delete this record from the database.
82 # the delete method can be inherited from FS::Record
84 =item replace OLD_RECORD
86 Replaces the OLD_RECORD with this one in the database. If there is an error,
87 returns the error, otherwise returns false.
91 # the replace method can be inherited from FS::Record
95 Checks all fields to make sure this is a valid message catalog entry. If there
96 is an error, returns the error, otherwise returns false. Called by the insert
101 # the check method should currently be supplied - FS::Record contains some
102 # data checking routines
108 $self->ut_numbern('msgnum')
109 || $self->ut_text('msgcode')
110 || $self->ut_text('msg')
112 return $error if $error;
114 $self->locale =~ /^([\w\@]+)$/ or return "illegal locale: ". $self->locale;
121 sub _upgrade_data { #class method
122 my( $class, %opts) = @_;
124 eval "use FS::Setup;";
127 #"repopulate_msgcat", false laziness w/FS::Setup::populate_msgcat
129 my %messages = FS::Setup::msgcat_messages();
131 foreach my $msgcode ( keys %messages ) {
132 foreach my $locale ( keys %{$messages{$msgcode}} ) {
134 'msgcode' => $msgcode,
136 #'msg' => $messages{$msgcode}{$locale},
138 #my $msgcat = qsearchs('msgcat', \%msgcat);
139 my $msgcat = FS::Record::qsearchs('msgcat', \%msgcat); #wtf?
142 $msgcat = new FS::msgcat( {
144 'msg' => $messages{$msgcode}{$locale},
146 my $error = $msgcat->insert;
147 die $error if $error;
161 L<FS::Msgcat>, L<FS::Record>, schema.html from the base documentation.