1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-01-13 00:01:03 +01:00
Commit graph

652 commits

Author SHA1 Message Date
epriestley
61f82bb97b Introduce "Curtain" views, panels, and extensions
Summary:
This opens up the new action column to have specialized rendering and behavior. Briefly:

  - Converted applications (right now, only Paste) render a `CurtainView` to build the column content.
  - This view uses new extensions to build panels (projects, subscribers, tokens).
  - The panel extension code and rendering can be changed without breaking old stuff.

Minor changes:

  - Token awards now load their tokens, for consistency/simplicity.
  - Removed the rest of the "fork of" / "forked from" UI in Paste -- I essentially removed these features a while ago, and no one has complained.

Test Plan:
UI is a bit rough, but works, and it's going to get changed now anyway:

{F1160550}

{F1160551}

Reviewers: chad

Reviewed By: chad

Differential Revision: https://secure.phabricator.com/D15414
2016-03-06 09:27:55 -08:00
epriestley
aaab1011e5 Give AphrontTagView a getViewer(), deprecate getUser()
Summary:
Two minor changes here:

  - Replace `get/setUser()` with `get/setViewer()` for consistency with everything else.
  - `getViewer()` now throws if no viewer is set. We had a lot of code that either "should" check this but didn't, or did check it in an identical way, duplicating work. In contrast, very little code checks for a viewer but works if one is not present.

Test Plan:
  - Grepped for `->user`.
  - Attempted to fix all callsites inside `*View` classes.
  - Browsed around a bunch of applications, particularly Calendar, Differential and Diffusion, which seemed most heavily affected.

Reviewers: chad

Reviewed By: chad

Differential Revision: https://secure.phabricator.com/D15412
2016-03-06 09:27:38 -08:00
Chad Little
fe7e288cf5 Solidify PHUITwoColumnView as a page layout
Summary:
Rolls out a new "Object Page" design with PHUITwoColumnView. This is reasonably polished, but wanted to post it up for you now for feedback before chasing down minor bugs. This implements TwoColumn in the following applications:

 - Ponder
 - Paste
 - Slowvote
 - Countdown
 - Projects
 - Profile
 - Passphrase

This helped track down display issues and inconsistencies and make sure the layout was flexible for different pages.

Test Plan:
Test each of the applications on mobile, tablet, and desktop breakpoints.

{F1135705}

{F1135706}

{F1135707}

{F1135708}

{F1135709}

{F1135710}

{F1135711}

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Differential Revision: https://secure.phabricator.com/D15366
2016-03-01 07:23:08 -08:00
epriestley
383b0bdc04 Fix missing cursor data for paging Projects by creation date
Summary: Fixes T10478.

Test Plan: Paged projects by "Created" without errors.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10478

Differential Revision: https://secure.phabricator.com/D15367
2016-02-29 16:08:28 -08:00
epriestley
2e19b78b8d Don't publish anything for "Disable Mail" / "Enable Mail" on projects
Summary:
Fixes T10466. Currently, clicking "Disable Mail" or "Enable Mail" on a project toggles an edge, but it gets a default "added an edge" story and transaction record.

These are confusing, useless and not interesting, so just hide them.

