Do not log empty statuses in the InOutBoard.
This commit is contained in:
parent
1ccb468914
commit
564378bba8
3 changed files with 32 additions and 5 deletions
|
|
@ -4,6 +4,7 @@
|
||||||
- fixed #11025: Yo dudely in Wiki Keyword Search Template
|
- fixed #11025: Yo dudely in Wiki Keyword Search Template
|
||||||
- fixed #11027: trash warning but no trash-limbo warning
|
- fixed #11027: trash warning but no trash-limbo warning
|
||||||
- fixed #11031: AssetProxy refering to trash-limbo asset
|
- fixed #11031: AssetProxy refering to trash-limbo asset
|
||||||
|
- fixed #11028: IOB: Not choosing status causes Problem With Request
|
||||||
|
|
||||||
7.8.0
|
7.8.0
|
||||||
- upgraded YUI to 2.8.0r4
|
- upgraded YUI to 2.8.0r4
|
||||||
|
|
|
||||||
|
|
@ -407,10 +407,11 @@ sub www_setStatus {
|
||||||
my $delegate = $session->form->process('delegate');
|
my $delegate = $session->form->process('delegate');
|
||||||
if ($delegate eq $self->session->scratch->get("userId")) {
|
if ($delegate eq $self->session->scratch->get("userId")) {
|
||||||
my $sessionUserId = $session->scratch->get("userId") || $session->user->userId;
|
my $sessionUserId = $session->scratch->get("userId") || $session->user->userId;
|
||||||
$session->scratch->delete("userId");
|
|
||||||
$db->write("delete from InOutBoard_status where userId=? and assetId=?", [ $sessionUserId, $self->getId ]);
|
|
||||||
my $message = $session->form->process('message');
|
|
||||||
my $status = $session->form->process('status');
|
my $status = $session->form->process('status');
|
||||||
|
return $self->www_view if $status eq '';
|
||||||
|
$session->scratch->delete("userId");
|
||||||
|
my $message = $session->form->process('message');
|
||||||
|
$db->write("delete from InOutBoard_status where userId=? and assetId=?", [ $sessionUserId, $self->getId ]);
|
||||||
$db->write(
|
$db->write(
|
||||||
"insert into InOutBoard_status (assetId,userId,status,dateStamp,message) values (?,?,?,?,?)",
|
"insert into InOutBoard_status (assetId,userId,status,dateStamp,message) values (?,?,?,?,?)",
|
||||||
[$self->getId, $sessionUserId, $status, $session->datetime->time(), $message ],
|
[$self->getId, $sessionUserId, $status, $session->datetime->time(), $message ],
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ use Test::MockObject::Extends;
|
||||||
|
|
||||||
use WebGUI::Test;
|
use WebGUI::Test;
|
||||||
use WebGUI::Session;
|
use WebGUI::Session;
|
||||||
use Test::More tests => 6; # increment this value for each test you create
|
use Test::More tests => 8; # increment this value for each test you create
|
||||||
use Test::Deep;
|
use Test::Deep;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
|
|
@ -27,6 +27,7 @@ my $templateMock = Test::MockObject->new({});
|
||||||
$templateMock->set_isa('WebGUI::Asset::Template');
|
$templateMock->set_isa('WebGUI::Asset::Template');
|
||||||
$templateMock->set_always('getId', $templateId);
|
$templateMock->set_always('getId', $templateId);
|
||||||
my $templateVars;
|
my $templateVars;
|
||||||
|
$templateMock->mock('prepare', sub { } );
|
||||||
$templateMock->mock('process', sub { $templateVars = $_[1]; } );
|
$templateMock->mock('process', sub { $templateVars = $_[1]; } );
|
||||||
$templateMock->set_true('prepare');
|
$templateMock->set_true('prepare');
|
||||||
|
|
||||||
|
|
@ -102,6 +103,29 @@ cmp_deeply(
|
||||||
},
|
},
|
||||||
'... set statusLog for a user'
|
'... set statusLog for a user'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$session->scratch->set('userId', $users[1]->userId);
|
||||||
|
$session->request->setup_body({
|
||||||
|
delegate => $users[1]->userId,
|
||||||
|
status => undef,
|
||||||
|
message => 'work time',
|
||||||
|
});
|
||||||
|
$board->www_setStatus;
|
||||||
|
$status = $session->db->quickHashRef('select * from InOutBoard_status where assetId=? and userId=?',[$board->getId, $users[1]->userId]);
|
||||||
|
cmp_deeply(
|
||||||
|
$status,
|
||||||
|
{ },
|
||||||
|
"... no status table entry made when the users's status is blank"
|
||||||
|
);
|
||||||
|
my $statusLog;
|
||||||
|
$statusLog = $session->db->quickHashRef('select * from InOutBoard_statusLog where assetId=? and userId=?',[$board->getId, $users[1]->userId]);
|
||||||
|
cmp_deeply(
|
||||||
|
$statusLog,
|
||||||
|
{ },
|
||||||
|
'... no statusLog set when status is blank'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
$session->request->setup_body({ });
|
$session->request->setup_body({ });
|
||||||
$session->scratch->delete('userId');
|
$session->scratch->delete('userId');
|
||||||
|
|
||||||
|
|
@ -123,7 +147,8 @@ cmp_bag(
|
||||||
username => 'red',
|
username => 'red',
|
||||||
},
|
},
|
||||||
ignore(), ignore(), ignore(), ignore(),
|
ignore(), ignore(), ignore(), ignore(),
|
||||||
]
|
],
|
||||||
|
'view: returns one entry for each user, entry is correct for user with status'
|
||||||
);
|
);
|
||||||
|
|
||||||
WebGUI::Test->unmockAssetId($templateId);
|
WebGUI::Test->unmockAssetId($templateId);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue