default to a session cookie instead of setting an explicit timeout, weird timezone...
[freeside.git] / FS / FS / part_tag.pm
index 0229e3a..b5295be 100644 (file)
@@ -1,8 +1,8 @@
 package FS::part_tag;
+use base qw( FS::Record );
 
 use strict;
-use base qw( FS::Record );
-use FS::Record qw( qsearch qsearchs );
+use FS::Record qw( qsearch ); #qsearchs );
 
 =head1 NAME
 
@@ -30,22 +30,17 @@ FS::Record.  The following fields are currently supported:
 
 =over 4
 
-=item tagnum
-
-primary key
-
-=item tagname
+=item tagnum - primary key
 
-tagname
+=item tagname - tag name
 
-=item tagdesc
+=item tagdesc - description (can be longer than name)
 
-tagdesc
+=item tagcolor - HTML-style color to display this tag
 
-=item tagcolor
-
-tagcolor
+=item by_default - 'Y' to enable this tag on new customers
 
+=item disabled
 
 =back
 
@@ -111,6 +106,7 @@ sub check {
     || $self->ut_text('tagname')
     || $self->ut_textn('tagdesc')
     || $self->ut_textn('tagcolor')
+    || $self->ut_enum('by_default', [ '', 'Y' ] )
     || $self->ut_enum('disabled', [ '', 'Y' ] )
   ;
   return $error if $error;
@@ -120,6 +116,21 @@ sub check {
 
 =back
 
+=head1 CLASS METHODS
+
+=over 4
+
+=item default_tags
+
+Returns the tagnums of all tags that have 'by_default' enabled.
+
+=cut
+
+sub default_tags {
+  my $class = shift;
+  map { $_->tagnum } qsearch('part_tag', { disabled => '', by_default => 'Y' });
+}
+
 =head1 BUGS
 
 =head1 SEE ALSO