Test Plan:
  - Before patch: clicked enable/disable mail, saw "added an edge" / "removed an edge" stories in feed and project history.
  - After patch: clicked enable/disable mail, saw nothing in feed or project history.
  - (Note that this patch is not retroactive for feed, so already-published stories won't unpublish.)

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10466

Differential Revision: https://secure.phabricator.com/D15361
2016-02-28 16:32:32 -08:00
Chad Little
e9f4ca6ca3 Redesign PonderQuestionView
Summary: Full new UI, testing some upcoming treatments for consideration in other View controllers. Small tweaks to allow PHUITwoColumnView to have fixed and fluid width, and let TransactionCommentView go fullWidth.

Test Plan:
Tested a number of Ponder cases, New Question, with and without summary, with and without answers, with and without comments. Mobile, Tablet, and Desktop layouts. Verify Project and Profile UI's still in tact.

{F1120961}

{F1120962}

{F1120963}

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Differential Revision: https://secure.phabricator.com/D15315
2016-02-23 17:20:07 -08:00
epriestley
9baae00fbd Fix a couple of column editing issues
Summary:
Ref T10349.

  - Don't show subproject columns on "Manage Board".
  - Fix "Edit Column" for milestone columns (allows you to set points, but not rename).

Test Plan:
  - Viewed "Manage Board" on a project with subprojects.
  - Edited a milestone column and set a point limit.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10349

Differential Revision: https://secure.phabricator.com/D15338
2016-02-23 14:45:05 -08:00
epriestley
76d4e85bfc Only hide archived project tags on workboard cards
Summary: Fixes T10413. I accidentally hid these //everywhere//, but only intended to hide them on workboards.

Test Plan:
  - Viewed a workboard, saw un-archived projects only.
  - Viewed a task detail page, saw archived and un-archived projects.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10413

Differential Revision: https://secure.phabricator.com/D15335
2016-02-23 10:47:27 -08:00
Chad Little
f5e2f9587c Add setHeader to PHUITwoColumnView for consistent page layouts
Summary: Working towards making PHUITwoColumnView into a page layout engine. Adds header support.

Test Plan: Use new header on Profile and Profiles. No visual changes, less duplicated code.

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Differential Revision: https://secure.phabricator.com/D15292
2016-02-17 13:09:10 -08:00
Chad Little
12d8520059 Convert PHUIObjectBoxView to AphrontTagView
Summary: Attempting to clean PHUIObjectBoxView up a little as well as finally being able to `addClass` on the sucker. I'm running into some issue with `addTabs` though, which on Files isn't firing.

Test Plan: Bounce around tons of screens.

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Differential Revision: https://secure.phabricator.com/D15291
2016-02-17 12:54:56 -08:00
epriestley
9a16e5c1aa Allow users to seach for projects by watcher
Summary:
Ref T10349. This capability didn't make a ton of sense when you had to be a member to watch a project and watch rules were simple, but makes more sense now.

A particular use case might be finding all the stuff you're watching so you can prune it.

Test Plan: Searched for stuff I was watching, got accurate results.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10349

Differential Revision: https://secure.phabricator.com/D15289
2016-02-17 11:47:55 -08:00
Chad Little
71be2b06a8 Add Workboard UI Color to sidenav, fix fullscreen CSS
Summary: Uses the background color changes to show also on the side nav. Places color on entire body so fullscreen doesn't show other body color.

Test Plan: Review various workboard colors at normal and fullscreen

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Differential Revision: https://secure.phabricator.com/D15283
2016-02-16 14:32:26 -08:00
epriestley
376c85a828 Make subproject/milestone watch rules work better
Summary:
Ref T10349. These got sort of half-weirded-up before I separated subscriptions and watching fully. New rules are:

  - You can watch whatever you want.
  - Watching a parent watches everything inside it.
  - If you're watching "Stonework" and go to "Stonework > Masonry", you'll see a "Watching Ancestor" hint to let you know you're already watching a parent or ancestor.

Test Plan:
  - Watched and unwatched "Stonework".
  - Watched and unwatched "Stonework > Iteration IV".
  - While watching "Stonework", visited "Iteration IV" and saw "Watching Ancestor" hint.
  - Created a task tagged "Stonework > Iteration IV". Got notified about it because I watch "Stonework".

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10349

Differential Revision: https://secure.phabricator.com/D15280
2016-02-16 10:42:07 -08:00
epriestley
483d90fac1 Allow workboard background colors to be configured
Summary:
Adds a UI for selecting background colors.

You can choose "Use Parent", which is the default, and allows you to set a color that all descendants inherit.

You can also choose "None", if a parent has a WHACKY BACKGROUND that you refuse to put up with.

Test Plan:
{F1114588}

{F1114589}

Reviewers: chad

Reviewed By: chad

Differential Revision: https://secure.phabricator.com/D15279
2016-02-16 08:15:12 -08:00
epriestley
5a44c85b6b Move uncommon workboard management options to "Manage Board" view
Summary:
This gives us room for less-common workboard management options like "Disable Board" without overloading the menus on the main board.

Particularly, we can add background color options here without anything getting weird.

I've left "Add Column" on the main UI since I think it's common enough to leave there. We could probably move "Hide Column" to this UI in the future, though.

Test Plan: {F1114475}

Reviewers: chad

Reviewed By: chad

Differential Revision: https://secure.phabricator.com/D15278
2016-02-16 08:13:31 -08:00
epriestley
e4690a3854 Fix an issue where newly created tasks could appear at the bottom of columns
Summary:
Ref T10349. At HEAD, if you create a task //on a board//, it floats to the top correctly.

If you create a task elsewhere and tag it with the board, you were subject to the whims of the layout engine and it would generally end up on the bottom.

Instead, make the rules consistent so that "virtual" positions (of tasks which haven't been committed to a particular position yet) still float to the top.

Test Plan:
  - Created tasks from a board.
  - Created tasks from Maniphest, then looked at them on a board.
  - Moved tasks around.
  - In all cases, newly created tasks floated to the top.
  - Sorted by natural and priority.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10349

Differential Revision: https://secure.phabricator.com/D15276
2016-02-15 15:18:05 -08:00
epriestley
f1f8ee8e6a Improve subproject/milestone error handling for users who can't create projects
Summary:
Fixes T10357.

  - Show a better (more descriptive) error message when a user who can't create projects tries to create a subproject or milestone.
  - Disable the subproject actions if you don't have create permission.

All this stuff was already enforced properly: this diff doesn't make any actual policy changes, just improves the UI for users who lack permission.

Test Plan:
  - As an unprivileged user (no "Can Create Projects"), tried to create a subproject or milestone.
  - After patch, got a disabled action, with more specific and helpful error than before.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10357

Differential Revision: https://secure.phabricator.com/D15274
2016-02-15 07:32:42 -08:00
Chad Little
3fdaf229a7 Convert Create/Edit Column pages to dialogs
Summary: Makes these pages a dialog endpoint, keeping you on the Workboard when possible.

Test Plan: Create a Column, Edit a Column, visit hard page. Test letters in the points field.

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Differential Revision: https://secure.phabricator.com/D15270
2016-02-14 12:38:38 -08:00
Chad Little
c1f57605ab Normalize colors a bit better on Profiles/Projects, add Workboard backgrounds
Summary: Cleans up the backgrounds a little on Projects/Profiles and adds a number of colour choices for Workboards.

Test Plan:
Manually add each color for testing. Test new project / profile layouts with and without properties.

{F1109325}

{F1109326}

{F1109327}

{F1109328}

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Differential Revision: https://secure.phabricator.com/D15269
2016-02-13 12:08:29 -08:00
epriestley
329d03661f Use an extended policy to bind column and board policies together
Summary:
Ref T10349. Columns have the same policies as the projects they belong to.

However, the current implementation just returns the policy directly. This usually works, but if the project has a policy like "Members of (This) Project", the policy filter tries to check if the viewer is a member of //the column itself//. That doesn't work, since columns don't have members. This leads to a situation where columns on "Editable By: Project Members" projects can not be edited.

Instead, return a permissive base policy and then use an extended policy to bind the column policy to the project policy.

Test Plan:
  - Edited a column on an "Editable By: Members of Project" board.
  - Added and ran a unit test covering this case.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10349

Differential Revision: https://secure.phabricator.com/D15268
2016-02-13 11:34:54 -08:00
epriestley
3f50ba90f1 On workboards, put older milestone columns on the right
Summary:
Ref T10349. Instead of showing columns in "Backlog, Custom, Sprint 1, Sprint 2, Sprint 3" order, show the sprints in reverse order: 3, 2, 1.

This makes it easier to get to the new stuff, and you don't have to drag over older stuff or archive it immediately.

Trello's own meta-board for Trello development is a good example of this in the wild: older stuff goes out to the right, so you can get to the newer stuff easily:

https://trello.com/b/nC8QJJoZ/trello-development

Test Plan: Saw board in 3, 2, 1 order instead of 1, 2, 3.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10349

Differential Revision: https://secure.phabricator.com/D15267
2016-02-13 08:36:59 -08:00
epriestley
9bab3c25b8 Sort milestones by milestone number, not ID
Summary: Ref T10350. Normally, milestone numbers and IDs have the same order, but they may not if you used the script in T10350 to artificially move a bunch of stuff around.

Test Plan: Milestones now go "1, 2, <thing I artifically moved into position 3>" on local install.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10350

Differential Revision: https://secure.phabricator.com/D15266
2016-02-13 08:36:25 -08:00
epriestley
bec21d80a5 Don't try to import proxy columns
Summary:
Fixes T10346. You finally wrung a clue out of the reporter and I think I figured this out.

Here's the bug:

  - Create a project with a workboard and subprojects/milestones.
  - Create a new project, import columns from the first project.
  - We incorrectly import empty columns for the subprojects/milestons.

Instead, skip proxy columns during import.

Also, allow "hide column" to continue on missing fields, so columns with no name can be hidden.

Test Plan:
  - Did the stuff above.
  - Workboard no longer populated with a bunch of "Unnamed Column" columns.
  - Hid several "Unnamed Column" columns.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10346

Differential Revision: https://secure.phabricator.com/D15265
2016-02-12 13:59:26 -08:00
Chad Little
1e3a5bd2c0 Filter out archived projects from ProjectProfileView
Summary: This just hides them, should still show on "View All".

Test Plan: Hide a Milestone, no longer see it on home. Click "View All", see all Milestones.

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Differential Revision: https://secure.phabricator.com/D15264
2016-02-12 13:10:56 -08:00
epriestley
ca908d7cc4 Don't autoname milestones, but do show the previous milestone name as a hint
Summary: Fixes T10347. In the long run maybe we'll try to guess this better, but for now get rid of the "Milestone X" hardcode and just show what the last one was called.

Test Plan:
  - Created the first milestone for a project.
  - Created the nth milestone for a project.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10347

Differential Revision: https://secure.phabricator.com/D15262
2016-02-12 11:04:46 -08:00
epriestley
68d05934a7 Don't show un-completeable results in people/project autocomplete
Summary:
Fixes T10285.

  - If a result (like a milestone) has no primary hashtag, try to fill in a secondary hashtag.
  - If we can't find any hashtag, don't return the result.

This produces these behaviors:

  - By default, you can't autocomplete milestones.
  - If you give one a hashtag, you can.

We might want to give milestones "special" hashtags eventually (like `#xyz/33`) but this fixes the confusing/broken behavior in the UI and we can wait for a better use case for letting you autocomplete milestones, I think.

Also, don't try to cycle hashtags when renaming milestones. This was a little inconsistent before.

Test Plan:
  - Autocompleted normal projects.
  - Autocompleted milestones with explicit hashtags.
  - No autocomplete entry for milestones with no special hashtags.
  - Used normal typeahead to get tag-less milestones to make sure I didn't break anything.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10285

Differential Revision: https://secure.phabricator.com/D15261
2016-02-12 11:03:21 -08:00
June Rhodes
2f054edfa2 Hide milestone columns when milestone is archived
Summary: Fixes T10310.  This replaces the "Hide Column" / "Show Column" option for milestone columns with one that archives/unarchives, and hides milestone columns when the milestone project is archived.

Test Plan:
  - Hid and unhid a normal column (got normal dialogs).
  - Hid and unhid a milestone column (got "archive project" dialogs, underlying project archived/unarchived, column vanished).

Reviewers: hach-que, #blessed_reviewers, chad

Reviewed By: #blessed_reviewers, chad

Subscribers: jcowgar, Korvin

Maniphest Tasks: T10310

Differential Revision: https://secure.phabricator.com/D15231
2016-02-12 08:10:33 -08:00
epriestley
de379c8b61 Allow workboard sorting and filtering to be saved as defaults
Summary:
Fixes T6641. This allows users who have permission to edit a project to use "Save as Default" to save the current order and filter as defaults for the project.

These are per-board defaults, and apply to all users. The rationale is that I think the best default ordering/filtering depends mostly on the board, not the viewer.

This seems to align with most requests in the task, although rationale is a bit light. But, for example, it seems reasonable you might want to change the default filter to "All Tasks" on a sprint board, so you can see what's in the "Done" column.

This also fixes some minor issues I ran into:

  - Herald could hit an issue while checking permissions if the project was a subproject and a non-member had a triggering rule.
  - "Advanced filter..." did not prefill with the current filter.

Test Plan:
  - Set default order and filter on a workboard.
  - Reloaded board, saw settings stick.
  - Tried to edit a board as an unprivileged user (disabled menu items, error).
  - Reviewed transaction log.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T6641

Differential Revision: https://secure.phabricator.com/D15260
2016-02-12 07:47:23 -08:00
Chad Little
8d1e7c0d5f Minor CSS touches to workboard quest experience
Summary: minor spacing updates, but i need to likely take a more details pass, specifically points look janky with project tags since they are not in the same `li`.

Test Plan: Zoom into tags, see they all are same height and align.

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Differential Revision: https://secure.phabricator.com/D15255
2016-02-11 17:10:43 -08:00
Chad Little
6ae0a62f9f New People Hovercards
Summary: Mimics the Project Hovercards, more custom UI.

Test Plan: Hover over person with and without badges, hover over project.

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Differential Revision: https://secure.phabricator.com/D15253
2016-02-11 15:41:55 -08:00
epriestley
5383ea9d56 Add points to workboard cards
Summary: Fixes T10328.

Test Plan: {F1104609}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10328

Differential Revision: https://secure.phabricator.com/D15243
2016-02-11 10:04:54 -08:00
epriestley
ad77b014f1 Fix an issue with creating tasks directly into milestone columns
Summary:
These columns were conflating `projectPHID` (the defualt project to add to the task) with `boardPHID` (the board the column appears on).

Separate them to fix the beahvior.

Test Plan: Used "Add Task" from dropdown menu of a milestone column on a parent project's workboard.

Reviewers: chad

Reviewed By: chad

Differential Revision: https://secure.phabricator.com/D15242
2016-02-11 10:01:49 -08:00
epriestley
705c8c956a Fix one straggler milestone URI
Summary: I missed this during cleanup.

Test Plan: Go to a project, then: Subprojects, Create Milestone, Cancel. No longer 404/fatals.

Reviewers: chad

Reviewed By: chad

Differential Revision: https://secure.phabricator.com/D15241
2016-02-11 10:01:35 -08:00
epriestley
968ac76453 Don't adjust task priority after a workboard drag unless we need to
Summary:
Fixes T8197. Currently, if you priority-sort a workboard and drag a card to the top or bottom, we change the priority even if we do not need to.

For example, if the lowest priority in a column is "Low", and you drag a "Wishlist" task underneath it, we incorrectly increase the priority of the task to "Low", when we do not actually need to touch it. This is bad/confusing.

A similar thing happens when dragging a "High" priority task to the top of a column where the highest priority is currently "Normal".

Test Plan:
  - Create a column with a "Normal" task.
  - Sort workboard by Priority.
  - Drag a "High" task above it. After patch: task still "High".
  - Drag a "Wishlist" task below it. After patch: task still "Wishlist".

Also dragged a ton of tasks into the middle of other tasks.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T8197

Differential Revision: https://secure.phabricator.com/D15240
2016-02-10 16:03:31 -08:00
epriestley
0b5abf7bb5 Allow "0" to be a valid workboard column point limit
Summary:
Fixes T6580. Now:

  - Empty field means "unlimited".
  - Zero means 0.
  - Nonzero means that number.

(Although you can now have fractional points, I didn't change columns to allow fractional limits, because too bad.)

Test Plan: {F1103688}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T6580

Differential Revision: https://secure.phabricator.com/D15239
2016-02-10 15:10:33 -08:00
epriestley
1fb76655df Restore column point counts to workboards
Summary: Ref T4427.

Test Plan:
  - Dragged a 17 XP task from "Hunting" to "Slain".
  - Saw 17 XP move.
  - Level up!

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T4427

Differential Revision: https://secure.phabricator.com/D15237
2016-02-10 14:01:28 -08:00
epriestley
0bf3519045 Rewrite workboards to have way more bugs
Summary:
Ref T4900. Briefly:

  - Much more layout and rendering is now done in Javascript.
  - This should otherwise be identical to the behavior at HEAD, except that:
    - editing a task and removing the current board from it no longer removes the task; and
    - points still don't work.

However, this can now plausibly support realtime workboard updates and other complex state-based behaviors like points calculations in a future change.

Test Plan:
  - Changed card covers.
  - Moved cards.
  - Sorted board by priority and natural.
  - Added new cards.
  - Edited cards in place.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T4900

Differential Revision: https://secure.phabricator.com/D15234
2016-02-10 13:08:38 -08:00
epriestley
01084bfe22 Begin making card updates on boards independent of context
Summary:
Ref T4900. To eventually support realtime board updates, we need to be able to perform a board state update without the context of the action which caused it.

For example, if the server says "update card Y", we need to know what to do without being told "card Y was moved from column A to column B" explicitly. Currently, all the update code relies on knowing what happened and which nodes were affected.

This is only a small step forward, but starts making things a bit more independent and consistent.

Test Plan:
  - Moved cards around.
  - Changed card cover images.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T4900

Differential Revision: https://secure.phabricator.com/D15228
2016-02-10 13:07:48 -08:00
epriestley
9bca1a56da Begin generalizing Javascript for Workboard state handling
Summary:
Ref T4900. Broadly, workboard state management is fairly ad-hoc now, which makes things like this (where some kind of edit affects global state) difficult:

  - Updating points header to reflect a sum change after dragging a task.
  - Changing progress bars after editing a task to change resolution or points value.
  - Moving a card to the correct column after editing it and changing subprojects/iterations.
  - Responding to real-time notifications about other users moving cards.

This begins rewriting the code in a way that can better accommodate these kinds of far-reaching state update.

This change just moves cover image stuff. I'll continue moving features one at a time until boards work better.

Test Plan: Updated some cover images.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T4900

Differential Revision: https://secure.phabricator.com/D15224
2016-02-10 13:04:27 -08:00
epriestley
7bca452fad Fix two issues with unusual milestone workboard initialization orders
Summary: Fixes T10316. Fixes T10311.

Test Plan:
  - Create a project, create a milestone, go back to the parent, go to the workboard. Previously, fatal. Now, prompts you to create workboard.
  - Create a project, create a milestone, create the parent workboard, put a task in the milestone's column, go to the milestone workboard. Previously, fatal. Now, prompts you to create workboard.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10311, T10316

Differential Revision: https://secure.phabricator.com/D15232
2016-02-10 12:30:57 -08:00
Chad Little
c2502f1beb Add fullscreen mode to Workboards
Summary: Cleans up Crumb Actions on Workboards. Adds fullscreen option. Fixes T6066

Test Plan:
Clicky Clicky. Test icon does not display on tablet, mobile.

{F1102458}

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Maniphest Tasks: T6066

Differential Revision: https://secure.phabricator.com/D15230
2016-02-10 15:31:02 +00:00
epriestley
0782652a80 Add a basic progress bar for milestones
Summary: Ref T4427. This kind of works.

Test Plan: {F1100578}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T4427

Differential Revision: https://secure.phabricator.com/D15221
2016-02-08 18:50:22 -08:00
epriestley
3682cc9bb2 Allow workboards to be disabled, hiding "(Backlog)" column annotations
Summary:
Fixes T7410.

  - Adds a "Disable Workboard" action to the "Manage Backlog" menu.
  - We'll probably move this somewhere else if/when that column gets too messy.
  - Disabling a board hides it, prevents it from being recreated by non-editors, and hides the "Project (Backlog)" annotations.
  - Resotring a board puts it back in pristine condition.

Test Plan:
  - Disabled a board.
  - Verified "(Backlog)" annotations vanished.
  - Enabled a board.

Reviewers: chad

Reviewed By: chad

Subscribers: mbishopim3

Maniphest Tasks: T7410

Differential Revision: https://secure.phabricator.com/D15215
2016-02-08 14:09:36 -08:00
epriestley
07f1a03262 Fix a bad call when prefilling ApplicationSearch from ?projects=some_slug
Summary: Fixes T10299.

Test Plan:
  - Visited `/maniphest/?projects=x` locally, where `x` is some valid project slug.
  - Before patch: Fatal on `requireViewer()` call.
  - After patch: Works correctly, filling the correct project into parameters.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10299

Differential Revision: https://secure.phabricator.com/D15214
2016-02-08 10:44:33 -08:00
epriestley
d9bd062bba Fix an issue with viewing an empty board with milestone columns
Summary:
Ref T10010.

  - Viewing an empty board with milestone columns did a meaningless edge query. Don't do that.
  - When creating the first milestone of a parent, force the indexing engine to rematerialize it inline. This sets `hasMilestones` properly. Otherwise, the daemons may take some time to fix this in the indexer.

Test Plan:
  - Viewed an empty board of a project with a milestone.
  - Viewed a normal board.
  - Created the first milestone of a project with a big queue of daemons, saw project state immediately fully reflect the project having milestones.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10010

Differential Revision: https://secure.phabricator.com/D15206
2016-02-07 02:35:58 -08:00
epriestley
a45fe337a1 Link proxy column headers on workboards to proxied projects
Summary: Ref T10010. Allows you to click "Milestone 99" to jump directly to that project.

Test Plan:
  - Clicked milestone header, went to milestone.
  - Clicked normal column header, nothing happened. Wow!

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10010

Differential Revision: https://secure.phabricator.com/D15204
2016-02-06 16:33:42 -08:00
epriestley
78c248d330 Support drag-and-drop to set cover images on workboard cards
Summary: This was slightly more complex than I believed, but not too terrible.

Test Plan:
{F1096126}

  - Also used some normal file uploaders to make sure I didn't break that.

Reviewers: chad

Reviewed By: chad

Differential Revision: https://secure.phabricator.com/D15202
2016-02-06 15:58:43 -08:00
epriestley
b6a38b403c Add storage and read logic for workboard card cover photos
Summary:
No way to set photos yet, but if you magic them in they work.

Primarily, this consolidates rendering logic so the move + edit + view controllers all run the same code to do tags / cover photos.

Test Plan: {F1095870}

Reviewers: chad

Reviewed By: chad

Differential Revision: https://secure.phabricator.com/D15201
2016-02-06 15:34:41 -08:00
epriestley
f097c9c595 Disable "Subprojects" menu item for milestone projects
Summary:
Ref T10010. Milestones can't have subprojects, so this item isn't very useful.

I think there is also an argument for disabling "Members", but that panel is a little less useless and explains the membership rule, so I'm less certain about removing it. I do generally lean toward removing it at some point, though.

Test Plan:
  - Viewed a milestone, no "Subprojects" menu item.
  - Viewed a normal project, saw item.
  - Edited both menus, saw consistent UI.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10010

Differential Revision: https://secure.phabricator.com/D15200
2016-02-06 12:55:05 -08:00
epriestley
7550557e44 Don't show archived projects by default in policy control
Summary:
When filling in filler projects, only select active ones.

Also use a slightly more modern method signature.

Test Plan: Disabled a project, saw it vanish from the control.

Reviewers: chad

Reviewed By: chad

Differential Revision: https://secure.phabricator.com/D15199
2016-02-06 12:41:58 -08:00