fixes added and working admin interface

This commit is contained in:
Finn 2017-11-23 16:25:14 +00:00
parent 8754ffd93a
commit 54dcbf6fb8
3 changed files with 21 additions and 9 deletions

View file

@ -86,10 +86,14 @@ sub valid_read {
}, },
); );
my $associations = $valid_org->entity->associations; my $associations = $valid_org->entity->associations;
my $assoc = {
lis => defined $associations ? $associations->lis : 0,
};
$c->stash( $c->stash(
valid_org => $valid_org, valid_org => $valid_org,
transactions => $transactions, transactions => $transactions,
associations => $associations, associations => $assoc,
); );
} }
@ -104,6 +108,7 @@ sub valid_edit {
$validation->required('postcode')->postcode; $validation->required('postcode')->postcode;
$validation->optional('pending'); $validation->optional('pending');
$validation->optional('is_local'); $validation->optional('is_local');
$validation->optional('is_lis');
if ( $validation->has_error ) { if ( $validation->has_error ) {
$c->flash( error => 'The validation has failed' ); $c->flash( error => 'The validation has failed' );
@ -123,9 +128,12 @@ sub valid_edit {
pending => defined $validation->param('pending') ? 0 : 1, pending => defined $validation->param('pending') ? 0 : 1,
is_local => $validation->param('is_local'), is_local => $validation->param('is_local'),
}); });
$valid_org->entity->update_or_create_related( 'associations', {
lis => $validation->param('is_lis'),
});
} ); } );
} finally { } finally {
if ( @_ ) { if ( @_ ) {use Devel::Dwarn; Dwarn \@_;
$c->flash( error => 'Something went wrong Updating the Organisation' ); $c->flash( error => 'Something went wrong Updating the Organisation' );
} else { } else {
$c->flash( success => 'Updated Organisation' ); $c->flash( success => 'Updated Organisation' );

View file

@ -126,10 +126,14 @@ sub lis_load {
my $entity = $c->stash->{api_user}->entity; my $entity = $c->stash->{api_user}->entity;
my $entity_type_object = $entity->type_object; my $entity_type_object = $entity->type_object;
my $orgs_lis = $valid_org = $c->schema->resultset('Entity')->find( $c->param('lis') ); my $orgs_lis = $c->schema->resultset('EntityAssociation')->search(
{
'lis' => 1,
},
);
# need: organisations only, with name, latitude, and longitude # need: organisations only, with name, latitude, and longitude
my $org_rs = $orgs_lis->associations->search_related('entity', my $org_rs = $orgs_lis->search_related('entity',
{ {
'entity.type' => 'organisation', 'entity.type' => 'organisation',
'organisation.latitude' => { -between => [ 'organisation.latitude' => { -between => [
@ -154,7 +158,7 @@ sub lis_load {
$org_rs->result_class('DBIx::Class::ResultClass::HashRefInflator'); $org_rs->result_class('DBIx::Class::ResultClass::HashRefInflator');
my $suppliers = [ map { my $locations = [ map {
{ {
latitude => $_->{organisation}->{latitude} * 1, latitude => $_->{organisation}->{latitude} * 1,
longitude => $_->{organisation}->{longitude} * 1, longitude => $_->{organisation}->{longitude} * 1,

View file

@ -100,11 +100,11 @@ function initMap() {
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="local" class="col-md-4 col-form-label">Part of LIS</label> <label for="lis" class="col-md-4 col-form-label">Part of LIS</label>
<div class="col-md-8"> <div class="col-md-8">
<select id="local" class="form-control" name="is_local"> <select id="lis" class="form-control" name="is_lis">
<option value="0"<%= !$associations->lis ? '' : ' selected' %>>In Story</option> <option value="0"<%= !$associations->{lis} ? '' : ' selected' %>>Not In Story</option>
<option value="1"<%= $associations->lis ? ' selected' : '' %>>Not in Story</option> <option value="1"<%= $associations->{lis} ? ' selected' : '' %>>In Story</option>
</select> </select>
</div> </div>
</div> </div>