
simonw at digitalcraftsmen
May 8, 2009, 10:36 AM
Post #6 of 7
(1259 views)
Permalink
|
On 8/5/09 18:13, David E. Wheeler wrote: > On May 8, 2009, at 10:06 AM, Simon Wilcox wrote: > >> # Figure out the Checkout status. >> my ($user); >> my $desk = $obj->get_current_desk; >> my $desk_id = $desk->get_id; # <- this is 191 >> my $workflow = $obj->get_workflow_object; >> >> my $can_publish = $desk->can_publish && chk_authz($obj, PUBLISH, 1); >> my $can_edit = $can_publish || chk_authz($obj, EDIT, 1); > > Yeah, so that object has no associated desk. See if you can get its ID > ($obj->get_id) and then check in the database to see what the deal is. > See my post yesterday on how to resolve deskless object conflicts (or > the [wiki](http://wiki.github.com/bricoleurs/bricolage/useful-sql). Yay, go David ! Following the instructions appears to have sorted it out. bric=# SELECT workflow__id, desk__id bric-# FROM story bric-# WHERE id = 3251; workflow__id | desk__id --------------+---------- 0 | 0 (1 row) bric=# SELECT sm.id, s.primary_uri bric-# FROM story_member sm bric-# JOIN story s ON s.id = sm.object_id bric-# JOIN member m ON sm.member__id = m.id bric-# WHERE s.desk__id = 0 bric-# AND m.grp__id IN ( SELECT asset_grp FROM desk ); id | primary_uri -------+---------------------------- 12573 | /microsite/15/angdem2.html (1 row) bric=# DELETE FROM member WHERE id IN ( bric(# SELECT m.id bric(# FROM story_member sm bric(# JOIN story s ON s.id = sm.object_id bric(# JOIN member m ON sm.member__id = m.id bric(# WHERE s.desk__id = 0 bric(# AND m.grp__id IN ( SELECT asset_grp FROM desk ) bric(# ); DELETE 1 bric=# I guess what I don't understand is how the story found its way onto the list of stories to show on the desk, when it has no desk associated with it ? Many thanks for the prompt assistance. S.
|