Hi Ferran,
In data venerdì 13 dicembre 2013 09:13:31, Ferran Jorba ha scritto:
> >> Mmmh. what do you have if you type:
> >>
> >> $ echo "select a.*, b.* from accROLE_accACTION_accARGUMENT as a join
> >> accACTION on id_accACTION=accACTION.id join accARGUMENT as b on
> >> id_accARGUMENT=b.id where name='submit'" | /opt/invenio/bin/dbexec
> >>
> >> For example on vanilla Invenio you would obtain:
> >>
> >> id_accROLE id_accACTION id_accARGUMENT argumentlistid
> >> id keyword value 19 33 8 1 8 categ
> >> * 19 33 11 1 11 doctype DEMOJRN
> >> 19 33 12 1 12 act SBI
> >> 19 33 8 2 8 categ *
> >> 19 33 11 2 11 doctype DEMOJRN
> >> 19 33 13 2 13 act MBI
> >> 18 33 19 1 19 categ ARTICLE
> >> 18 33 20 1 20 doctype DEMOART
> >> 18 33 12 1 12 act SBI
> >>
> >> Which shows that to every id_accROLE+argumentlistid there is a
> >> triplet.
> >
> > I have this result:
> >
> > id_accROLE id_accACTION id_accARGUMENT argumentlistid id
> > keyword value 4 12 2 1 2 doctype ARTCIE
> > 4 12 5 1 5 act SBI
> > 5 12 4 1 4 doctype EXAMEN
> > 5 12 5 1 5 act SBI
> > 6 12 6 1 6 doctype DOCEMP
> > 6 12 5 1 5 act SBI
> > 7 12 7 1 7 doctype EXPBIB
> > 7 12 5 1 5 act SBI
> > 8 12 5 1 5 act SBI
> > 8 12 9 1 9 doctype FOTO
> > 9 12 10 1 10 doctype LLIBRES
> > 9 12 5 1 5 act SBI
> > 10 12 13 1 13 doctype AUDVID
> > 10 12 5 1 5 act SBI
> > 1 12 14 -1 14 categ *
> > 4 12 14 1 14 categ *
> > 5 12 14 1 14 categ *
> > 6 12 14 1 14 categ *
> > 7 12 14 1 14 categ *
> > 8 12 14 1 14 categ *
> > 9 12 14 1 14 categ *
> > 10 12 14 1 14 categ *
> > 11 12 14 1 14 categ *
> > 11 12 16 1 16 doctype TFG
> > 11 12 5 1 5 act SBI
> >
> > Does it help? Sorry I cannot understand the meaning of the results.
>
> Any updates? Can I do anything else?
>
> Thanks,
>
> Ferran, yes and yes! :-)
sorry but these are really busy days... and the above table required lots of
concentration to analyze :-) additionally, unfortunately, it looks good! So I
really wonder what is the error.
Can you maybe wrap the body of acc_find_possible_actions into a nice:
[...]
try:
...
except:
from invenio.errorlib import register_exception
register_exception(alert_admin=True)
raise
In this way we're going to have the whole stack trace with all the offending
values.
As a last resort you might need to drop the authorizations related to "submit"
and recreate them...
Cheers!
Sam
--
Samuele Kaplun
Invenio Developer ** <http://invenio-software.org/>
INSPIRE Service Manager ** <http://inspirehep.net/>
Interim SCOAP3 Repository Manager ** <http://scoap3repo.cern.ch/>