diff options
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/Schema.pm | 9 | ||||
-rw-r--r-- | FS/FS/hardware_class.pm | 6 | ||||
-rw-r--r-- | FS/FS/hardware_type.pm | 14 |
3 files changed, 24 insertions, 5 deletions
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index 9de1b7f3f..483c5e00a 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -2126,12 +2126,13 @@ sub tables_hashref { 'hardware_type' => { 'columns' => [ - 'typenum', 'serial', '', '', '', '', - 'classnum', 'int', '', '', '', '', - 'model', 'varchar', '', $char_d, '', '', + 'typenum', 'serial', '', '', '', '', + 'classnum', 'int', '', '', '', '', + 'model', 'varchar', '', $char_d, '', '', + 'revision','varchar', 'NULL', $char_d, '', '', ], 'primary_key' => 'typenum', - 'unique' => [ ], + 'unique' => [ [ 'classnum', 'model', 'revision' ] ], 'index' => [ ], }, diff --git a/FS/FS/hardware_class.pm b/FS/FS/hardware_class.pm index 073a97f88..791653baa 100644 --- a/FS/FS/hardware_class.pm +++ b/FS/FS/hardware_class.pm @@ -112,7 +112,11 @@ Returns all L<FS::hardware_type> objects belonging to this class. sub hardware_type { my $self = shift; - return qsearch('hardware_type', { 'classnum' => $self->classnum }); + qsearch({ + table => 'hardware_type', + hashref => { 'classnum' => $self->classnum }, + order_by=> 'ORDER BY model, revision', + }) } =back diff --git a/FS/FS/hardware_type.pm b/FS/FS/hardware_type.pm index ba19fcb21..f19a3f683 100644 --- a/FS/FS/hardware_type.pm +++ b/FS/FS/hardware_type.pm @@ -39,6 +39,8 @@ to which this device type belongs. =item model - descriptive model name or number +=item revision - revision name/number, subordinate to model + =back =head1 METHODS @@ -102,6 +104,7 @@ sub check { $self->ut_numbern('typenum') || $self->ut_foreign_key('classnum', 'hardware_class', 'classnum') || $self->ut_text('model') + || $self->ut_textn('revision') ; return $error if $error; @@ -119,6 +122,17 @@ sub hardware_class { return qsearchs('hardware_class', { 'classnum' => $self->classnum }); } +=item description + +Returns the model and revision number. + +=cut + +sub description { + my $self = shift; + $self->model . ($self->revision ? ' '.$self->revision : ''); +} + =back =head1 SEE ALSO |