Closed (won't fix)
Project:
Panels
Version:
6.x-2.x-dev
Component:
Panel pages
Priority:
Critical
Category:
Bug report
Assigned:
Reporter:
Created:
20 Sep 2008 at 20:16 UTC
Updated:
14 Jul 2012 at 23:18 UTC
Also checked the dev version (2008-Sep-20) and get the same result.
* I am logged in as Admin so "access denied" shouldn't happen anywhere.
* Get this result when trying to go to a panels url using an argument, specifically, http://www.dp6.local/agent/panel1/11695
* Works when using the same (simple) panel without an argument.
* Makes no difference which position the argument is in, i.e. tried .../%/panel1 and .../panel1/%
* The 11695 shown is a nid which exists, trying a nid which does not exist gives same result
* Makes no difference if "node types" restriction is set or not.
So far I've been unable to use an argument in any way at all :(
Comments
Comment #1
andy inman commentedTook a look at tracking down the cause by going through the source - panels_page.module - and defeating any bits of code that are checking access (e.g. lines 261-263 in the alpha release). No solution found. So where is this message coming from? Something is presumably calling drupal_access_denied() and it seems not in panels_page.module. Any pointers please? - I'll be happy to do the research and provide a fix if I can.
Comment #2
apthorpe commentedI have the same issue; it doesn't matter if I change the panel access from anonymous to authorized or all.
Comment #3
Renee S commentedYep - same here. Except I can only access it with admin, regardless of what is set.
Not only that, but the panels don't seem to be saving properly. If I tick various access levels on the panel setting and save, they don't come back saved, they come back empty. (Maybe this is a different bug, though, because it's happening with panel content too.)
Comment #4
andy inman commentedYes, I also noticed the problem that "access levels" for the panel don't get saved - but with none ticked it supposed to accessible to everybody, and anyway I'm testing as Admin, so I don't think that's the cause of this problem, but seems to be a separate bug.
Comment #5
andy inman commentedA clue maybe? .. I get this in my log after running update.php ...
"The specialized Panels menu router rebuild failed. Some paths may not work correctly"
Comment #6
sdboyer commentedSpecialized router rebuild failure IS a very important clue, although I'm having difficulty figuring out how it could be related to...
OH WAIT! hahaha, i got it.
I had never anticipated that people would want to place arguments requiring the use of a loader somewhere OTHER than the place that they natively appear in the menu system. So, our menu system relies on the assumption that if you're doing node displays, you're doing them at node/%, because it merges in existing data that we know will already be stored at node/% and uses that to fill out the remainder of panels' own only-partially-defined menu item.
The access denied is coming up b/c there need to be explicit access checks on that path, but there's no access check defined on wildcard paths because, again, I'd been assuming that you'd only be overriding existing paths. Really no reason for that assumption.
What is weird, though, is that the specialized router rebuild is failing. I'll also roll in some changes which fix the behavior, and but will also expand that watchdog message, because right now it doesn't give any other info than a plain string. I'll need to know WHICH path is causing a failure to have a sense of how to fix this...
Comment #7
sdboyer commentedComment #8
fatfish commentedSubscribed
Comment #9
andy inman commentedAny news? I'm willing to do some testing if that would help.
Comment #10
andy inman commentedIf I understand you correctly, your are saying this should work: (site)/node/11693/panel -- but, no, I get the same "access denied" result. In this case, 11693 is an existing node, such that (site)/node/11693 will display it, but using any other value (a valid nid or not) produces the same result. The "path" setting on the panel's "settings" tab is node/%/panel - the same as the example you give there.
To confirm - simply removing the argument from the url allows it to work, i.e. setting the url to (site)/node/panel - the panel is displayed - but of course this is no use.
More ideas please?
Comment #11
marz71 commentedI have exactly the same problem. Please help anyone.
Comment #12
sdboyer commented@netgenius - you are getting me right, but the sample code you've put there is producing bad results for probably a different, although somewhat related reason. Basically, when I wrote the original menu handling code, I wrote it with the assumption that people were going to be using wildcard-based paths purely and exclusively as overrides - that means that I wasn't really taking into account the possibility of something after the argument path, either. So basically, it's not inheriting some of the data it needs to properly - and because of the changes with access callbacks in 6.2, it's defaulting to restrictive.
I'm working on it.
Comment #13
andy inman commentedThanks, but I'm not sure I understand :( Can you give me an example of a configuration that should work, please?
Comment #14
sdboyer commentedI'm sorry, I really can't at this point - I'm really pressed for time at the moment, so it's best I spend time on fixing the problem rather than coming up with a good explanation. If you want to track the changes I make in CVS, keep an eye on panels_page/panels_page.menu.inc.
Comment #15
Aldus commentedany news here?
I have this problem and it's really bad since i need to use arguments :(
Comment #16
sdboyer commented@gattoplano - although support for non-override argument paths is clearly something that's important to provide, this issue does NOT mean that arguments aren't working at all. The most common cases - which are overrides - are working just fine.
...and now, hopefully, all the other ones will be too. I've just finished up a hefty refactoring that should take care of the argument woes. It's likely not completely solved - the thing is getting _very_ much more complex - but it should be quite a bit more challenging now to make it go boom. I'm marking this fixed; please reopen if you still see the problem in alpha2.
Comment #17
himtuna commentedi am still facing the same problem!
http://drupal.org/node/320227
pls mark it as duplicate.
Comment #18
sdboyer commented@himtuna - no you're not, that's a different problem. Also, anyone can mark issues as duplicates - and the devs very much appreciate when other people have the courtesy to do so and save us some time :)
Comment #19
sdboyer commentedChanging the title so that people can locate this more easily, as the underlying issue really isn't obvious from the title :)
Comment #20
Anonymous (not verified) commentedAutomatically closed -- issue fixed for two weeks with no activity.
Comment #21
notabenem commentedThe issue persists still in Alpha2 and also in the latest dev package (as of today), but only for "anonymous" users.
Comment #22
acherp commentedsubscribed
Comment #23
shigaepouyen commentedsubscribed too
Have some news since your last message ?
I've same error for same case.
thx
JC.
Comment #24
asd123asd5 commentedhttp://drupal.org/node/376312 possible duplicate?
Comment #25
notabenem commentedOn my system, this is solved for 6.x-2.x, but is still reproducible for 6.x-3.x alpha2. I suggest changing the version.
Comment #26
merlinofchaos commentedThere is absolutely no way that this report applies to 6.x-3.x. It doesn't even have panel pages module.
Comment #27
notabenem commentedmerlinofchaos,
You're right, there is nothing like panel pages in in 6.x-3.x. Nevertheless, whenever I try to open a panel page that overrides node/% I get the mentioned error in 6.x-3.x (panels3 + views2) even if I am logged in (previously, this only applied for anonymous users in 6.x-2.x). Anyway, I leave the decision up to you. If you approve, I might open a bug report for 3.x. Thanks for the development and good work.
Comment #28
merlinofchaos commentedIs this like when you try to use your non-existing third arm and it doesn't work?
Comment #29
artscoop commentedHi,
If someone experiences Access denied errors on %term (and maybe %user) panel pages,
ensure you have no View (Administer->Site building->Views) sharing the same path.
Comment #30
summit commentedHi, Thanks for this great remark!
I experienced the same situation.
But how can I now make a taxonomy term override panel using the taxonomy/term/% path view in a pane?
The panel should have the information from the taxonomy/term view and I do not see how this is possible by changing the path from the view...but the access denied is gone now!
greetings,
Martijn
Comment #31
zila commentedsubscribe
Comment #32
artscoop commentedHi,
I don't understand well what you were talking about.
I assume you've managed to sort out things well, but for others...
The access denied errors happen when you create a Panels Page, with an argument in its path, and this exact path is already occupied by a Views Page.
For example, you have made a view page located at taxonomy/term/%.
And later, you want to add some spice, so you want to make a panels page of it.
You then create your panels page, located at taxonomy/term/%.
You add contexts or/and relationships to your page.
And your panels page become unreachable.
You have only two choices :
1. Change your views path. For example, you can change it to taxonomy/term/%/normal
2. Make a block view with the same settings as your page view, then remove your page view, and use the block view in your Panels page.
Comment #33
merlinofchaos commentedPanels 2 is no longer available and is unsupported. Marking all Panels 2 issues won't fix.