diff options
Diffstat (limited to 'perllib/FixMyStreet/DB')
-rw-r--r-- | perllib/FixMyStreet/DB/Result/Contact.pm | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/perllib/FixMyStreet/DB/Result/Contact.pm b/perllib/FixMyStreet/DB/Result/Contact.pm index 3ce0ec66f..bc91c84ee 100644 --- a/perllib/FixMyStreet/DB/Result/Contact.pm +++ b/perllib/FixMyStreet/DB/Result/Contact.pm @@ -98,7 +98,7 @@ sub category_display { $self->translate_column('category'); } -sub get_metadata_for_editing { +sub get_all_metadata { my $self = shift; my @metadata = @{$self->get_extra_fields}; @@ -111,9 +111,19 @@ sub get_metadata_for_editing { return \@metadata; } +sub get_metadata_for_editing { + my $self = shift; + my $metadata = $self->get_all_metadata; + + # Ignore the special admin-form-created entry + my @metadata = grep { $_->{code} ne '_fms_disable_' } @$metadata; + + return \@metadata; +} + sub get_metadata_for_input { my $self = shift; - my $metadata = $self->get_metadata_for_editing; + my $metadata = $self->get_all_metadata; # Also ignore any we have with a 'server_set' automated attribute my @metadata = grep { !$_->{automated} || $_->{automated} ne 'server_set' } @$metadata; @@ -136,4 +146,11 @@ sub id_field { return $self->get_extra_metadata('id_field') || 'fixmystreet_id'; } +sub disable_form_field { + my $self = shift; + my $metadata = $self->get_all_metadata; + my ($field) = grep { $_->{code} eq '_fms_disable_' } @$metadata; + return $field; +} + 1; |