Thingy add/edit via AJAX returned nothing useful, and lied about error status. Fixes bug #11781.
This commit is contained in:
parent
9f53cdadfb
commit
b12c719b09
3 changed files with 29 additions and 4 deletions
|
|
@ -1,5 +1,6 @@
|
|||
7.9.13
|
||||
- fixed #11783: Instances deleted during realtime run
|
||||
- fixed #11781: Thingy wrong retorn value from Ajax method
|
||||
|
||||
7.9.12
|
||||
- webgui.org homepage gives 404 (#11778)
|
||||
|
|
|
|||
|
|
@ -2587,9 +2587,10 @@ sub www_editThingDataSaveViaAjax {
|
|||
}
|
||||
|
||||
my $thingProperties = $self->getThing($thingId);
|
||||
use Data::Dumper;
|
||||
warn $thingId;
|
||||
warn Dumper $thingProperties;
|
||||
if ($thingProperties->{thingId}){
|
||||
my ($privilegedGroup,$workflowId);
|
||||
|
||||
return $session->privilege->insufficient() unless $self->canEditThingData($thingId, $thingDataId
|
||||
,$thingProperties);
|
||||
|
||||
|
|
@ -2600,12 +2601,15 @@ sub www_editThingDataSaveViaAjax {
|
|||
|
||||
my ($newThingDataId,$errors) = $self->editThingDataSave($thingId,$thingDataId);
|
||||
|
||||
if ($errors){
|
||||
if (@{ $errors }) {
|
||||
$session->http->setStatus(400);
|
||||
return JSON->new->encode($errors);
|
||||
}
|
||||
$session->http->setStatus("200");
|
||||
return '{}';
|
||||
}
|
||||
else {
|
||||
warn "thingId not found in thingProperties\n";
|
||||
$session->http->setStatus(404);
|
||||
return JSON->new->encode({message => "The thingId you requested can not be found."});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ use lib "$FindBin::Bin/../../lib";
|
|||
use WebGUI::Test;
|
||||
use WebGUI::Test::MockAsset;
|
||||
use WebGUI::Session;
|
||||
use Test::More tests => 28; # increment this value for each test you create
|
||||
use Test::More tests => 30; # increment this value for each test you create
|
||||
use Test::Deep;
|
||||
use JSON;
|
||||
use WebGUI::Asset::Wobject::Thingy;
|
||||
|
|
@ -404,6 +404,7 @@ is($table, undef, '... drops thing specific table');
|
|||
# getFieldValue
|
||||
#
|
||||
#################################################################
|
||||
|
||||
{
|
||||
my %newThingProperties = %thingProperties;
|
||||
my $newThingId = $thingy->addThing(\%newThingProperties, 0);
|
||||
|
|
@ -419,3 +420,22 @@ is($table, undef, '... drops thing specific table');
|
|||
like($datetime, qr{^\d+/\d+/\d+\s+\d+:\d+}, "... DateTime field also returns data in user's format");
|
||||
}
|
||||
|
||||
#################################################################
|
||||
#
|
||||
# www_editThingDataSaveViaAjax
|
||||
#
|
||||
#################################################################
|
||||
|
||||
$session->request->setup_body({
|
||||
thingId => $thingId,
|
||||
thingDataId => 'new',
|
||||
});
|
||||
|
||||
$session->user({userId => '3'});
|
||||
$session->http->setStatus(200);
|
||||
my $json = $thingy->www_editThingDataSaveViaAjax();
|
||||
diag "json: ".$json;
|
||||
is $json, '{}', 'www_editThingDataSaveViaAjax: Empty JSON hash';
|
||||
is $session->http->getStatus, 200, '... http status=200';
|
||||
|
||||
$session->request->setup_body({ });
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue