Problem/Motivation
In order to save code and other reasons the listing of all people will be a view, if views is installed.
Proposed resolution
The idea is to provide a very basic listing (without any bulk operations available) if views is not available. This fallback
will be overridden by a proper view with filtering, bulk operations etc.
Related Issues
#1946466: Convert all confirm_form() in user.module and user.pages.inc to the new form interface and convert route
#1938884: Replace the fallback user listing with a list controller
Also, because of #1851082: Add a base bulk form handler class , this temporarily makes the actions module required.
Comment | File | Size | Author |
---|---|---|---|
#156 | people-1851086-156.patch | 59.51 KB | tim.plunkett |
#156 | interdiff.txt | 21.35 KB | tim.plunkett |
#153 | admin-people-1851086-153.patch | 44.11 KB | tim.plunkett |
#153 | interdiff.txt | 1.59 KB | tim.plunkett |
#151 | people-1851086-151.patch | 44.29 KB | tim.plunkett |
Comments
Comment #2
damiankloip CreditAttribution: damiankloip commentedThis is a duplicate/cross-over of #1823608: Admin views in core but I think it makes sense to break this down anyway. This issue is a good place to start too, as I think it may be the easiest one to get in.
Comment #3
damiankloip CreditAttribution: damiankloip commentedRerolled after recent changes to user.admin.inc and changed a couple of things (Hopefully they are right! :p)
Comment #5
xjmThis is part of #1864980: [meta] Figure out how to integrate Views into core.
Comment #6
tim.plunkettThis includes #1894972: Provide a bulk form for user operations and will be blocked by #1896268: Add Views integration for translation_entity, but I made progress.
Comment #8
tim.plunkettAlso includes patch from #1893800-18: Something is very, very wrong with update.php / upgrade tests... demons suspected because that breaks the upgrade path.
Comment #10
tim.plunkettOkay, added translation link, will abstract that out for the dedicated issue.
Comment #11
tim.plunkettWhoops, that was missing some stuff.
Comment #12
dawehnerJust some small points.
Seems to be out of scope here, but I like all that changes.
I always tried to figure out what module_invoke gives you instead of directly calling the function.
Is there a reason why we don't iterate over all entities, if yes a comment might be helpful.
Instead we could also override the click_sort() method on the field handler.
What about return user_access('administer users') || user_access('access user profiles');
We could use the module handler here.
Is that a blocker to get it into core?
No trailing dot.
Yeah we could define that on the bulkFormBase
Comment #13
tim.plunkettHalf of that feedback is for #1896268: Add Views integration for translation_entity, which has changed since anyway.
Comment #14
tim.plunkettRerolled, still includes the user bulk form and the entity translation, both of which are RTBC.
Dries also stated that these conversions are major tasks.
Comment #16
tim.plunkettThis issue is now absorbing #1894972: Provide a bulk form for user operations.
Test coverage needed: Trying to perform actions on the anonymous user. Will do tonight/tomorrow.
Comment #17
tim.plunkettOkay, here's the fix and test coverage webchick asked for in the other issue.
I also minimized the changes made to ApiDataTest (left out of the interdiff, it's 90% a revert of what the patch does).
Comment #18
dawehnerShouldn't we also check for available operations?
What about using the storage controller instead of entity_load?
Comment #19
damiankloip CreditAttribution: damiankloip commentedWhen do we not have valid accounts like that? I guess safe is good. It seems we could almost remove that validation, and just go with this? But not a big point.
Otherwise, looks good!
Comment #20
tim.plunkettI don't know if it's worth to add explicit checks for the individual user operations, that will vary if more modules eventually implement this
I don't think it's worth skipping entity_load(), doing the reset() is rather tedious...
That check for no valid accounts is to handle if someone builds a view that shows the Anonymous user, and tries to perform an operation on them (which @webchick tried in the other issue).
Comment #21
damiankloip CreditAttribution: damiankloip commentedAhh, makes sense :) So if nothing is selected, We could just show that same message, instead of the validation?
If not, happy with this patch.
Comment #22
damiankloip CreditAttribution: damiankloip commentedTalked with Tim about this. Let's just go with this as is.
Comment #23
webchickReally excited to see this hit RTBC. However, looks like there's still some work..
On the second-to-last page of installer when I'm entering site info, email, etc., I'm getting this:
and one more, on the last page:
I also get it on the actual admin/people page: https://dl.dropbox.com/u/10160/Screen%20Shot%202013-01-29%20at%207.47.55...
When attempting to add a user to the admin role I get:
So, sadly, this still needs work. :(
Comment #24
tim.plunkettThe first set of those notices are because this is the first time a view is enabled during the installer. The second notice is known.
They're both a symptom of #1822048: Introduce a generic fallback plugin mechanism.
The third part should have had test coverage :(
Comment #25
SchwebDesign CreditAttribution: SchwebDesign commentedThanks for the work on this- it's exciting! Did you know about http://drupal.org/project/admin_views ?
Just making sure you're aware its out there, as it seems to work pretty well, although it's certainly not in core as you're looking to do here.
Comment #26
dawehnerThanks for linking it, but yeah we are certainly aware of it :)
Comment #27
tim.plunkettIndeed, there was no test coverage anywhere for adding/removing roles.
Comment #29
tim.plunkettRerolled for #1826602: Allow all configuration entities to be enabled/disabled.
Comment #30
dawehnerThis also feels really near.
All the plugin_id's are missing.
I'm wondering whether we should use the entity plugin manager to get the storage controller directly, but yeah not sure what to do for now.
Another round of missing plugin_id's
Comment #31
tim.plunkettYeah, I'm not swapping out entity_load just yet, I think that's overkill right now.
Added the missing plugin_id's. We should really find a way to fail testing if they're missing...
Comment #32
dawehnerWell I don't think they should be checked at runtime, as it's just some piece of information to support translations.
We could though write a test which loads all test views and check it.
Comment #33
tim.plunkettOpened #1915686: [PP-1] Ensure that all default views have 'plugin_id' for their handlers as a follow-up.
This will conflict with #1806334: Replace the node listing at /node with a view, but only because the have identical fixes to ApiDataTest::testViewsData(), but that is trivial to reroll.
Comment #34
tim.plunkettRerolled.
Comment #36
tim.plunkettOh bother.
Comment #37
ParisLiakos CreditAttribution: ParisLiakos commentedSo the missing translation handler is the only thing that keeps us from progressing here?
i just tested the patch and https://dl.dropbox.com/u/10160/Screen%20Shot%202013-01-29%20at%207.47.55... is still there
Comment #38
tim.plunkettYes. They're still there.
Currently, instead of doing something correctly in its own module, there are translation_entity.module hacks located directly in user_admin_account().
In no way should those be there, and its 100% what is blocking us right now.
I have no idea how to unhack this from the Views side of things.
I vote for 2.
Comment #39
tim.plunkettThis is what I would do.
Comment #40
webchickHm. Could we maybe watchdog() those at least? That seems like useful debugging information.
Is there an issue (probably major task?) for un-hacking user_admin_account()?
Comment #41
damiankloip CreditAttribution: damiankloip commentedWell I've been talking for ages about handling missing handlers slightly better, which I have a few ideas around. Maybe I'll fire that issue up again....
Comment #42
xjmYou would think, until your log is full of 5000000 of these messages.
Comment #43
damiankloip CreditAttribution: damiankloip commentedYeah, it could completely overrun your watchdog table :)
Comment #44
sunThanks for working on this!
I performed an in-depth review and also manual user testing with the current patch. Here's what I found:
Instead of enabling Views, we should simply use the user edit form instead of the user listing to block the user in this OpenID test.
The "Reset" button of the exposed filter form appears unconditionally, even when the view is not filtered in any way.
When filtering in a way that produces no results, the bulk update options still appear.
They should not appear, since it does not make sense to provide update options for nothing.
These two columns seem to output date information in the same format, but why is one using a "raw" format (and WTF means "raw"? ;)) and not the other?
1) "node" ?
2) I'm missing a "Cancel account" link.
I'm missing an exposed filter for user name and e-mail.
@damiankloip: Is this not the default view from admin_views?
The "Roles" filter only allows to select a single role, so the label should not be plural.
When installing from scratch and going to the People listing, the root user / uid 1 appears.
When filtering by an arbitrary permission, the root user disappears, even though the user has that permission.
1) This text does not appear when the view is empty.
2) The cause for this is that the specified text format does not exist. In that case, check_markup() returns nothing.
3) We must not use a filter-processed text area in default configuration, unless the module also ships with the specified text format.
For admin_views, a new global plugin was added to Views 7.x-3.x, which allows to output text via
filter_xss_admin()
.This is what we need here and in all other default views. Was that not contained in the code base that was ported to D8 yet?
Any change we could rename the last path fragment to /list instead of /people while being there?
The List tab appears last. ;)
The default tab should have a weight of -10.
Since #1864066: Simplify hook_menu_local_tasks() and MENU_DEFAULT_LOCAL_TASK usage, you can simply omit the weight definition for default local tasks and they will automatically get a weight of -10.
Default configuration provided by modules should be properly namespaced.
This should at least be 'user_people', but even better would be 'user_admin_people'.
When the view is filtered in a way that produces no results, then this throws a PHP notice and a PHP warning:
These PHP warnings/notices should not happen, regardless of whether we'll remove the bulk form options when there are no results or not.
Hm.
The bulk form options should really contain the entity IDs as option names like previously.
This will have security consequences otherwise.
I do not really feel comfortable with having a mapping from arbitrary checkbox option integers to entity IDs in a form that performs critical operations. An arbitrary result row ID 15 can mean one thing in this particular second, but ID 15 can mean a completely different thing in the very next second. This means that you potentially perform bulk operations on unintended entities. The mapping should be explicit.
Comment #45
sunFWIW, the Views 7.x-3.x issue for
filter_xss_admin()
text area support was #1676608: Add an area handler for unfiltered textComment #46
xjmThanks @sun!
Comment #47
tim.plunkettThis is up for grabs.
Comment #48
damiankloip CreditAttribution: damiankloip commented@sun: No, This is a direct port of the current user listing admin page I think. I did create ports of admin_views views for D8, but no one wanted them (sad face).
Also, yes, the unfiltered text plugin is still in D8 (Drupal\views\Plugin\views\area\TextCustom), I have been telling people to use this for any default views, See issues like #1938414: frontpage (/node) view should use unfiltered text for empty area handler.
I will take a look at the rest of this feedback now.
Comment #49
damiankloip CreditAttribution: damiankloip commentedI have made it so that the bulk form options and buttons only appear if we have views results.
I will make a follow up to fix the empty area text, as #1934420: Allow area handlers to return a render array broke it, I think. It is not run through render(). I've also changed the handler to use the unfiltered text one, as mentioned in my last comment.
raw time ago is just the 'ago' time with the word 'ago' :) Yep, naming could be up for debate.
User 1 stays in the listing when I try to filter by permissions.
I have also not addressed the last point yet. I'm not sure exactly what you mean.
Comment #50
damiankloip CreditAttribution: damiankloip commentedWe will also need to make an issue for the reset button appearing when there are no filters.
Comment #52
damiankloip CreditAttribution: damiankloip commentedI started #1960094: Change notice: Hide reset button when no exposed input has been added to do this.
Comment #53
damiankloip CreditAttribution: damiankloip commentedWe could also do with #1845836: Make the actions exposed in the views bulk operation handler configurable being committed for this too, so then the BulkFormBase can incorporate those changes too.
Changed the id of the view. @sun, I'm still not sure exactly what you mean in your last point, sorry!
Comment #55
damiankloip CreditAttribution: damiankloip commentedOops, forgot the file rename too.
Comment #57
damiankloip CreditAttribution: damiankloip commentedSorry, the issue changing human_name to label in views got committed, I forgot that.
Comment #58
xjmI bumped #1845836: Make the actions exposed in the views bulk operation handler configurable to major, since it impacts this issue.
Comment #59
dawehnerlabel :(
Even if it's a callback function, shouldn't we document it? We could also type hint the $accounts.
Not sure whether you saw my suggestion in IRC, but I thought of a flag in the views config, which tells you that this handler is "optional".
Comment #60
dawehnerJust to be clear, both damian and I think that we should NOT limit the list of actions by default.
Comment #61
damiankloip CreditAttribution: damiankloip commentedYep, agreed, out of the box we shouldn't limit the available operation options. I think the optional flag is a good idea, we should talk about it some more in a follow up. It's more of a general problem to solve.
Comment #62
dawehnerI still think that removing the help message is not something we should do, even temporary.
Comment #63
damiankloip CreditAttribution: damiankloip commentedComment #64
Bojhan CreditAttribution: Bojhan commentedUgh, the contextual link really sucks. I always hated that in admin generated screens - 99% of the time it will be irrelevant, we should figure out if we can make that nicer. Perhaps we can have a way to hide them, a setting?
The filters are a bit weird, is there any reason they are styled the way they are? There are a couple of issues, 1) The permissions filter doesn't have categories anymore, 2) there are two apply buttons, currently in core we just have the one 3) the alignment of these items is strange - is there a meta issue for this?
Comment #65
damiankloip CreditAttribution: damiankloip commentedBojhan, is what you are saying about contextual links related to #1877376: Change notice: Improve Views UI text for the contextual links display setting? The option was originally added in views 7.x-3.x for exactly this reason (to help out admin views).
Comment #66
damiankloip CreditAttribution: damiankloip commentedI caught up with Bojhan in IRC; we were in agreement that the contextual links should be hidden.
@Bojhan, Having two buttons comes from the work we did for the bulk form, that this is based on. So I think for the moment this should do what the bulk form does, for consistency? Then if we decide we want to change this, we do this in the base class, so all bulk forms a the same. I think it was @sun originally that said it would be a good idea to have an apply button both top and bottom. I like this too.
I have just opened #1966424: Change notice: Allow Views handlers to be optional as a potential way to ship with optional handlers in default views.
Rerolled to include the admin links change.
Comment #67
damiankloip CreditAttribution: damiankloip commentedHere is a patch with the solution from above referenced issue combined, if people want to test and not have the debug handler message.
Comment #68
dawehnerIt seems to be the only direct indicator for users to know, that this is actually a view and they can improve it. This contextual link, will for sure, not be shown for normal users, as they will not have the right to change the view, but doesn't it actually help to have a trigger for the users?
Comment #69
Bojhan CreditAttribution: Bojhan commented@dawehner I dont think thats a very strong argument, I am sure the kind of user that wants to alter the way a listing like admin/people works will also scroll through the views listing once in his Drupal 8 lifetime. Given that we wil likely advertise that all displays in the admin have also been viewized when we release D8, I don't think this will cause discoverability problems.
Comment #70
dawehnerWell, it seems to be that many places will not be converted: menues, taxonomy etc. Well you are the UX guy, so you are probably right.
Comment #71
webchickIs there a screenshot of what happens w/ contextual links and this view? I can't figure it out from the commentary. It sounds kind of like a bug, but I'm not sure?
Comment #72
dawehnerI agree with bojhan now. Changing admin/people is not often done.
Comment #73
damiankloip CreditAttribution: damiankloip commented@webchick, its just do we want contextual links for this view or do we not. Not is the winner. This is not a bug.
Comment #74
webchickYeah, I tend to agree that offering contextual links on admin views is overkill. If you're already on the admin backend, you can find your way to the Views UI if you need to do tweaks.
Comment #75
damiankloip CreditAttribution: damiankloip commentedNice :)
Comment #76
xjmScreenshots for the contextual link thing would still be really useful, so that the discussion isn't opaque to people who didn't participate in an IRC discussion. :)
Comment #77
xjm#66: 1851086-66.patch queued for re-testing.
Comment #78
xjmSo, LOL. The last dozen comments are about this:
I went to heroic lengths to get this screenshot. May future generations not suffer through the same.
Comment #80
andypostI've tried to convert user_cancel*confirm forms in #1946466: Convert all confirm_form() in user.module and user.pages.inc to the new form interface and convert route and found that better to properly fix their ugly code to limit the scope of this issue to views.
also this issue postponed clean-up in #1938884: Replace the fallback user listing with a list controller
so both added as dependent to summary
Comment #81
tim.plunkett#1966424: Change notice: Allow Views handlers to be optional went in, this now has no open dependencies.
The contextual link is hidden.
There are no more debug errors for the translation.
YAY.
Comment #82
tim.plunkettReplaced Implements/Overrides with {@inheritdoc}
Comment #83
steveoliver CreditAttribution: steveoliver commentedTested on a fresh install, works as expected. I don't think we need the details elements arounds filters and ops as we've had before, but I think it'd be nice to keep some separation there between the filters and operations. Also, aligned filters looked much nicer. Will filters styling and filters/VBO separation be follow-up tasks for core themes? If so, +1 for RTBC.
Comment #84
sunThanks for the clarifications and fixes.
We should get the majority of improvements from admin_views into this default view though. Unlike the stone-age core listing that we're replacing, the users view in admin_views was continuously improved through actual user feedback over multiple years.
Comment #85
xjmYay! :) Unfortunately there's a few issues. :(
Does this fix the array hooray bug? Edit: No, I guess that's #1960014: Empty area handlers need to be rendered for tables.
Mmmmmmh this looks like an accessibility violation to me.
Did we pick -100 at random? :)
<3 the new annotation.
Shouldn't this be a yellow warning dsm() rather than a green info one? How do we get to this condition through the validation?
Should we provide a more specific message than this, like "X accounts were blocked"?
Are we still retaining the legacy form as planned? If so, does this mean it no longer has test coverage?
Edit: Or we aren't retaining it anymore?
Edit: I just tested the page manually and the admin people page has no listing of users in Minimal, unlike what we discussed in December. (See attached screenshots below this list.) That's a pretty big deal, and not what Dries signed off on, so we need to discuss this further.
What's element 0?
Is this comment still true?
Hm, this seems questionable. We're hardcoding integers here for the UIDs? Or the view just outputs serial labels for the bulk action field and then interprets which is which on submission?
Does this test really need the admin view? Wouldn't it be better to decouple it from Views?
I believe we can use
\Drupal
here; TestBase::prepareEnvironment() sets\Drupal
to use the test container.This sounds problematic; has it been resolved yet?
If we're adding new page callbacks, should we be using D8 routing instead? Or was that omitted here to restrict the scope?
I'm pretty sure the menu item title here is a copy and paste mistake?
I tested the patch manually with Views disabled, and here's what happens.
Tagging for accessibility review, since I'm not sure "Update this item" is going to be a sufficient label for the checkbox, and we should probably do full accessibility testing of the form anyway. Thanks guys!
Comment #86
CBRegarding xjm's comment above, I'd like to add to her awesome review by adding;
2. Yes it is an accessibility violation. I'd like to see it be much more specific. I appreciate that the patch didn't actually change this code, but surely there is a way for us to update that to be better?
5 & 6. Both of these should be more specific. What updates? How many? Why not?
Comment #87
xjmI went over this patch as well as #1864980: [meta] Figure out how to integrate Views into core, #1946526: Clean up Minimal profile modules, #1823608: Admin views in core, and the discussion we had in London with @Dries, @webchick, and @effulgentsia. Dries' decision was:
There are two disadvantages to this approach:
Comment #88
tim.plunkettRestoring the full functionality of admin/people is a bit too much, IMO. The improvements to the bulk operations is the only progress we've made toward #1839516: Introduce entity operation providers, and we would have to effectively start over with this issue.
So here is a compromise:
We reintroduce the non-Views listing of users, complete with pager and dropbuttons to edit and delete
But, we remove the bulk operations. It is just a listing. Anyone who wants bulk operations can turn this into tableselect and write it themselves, or install Views.
The added benefit is that we don't reintroduce the crazy code that blocks the two routing issues linked in the OP.
Here is a screenshot of admin/people without the view:
Comment #89
klonosSo, we are practically wontfixing this issue here(?). That's not what I got from #87.
Comment #90
tim.plunkettI meant for the nonViews listing, it would have no bulk operations. As you can see by the interdiff, nothing has been changed about the view.
Comment #91
klonosYeah, sorry. I though you were talking about the direction of this whole issue - not what needs to happen for the non-views fallback. My bad.
Comment #92
andypostI think better to split the issue on parts:
1) Simplify user-list
2) decouple user_cancel_multiple form form single user and operations
3) merge with "operation api" if any
Comment #93
andypostTalked with Tim at IRC, let's make in and unfreez other issues that stack on that
Comment #94
webchickThe goal was generally not to have to touch these old listing pages at all, so they'd just remain a fallback for people without Views and we could decide what to do with them in D9 or whatever. I don't really understand why we monkeyed with hook_user_operations() in this patch, and after talking to Tim on IRC I *still* don't really understand that, other than the answer "because it's already done." ;) Having never been a fan of hook_user/node_operations() in the first place though (to put it lightly), I don't really shed any tears about them becoming more sense-making (in the future though, probably best to discuss these things in their own issues).
Anyway, I think the compromise of keeping the old listing pages around without bulk operations is fairly ok, and a much better situation than the screenshots in #85. But we need to restore the test coverage to the fallback page because, especially if Minimal starts enabling Views module by default, it's highly unlikely we're going to catch regressions in our day-to-day work.
Haven't reviewed the patch in depth to comment on anything else, but needs work for test restoration.
Comment #95
webchickDoing what I said I was going to do. :P
Comment #96
xjmAlso, a lot of my feedback from #85 still hasn't been addressed, as far as I can tell.
Comment #97
xjmAlso this.
Comment #98
tim.plunkettI think in IRC I told someone I would work on this but I forgot to actually assign it.
But I just can't find the mental energy to keep this issue going. So I'm "unassigning" myself. Sorry @dawehner and @damiankloip.
Comment #99
dawehnerMy questions with the feedback in #85 got addressed so I will try to work on that.
Comment #100
dawehnerComment #2, #3 adress code which is already in core, so they work fine and maybe should get a general follow up.
#4 That's great, indeed!
#5 I had a look at the test and yes, it does test for this message itself, but this is just based upon a bug in
the sql query plugin of views. It uses !empty() to determinate whether to load the entity of the row. In the test case we try to block the anonymous user, so the loading fails. I think it's fine to remove the message and
rely totally on the validation message.
#6 Adapted that.
#7 was adressed already
#8,9,10:
It's the first selected row. I guess you would like it better to have the entity ID as selection available.
Let's please do that in another issue as well. This has always been part of the core bulk operations.
#11
Removed that, as the test works with the fallback listing as well.
#12
A note for other people: We discussed that and came to the conclusion to use $this->container if it's available.
#13
No, but that's why it's still a @todo. As far as I understand it, that's not a problem of UserBulkForm, but of BulkFormBase. MHH
Regarding #14: Tim tried to reduce the amount of changes in the patch. I'm happy to have another follow up for that. In general it would be better a controller using an entity listing controller.
Regarding "update this item". The generic BulkFormBase don't even know about entities, so we can't provide something more useful. In constrast though, in UserBulkForm we know that there is an entity involved,
so let's describe it: 'Update the user %name'
Comment #102
dawehnerI added a new test for the user admin listing page. I hope I tested everything.t
PS: I tried to get the empty text to display, but I doubt it's possible to use simpletest when you have no user at all :)
Comment #102.0
dawehnerUpdated issue summary.
Comment #103
tim.plunkettThis apparently
show_admin_links: 0
now? #1877376: Change notice: Improve Views UI text for the contextual links display settingComment #104
dawehnerGood catch!
Comment #105
xjmAwesome work @dawehner!
Let's add followup issues for the things listed in #100:
I'll try to re-review this patch later this week.
Comment #106
ParisLiakos CreditAttribution: ParisLiakos commentedthis inheritdoc is not gonna work.either use inheritdoc alone or do it old style, with Overrides..
------
More important..when i install locally, i get
'Missing handler: users user_bulk_form field'
In the configure screen after batch...in simplytest.me, even more weird, the first installation i try, batch hangs at the begin, like for ever....
Comment #107
ParisLiakos CreditAttribution: ParisLiakos commented#104: drupal-1851086-104.patch queued for re-testing.
Comment #108
dawehnerI do think this is okay: http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutoria... ... so if this is a problem the api module should support that as well.
I will have a look at the error message.
Comment #109
xjmYou might need to enable the actions module if you applied the patch to an existing install.
Comment #110
xjmTested in minimal. It mostly seems to work fine now, but the default tab for the fallback listing is missing:
Other than that, I still need to test Standard, as well as the pager for the Minimal listing.
Comment #111
xjmI'm also seeing the same problem when I try to install Standard on simplytest.me. Trying locally.
Comment #112
xjmI installed Standard locally with the patch already applied and it worked great. I can't reproduce the handler error @ParisLiakos mentions, but I vaguely remember encountering it when I applied the patch after installing and didn't turn on the action module.
Only one small problem:
Comment #113
xjmAnd, we still need those followup issues filed. Also, please update the summary to describe the current status/approach. Tim did a nice job scoping the admin content issue via its title. ;)
Comment #113.0
xjmNot updating the summary yet
Comment #114
dawehnerComment #116
damiankloip CreditAttribution: damiankloip commentedThe defaults option was not turned off for show_admin_links.
Comment #118
dawehnerpatch -p1 still applied, so here is a rerole.
Comment #119
xjmWe also now need to incorporate the improvements from #1932068: People Admin Table Missing Labels.
Comment #120
dawehnerI don't think we need an adaption:
Unassign myself if this maybe blocks someone from reviewing the patch.
Comment #121
xjm#118: drupal-1851086-118.patch queued for re-testing.
Comment #122
xjmHm, something funky is still going on with the menu items. On a clean install with #118 applied:
Comment #123
xjmOh, re: #120, that looks great.
Comment #124
xjmHmm, and there's a weird bug with status messages. When I add a role to an account, I get a message that the account was blocked.
Comment #125
dawehnerComment #126
Kars-T CreditAttribution: Kars-T commentedIt would be better if possible that the filter "Active" would be renamed to "Status" with the optioncs "Active" and "Blocked"
Comment #127
Kars-T CreditAttribution: Kars-T commentedAdding a role now gives the correct text.
Comment #128
tim.plunkettSee #1998192: Allow the boolean labels of exposed filters to be configurable
Comment #129
kerasai CreditAttribution: kerasai commented#125: drupal-1851086-125.patch queued for re-testing.
Comment #130
Kars-T CreditAttribution: Kars-T commentedJust checked the patch with simplytest.me and I could block mysqlf user/1 by using the views submit and got excluded from the system.
Maybe there is already an submit handler and this is a bug or some submithandler should be added to the view.
Comment #131
dawehnerI certainly can reproduce this behavior in current HEAD.
Comment #132
xjmRe: #130 and #131, see #472074: Don't let the all administrator accounts get blocked. Also, I don't think #1998192: Allow the boolean labels of exposed filters to be configurable blocks this issue.
Comment #133
xjmSo, based on @dawehner's changes in #125, the bit with the status message is an existing bug with the user actions. We discussed this and it's actually trying to do something richer than HEAD, which just says "The update has been performed." In this case improving the update message is out of scope and can be a followup, and it will be much cleaner if we do #1846172: Replace the actions API. So, I filed #2004202: Improve status messages for user actions.
Comment #134
xjmComment #135
alimac CreditAttribution: alimac commentedWhen I apply the patch from #125 on a clean clone and go to admin/people I get the following error:
(I was going to work on #133)
Comment #136
dawehner#125: drupal-1851086-125.patch queued for re-testing.
Comment #137
alimac CreditAttribution: alimac commented@xjm asked us to do the thing in #133, we couldn't test it because the patch in #125 was broken so this is our best guess. @bshaffer and @YesCT did all this work, I'm just uploading two things.
Comment #138
bshaffer CreditAttribution: bshaffer commentedI was able to roll back 8.x to May 18th, when the patch was originally made, and applied the interdiff in #137. I was able to verify the change in the message was reverted as expected.
Comment #140
xjmThe error in #135 is caused by applying the patch after Drupal is already installed. The behavior with the current page is that
admin/people
returns an access denied, butadmin/people/list
works.Comment #141
xjmNote that the failures in #137 (and the bug with
admin/people
returning access denied) is caused by #1800998: Use route system instead of hook_menu() in Views.Comment #142
tim.plunkettTypedData is unfun.
Comment #144
tim.plunkettadmin/content went in!
Here are a couple test tweaks that were just sloppy bugs from the reroll.
Comment #145
dawehnerShould not this be admin/people?
Let's see who wins here: #2015721: Adding a role to a user throws a php error (*hint* ... test coverage :) )
Roles are just a list of RIDs now.
It just feels wrong to still add page callbacks.
Comment #146
tim.plunkettI'll kill the page callbacks, and reroll on top of #2015721: Adding a role to a user throws a php error
We need it to be admin/people/list since its a default task, it will actually be on admin/people.
Comment #147
tim.plunkettWork in progress.
Comment #149
tim.plunkettOkay, modernized a bunch of stuff, this should be good.
Comment #151
tim.plunkettOh, right, Views can't override routes yet: #2004300: Extend the router provider interface so that Views can override routes
Let's just stick to the easy parts.
The interdiff is against #147, ignore #149
Comment #152
dawehnerI try to understand this change. Doesn't it make sense to compare these two? The mount of available actions might change with time.
This would always import the frontpage view, even the frontpage was not /node.
Comment #153
tim.plunkett1) I agree
2) Oops, that should have been 'content'.
Comment #154
damiankloip CreditAttribution: damiankloip commentedWe could bring this back but just count the amount of actual actions there should be available and assert against that?
So we will only import the view if the frontpage is /node. That seems strange - so if I had changed my front page (alot of sites) I would never even see that view in my listings :(
I think we should re export the view after #1938654: Export all properties of all views handlers and plugins went in. As we are now missing lots of default options that we want in the export. E.g. for query:
Don't we only want to filter all actions like this when we are in the UI?
We could bring this back but just count the amount of actual actions there should be available and assert against that?
Comment #155
damiankloip CreditAttribution: damiankloip commentedSorry, totally forget that point.
EDIT: And the first point about the test. I thought we were still overriding getBulkOptions(), but we aren't anymore. It's covered in the base class.
Comment #156
tim.plunkettI'm not changing the logic of system_update_8046() with regard to frontpage, that is pre-existing. I'm just adding in new views.
This re-exports the view, good catch.
Ignoring your other points from #154 as per #155 :)
Yay 15k of extra YAML!
Comment #157
damiankloip CreditAttribution: damiankloip commentedThe only updates are to the yaml file, and that is done programmatically - all looks good.
I think this is ready......
Comment #160
tim.plunkettRandom fail #2004408-34: Allow modules to alter the result of EntityListController::getOperations
Comment #161
yannickooOh, why the permissions aren't grouped like on
admin/people/permissions
? :(Comment #162
tim.plunkettI would guess an issue with the existing views handler. Please file an issue, thanks!
Comment #163
yannickooOkay,
will create a new oneI created #2018569: Group permissions in the new views handler (BTW thanks again for your USB cable at DrupalCon Munich :D).Comment #164
alexpottThis is now clickSortable()... fix during commit...
Committed e5774f5 and pushed to 8.x. Thanks!
Comment #165
irinaz CreditAttribution: irinaz commentedI opened this issue as a follow up #2020167: Add a name and email search field to the admin/people view
Comment #166
ParisLiakos CreditAttribution: ParisLiakos commentedanother followup #2020265: Bring back contextual links for admin views
Comment #167
ibullockgoing to write the API change notification.
(THIS is the issue I was looking for.)
Comment #168
ibullockSummary
Comment #169
scor CreditAttribution: scor commentedupdate tags (normalize to "Needs change notification")
Comment #170
ibullockComment #171
dawehnerSeems like a good short change notice.
Comment #172
xjmThanks ibullock! The change notice also needs to specifically document the API functions that were changed/removed.
Comment #173
pfrenssenSetting to needs work as per #172.
Comment #174
webwarrior CreditAttribution: webwarrior commentedProposed change notification:
https://drupal.org/node/1895160#comment-7783017
Comment #175
catchSince the change notice is handled in #1895160: Convert admin/content to a View, keep a non-views fallback with no bulk operations I'm going to go ahead and mark this one fixed.
Comment #176
webwarrior CreditAttribution: webwarrior commentedChange notification added:
https://drupal.org/node/2084727
Comment #177.0
(not verified) CreditAttribution: commentedchanged issue summary
Comment #178
liuk71 CreditAttribution: liuk71 commented156: people-1851086-156.patch queued for re-testing.
Comment #180
dawehnerno reason to open it again.