diff --git a/CHANGELOG.md b/CHANGELOG.md index 466dbbb..be80974 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ # Next Release +* **Admin Fix**: Fix error in Importing under Postgres * **Admin Feature** Ability to add entity to LIS Added * Added code endpoint for LIS organisations for web app use * Schema updated to account for these changes diff --git a/lib/Pear/LocalLoop/Command/dev_data.pm b/lib/Pear/LocalLoop/Command/dev_data.pm index 70a5673..5cf079b 100644 --- a/lib/Pear/LocalLoop/Command/dev_data.pm +++ b/lib/Pear/LocalLoop/Command/dev_data.pm @@ -28,45 +28,57 @@ sub run { $schema->resultset('User')->create({ email => 'test@example.com', password => 'abc123', - customer => { - full_name => 'Test User', - display_name => 'Test User', - year_of_birth => 2006, - postcode => 'LA1 1AA', + entity => { + type => 'customer', + customer => { + full_name => 'Test User', + display_name => 'Test User', + year_of_birth => 2006, + postcode => 'LA1 1AA', + } }, - administrator => {}, + is_admin => 1, }); $schema->resultset('User')->create({ email => 'test2@example.com', password => 'abc123', - customer => { - full_name => 'Test User 2', - display_name => 'Test User 2', - year_of_birth => 2006, - postcode => 'LA1 1AA', + entity => { + type => 'customer', + customer => { + full_name => 'Test User 2', + display_name => 'Test User 2', + year_of_birth => 2006, + postcode => 'LA1 1AA', + }, }, }); $schema->resultset('User')->create({ email => 'test3@example.com', password => 'abc123', - customer => { - full_name => 'Test User 3', - display_name => 'Test User 3', - year_of_birth => 2006, - postcode => 'LA1 1AA', + entity => { + type => 'customer', + customer => { + full_name => 'Test User 3', + display_name => 'Test User 3', + year_of_birth => 2006, + postcode => 'LA1 1AA', + }, }, }); $schema->resultset('User')->create({ email => 'testorg@example.com', password => 'abc123', - organisation => { - name => 'Test Org', - street_name => 'Test Street', - town => 'Lancaster', - postcode => 'LA1 1AA', + entity => { + type => 'organisation', + organisation => { + name => 'Test Org', + street_name => 'Test Street', + town => 'Lancaster', + postcode => 'LA1 1AA', + }, }, }); } diff --git a/lib/Pear/LocalLoop/Schema/ResultSet/ImportSet.pm b/lib/Pear/LocalLoop/Schema/ResultSet/ImportSet.pm index 785aa99..2ef3e75 100644 --- a/lib/Pear/LocalLoop/Schema/ResultSet/ImportSet.pm +++ b/lib/Pear/LocalLoop/Schema/ResultSet/ImportSet.pm @@ -23,12 +23,28 @@ sub get_values { ); } +sub _unordered_get_values { + my $self = shift; + my $id = shift; + my $include_ignored = shift; + my $include_imported = shift; + + return $self->find($id)->search_related( + 'values', + { + ( $include_ignored ? () : ( ignore_value => 0 ) ), + ( $include_imported ? () : ( transaction_id => undef ) ), + }, + ); +} + sub get_users { my $self = shift; - return $self->get_values(@_)->search({}, + return $self->_unordered_get_values(@_)->search({}, { group_by => 'user_name', + columns => [ qw/ user_name / ], }, ); } @@ -36,9 +52,10 @@ sub get_users { sub get_orgs { my $self = shift; - return $self->get_values(@_)->search({}, + return $self->_unordered_get_values(@_)->search({}, { group_by => 'org_name', + columns => [ qw/ org_name / ], }, ); }