Commit 236a51c
authored
Custom Posts: Add Set as Homepage / Posts Page actions (#25575)
* Format files in preparation for page attribute actions
* Replace isHomepage with PageRole enum in custom post list
Consolidate homepage and posts page tracking into a single PageRole
enum. Update HomepageSetting to track both homepage and posts page IDs
from site settings.
* Add setAsHomepage/setAsPostsPage/setAsRegularPage actions
Add view model methods that update site settings via the WordPress core
REST API with optimistic local state updates and rollback on failure.
* Add Page Attributes submenu and posts page badge
Show Set as Homepage, Set as Posts Page, and Set as Regular Page actions
in a Page Attributes submenu for published pages. Add a "Posts page"
badge alongside the existing "Homepage" badge using the consolidated
pageRole property.
* Gate page attribute actions on manage_options capability
Add currentUserCan(_:) to WordPressClient for checking user capabilities
via the cached current user data. Only show the Page Attributes submenu
when the user has the manage_options capability.
* Refetch site settings on pull-to-refresh
WordPressClient.fetchSiteSettings now takes a forceRefresh flag that
bypasses the loadSiteSettingsTask cache and re-runs the network fetch.
CustomPostListViewModel passes forceRefresh through from
pullToRefresh, so the Pages list picks up homepage and posts-page
assignments changed outside the app without requiring an app
relaunch.
* Show page-role badges on the All tab
The mark-page-roles guard checked for .custom("any"), a legacy form
that predates the .any case wordpress-rs now exposes. The All tab
uses .any, so the predicate never matched and the Homepage / Posts
page badges never rendered there.
* Move PageRoleTests into the WordPressTest target's synchronized folder
* Consolidate page-role success notices into a single string1 parent f039b67 commit 236a51c
4 files changed
Lines changed: 389 additions & 53 deletions
File tree
- Modules/Sources/WordPressCore
- Tests/KeystoneTests/Tests/Features/CustomPostTypes
- WordPress/Classes/ViewRelated/CustomPostTypes
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
270 | 270 | | |
271 | 271 | | |
272 | 272 | | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
273 | 284 | | |
274 | 285 | | |
275 | 286 | | |
276 | | - | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
277 | 295 | | |
278 | 296 | | |
279 | 297 | | |
| |||
Lines changed: 63 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
Lines changed: 112 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
| 83 | + | |
| 84 | + | |
84 | 85 | | |
85 | 86 | | |
86 | 87 | | |
| |||
307 | 308 | | |
308 | 309 | | |
309 | 310 | | |
310 | | - | |
| 311 | + | |
| 312 | + | |
311 | 313 | | |
312 | 314 | | |
313 | 315 | | |
| |||
354 | 356 | | |
355 | 357 | | |
356 | 358 | | |
357 | | - | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
358 | 365 | | |
359 | 366 | | |
360 | 367 | | |
| |||
392 | 399 | | |
393 | 400 | | |
394 | 401 | | |
395 | | - | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
396 | 408 | | |
397 | 409 | | |
398 | 410 | | |
| |||
459 | 471 | | |
460 | 472 | | |
461 | 473 | | |
| 474 | + | |
462 | 475 | | |
463 | 476 | | |
464 | 477 | | |
465 | 478 | | |
466 | 479 | | |
467 | | - | |
| 480 | + | |
468 | 481 | | |
469 | 482 | | |
470 | 483 | | |
| |||
477 | 490 | | |
478 | 491 | | |
479 | 492 | | |
| 493 | + | |
480 | 494 | | |
481 | 495 | | |
482 | 496 | | |
483 | 497 | | |
484 | 498 | | |
| 499 | + | |
485 | 500 | | |
486 | 501 | | |
487 | 502 | | |
488 | 503 | | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
489 | 516 | | |
490 | 517 | | |
491 | 518 | | |
| |||
538 | 565 | | |
539 | 566 | | |
540 | 567 | | |
541 | | - | |
542 | | - | |
543 | | - | |
544 | | - | |
545 | | - | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
546 | 576 | | |
547 | | - | |
| 577 | + | |
548 | 578 | | |
549 | 579 | | |
550 | 580 | | |
| |||
556 | 586 | | |
557 | 587 | | |
558 | 588 | | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
559 | 620 | | |
560 | 621 | | |
561 | 622 | | |
| |||
566 | 627 | | |
567 | 628 | | |
568 | 629 | | |
569 | | - | |
| 630 | + | |
570 | 631 | | |
571 | 632 | | |
572 | 633 | | |
| |||
614 | 675 | | |
615 | 676 | | |
616 | 677 | | |
617 | | - | |
618 | | - | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
619 | 681 | | |
620 | 682 | | |
621 | 683 | | |
622 | 684 | | |
623 | 685 | | |
624 | 686 | | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
625 | 696 | | |
626 | 697 | | |
627 | 698 | | |
| |||
646 | 717 | | |
647 | 718 | | |
648 | 719 | | |
649 | | - | |
| 720 | + | |
| 721 | + | |
650 | 722 | | |
651 | 723 | | |
652 | 724 | | |
| |||
708 | 780 | | |
709 | 781 | | |
710 | 782 | | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
711 | 808 | | |
712 | 809 | | |
713 | 810 | | |
| |||
0 commit comments