Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Malfurious <m@lfurio.us>
|
|
The backend will now properly handle an action to assign someone who has
already signed-off on a ticket. In effect, their signoff is removed,
and the original assignment metadata (assigner, timestamp) is updated.
Signed-off-by: Malfurious <m@lfurio.us>
|
|
As a special case, self-assignment is refered to as claiming assignment
of an issue. The assignee list on the issue sidebar will now properly
identify users which have assigned themselves, and the issue event log
will now contain "Bob claimed" instead of "Bob assigned Bob" when such
an event occurs in the future.
Signed-off-by: Malfurious <m@lfurio.us>
|
|
Active issue assignees will now have a button on issues to explicitly
'signoff' their assignment - that is, to affirmatively declare it done.
The use of this new action will allow assignees to signoff without
needing to close the issue as well. This is useful for multiple
assigned users collaborating on an issue.
Note that if an assignee chooses to close a ticket directly, they are
still automatically signed-off, as before.
To aid this feature, the low-level definition of an 'assigned user' is
updated to exclude users occupying an assignment slot, but which have
already signed-off.
Since the icon representing this action is the same as for closing a
ticket, the buttons enabling these two actions are now color-coded
wherever they appear.
Signed-off-by: Malfurious <m@lfurio.us>
|
|
Issue ordering within pad stages is updated to be first by due date
(this was already the case), then by issue number _in decending order_.
This is to be more consistent with the 'closed issues' view for pads,
which always lists the most recently closed issues first. Furthermore,
I suspect users will more likely want to deal with recent issues when
browsing a pad.
Signed-off-by: Malfurious <m@lfurio.us>
|
|
Using keeps original whitespace visible, but because it is non
blocking, prevents any line wraps. Use &ensp13; instead, since it is
blockable, and most accurately displays as the previous version did.
Fixes 12c7230cf6bc.
Signed-off-by: Malfurious <m@lfurio.us>
|
|
Signed-off-by: Malfurious <m@lfurio.us>
|
|
Some changes pertaining to issue management workflow enhancement
* issue-view-improvements:
Keep issue modal open after closing an issue
Automatically call-up issue modal for newly-opened issues
Add stage/guid information to issue modal title bar
Add additional info / controls to issueListItem
|
|
For consistency reasons, I've decided to keep the issue UI open even
after just closing an issue. That is assuming the user used the modal
window to perform the close. If an issue is closed via the quick control
buttons in the pad view page, no window is spawned since none was open
to begin with.
Other edge-cases that would interrupt the return of the issue modal have
also been removed. For example, an informational message is no longer
produced when an attachment is successfully uploaded, and users are no
longer notified that an action resulted in an issue being closed.
Signed-off-by: Malfurious <m@lfurio.us>
|
|
This patch will cause the interface for new issues to be immediately
visible after page load on opening a new issue, as it is likely the user
may wish to perform some action on it.
This patch also fixes a bug which has previously prevented this from
being the default behavior. The pad view's script imports have been
reordered such that all issue state manipulation is done and pushed to
the DB before any of the pad view page content is rendered. This
prevents situations where the page would often load in a broken state
(the reason for the previous 'location()' call - to force a reload), and
enables us to use the new issue as the autoModal window as this patch
does.
Signed-off-by: Malfurious <m@lfurio.us>
|
|
The previous patch removed the guid from the far left side of
issueListItem entries. This patch makes that value visible again within
the popup issue modal window.
Additionally, the issue's current stage is displayed next to its name.
Viewing this info here is convenient, however this is mostly done in
anticipation of being able to access issues from the main user
dashboard, where pad stage context may be missing.
Signed-off-by: Malfurious <m@lfurio.us>
|
|
The list of assignees, the owner (opener), and quick controls for
advancing or closing an issue are now available in the issue listing for
pad stages (or the closed issue list, which is missing the new control
buttons).
If using the quick control buttons to manipulate an issue, the issue
modal is not called-up on the page reload.
Signed-off-by: Malfurious <m@lfurio.us>
|
|
The label itself is kept, to describe what page is currently in-view.
However, the dropdown functionality is removed for now, since the only
options were placeholders.
Signed-off-by: Malfurious <m@lfurio.us>
|
|
Signed-off-by: Malfurious <m@lfurio.us>
|
|
Some PHP update has changed the behavior of referencing a missing key in
an array, so the mechanism I was using to specify the default login page
tab was bugged (emitting errors) and did not allow to manually switch to
signup after the app is initialized.
To fix this, simply define the missing values to empty strings.
Signed-off-by: Malfurious <m@lfurio.us>
|
|
QoL enhancement when posting updates to a ticket. Since the page
reloads and has to open the ticket modal again, scrolling to the bottom
automatically preserves the view and makes follow-up actions easier.
Signed-off-by: Malfurious <m@lfurio.us>
|
|
Signed-off-by: Malfurious <m@lfurio.us>
|
|
It is annoying to have to manually navigate back to the group page that
contains the pad you're currently viewing, since it involves more than a
single click to go up one level in the object hierarchy.
This patch adds the owner name to the display at the top of each pad, as
a hyperlink. If the owner is a group, following the link will take you
to the group page. If the owner is _your own_ user, following the link
will take you to the 'My Pads' page. Otherwise, it leads nowhere.
Signed-off-by: Malfurious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
This patch is a direct improvement on the previous one. Now, instead of
telling clients to always cache df resources for 24 hours before
revalidating the file, we tell them to cache it for zero seconds. This,
in cobination with the ETag header, prompts the browser to utilize the
If-None-Match request header.
When serving df resources, we will set an ETag, which is a sha256 of the
file content for the browser to cache. When the browser wants to load a
resource a second time, it will send the ETag back via the If-None-Match
header so we can compare it to the current file's hash. If the
browser's ETag is still current, we can return 304 and save some
bandwidth. Otherwise, the full response is sent as usual.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Since content served by df.php is inherently dynamic, the server wisely
instructs clients to not cache any responses. In pratice, for Scrott,
the resources accessible by df.php are usually static, perhaps only
ocasionally appearing or disappearing.
A consequence of this is that clients have to repeatedly download
several images, often on each page load of the app. Low-bandwidth
clients will especially feel this.
This patch _explicitly_ inserts from headers into the response from
df.php which instruct the client to keep a copy of the resource for 24
hours. The idea being that resource requests will be *drastically*
reduced and if someone updates their head image (for example), that
change will take no-more-than 1 day to propagate.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
This behavior was causing issues in the UI. We normally "try" to set a
new asset by default, in case one was provided by the user, and just
soft-fail if one wasn't. This "soft-failing" is now resulting in the
images being removed if the user just goes in to change his alias (for
example).
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
... instead of the fullsized image. This guarantees a square aspect
ratio, which is nice for the user interface.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
df.php will now serve bg image thumbnails when d=thumbs. Normal access
requirements stand.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
When setting the bg image for an object, create a copy of it
(square-cropped) in dynmic/thumbs/ for display in the settings modal.
This patch provides an additional function for retriving the thumbnail's
URL as well.
This thumbnail is desirable for the sake of the UI. If we cannot make a
guarantee as to the aspect ratio of the preview images shown on the user
tab of the settings modal, these widgets may appear wrong or go off the
screen a bit on smaller devices.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
The target display size of these columns is changed to 'xs' so they
don't wrap when viewed on smaller displays.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
This is to make the user experience more uniform, but is in-part to
mitigate a bug.
Since the auto issue showing has been added, this will cause the newly
closed issue to try and come up after we advance it past the last stage.
Since we have just closed the issue, its modal is in a weird state.
This informational notice modal prevents that broken issue modal from
displaying.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
When submitting the iss-mesg-add form and reloading the page, this line
will inform the stdpage footer javascript to automatically show the
affected issue modal.
This is _really_ helpful when trying to make multiple POSTs to an issue,
as the user is not taken out of the issue modal between each POST,
requiring them to visually find it again in the list of open tickets.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
If the $_SCROTT['AUTO_MODAL'] global is defined, it will refer to a
modal's DOM ID to be shown once the page loads. Currently, an error
state will supersede this and display the notice modal instead.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Since there is little text labeling things in the navbar, I have added
popup tooltips to each button (link) and dropdown menu.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
For the Scrott alpha, there is no way for assignees to signoff their
work. As a workaround, I am now just always signing off somebody when
they close an issue. This will slightly improve the user experience for
now, but I'm leaving the real fix for the beta.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Previously, you could log into an account named "MyAccount" by entering
either "myaccount" or "MYACCOUNT" (or any other case conbination). This
patch requires logins to succeed with case-sensitive usernames.
I have also decided, that I wish to disallow duplicate usernames if the
only difference between them is case. There can only be _ONE_
"myaccount" (of any case combination), even if he's known canonically as
"MyAccount". This particular functionality is not changed by this
patch. I'm just noting it as a deliberate decision not to change, by
policy.
Note that _passwords_ always have been, and still are, case-sensitive.
They are salted and hashed before they even hit the database.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Previously, issues on pads owned by a group (rather than by a user)
would incorrectly present options for user assignment. It would show
the group as a member of the list, misleadingly with the user icon to
the left of it.
This patch uses the new agent::getContainedUsers() function to resolve
the pad's owner to an array of users accessible via the owner 'agent'.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
This function helps further abstract agents. We want to get all users
belonging to a pad that is owned by a group, or more specifically - an
agent. If this agent is a user, that user is our only user to collect.
If this agent is a group, we want to capture _it's_ owner along with all
of it's members.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
|
|
Disallow posting to closed issues. This is a temporary soultion and
will likely be reverted in the future. The main reason this is being
done now is because this form, as written, depends on an open issue
state.
To aid diff comprehension, note that most lines are only indented one
level, the code area affected is wrapped in a PHP if.
Note that form submissions are still allowed for closed issues. This
commit only disable the _displaying_ of the form.
Signed-off-by: Malf Furious <m@lfurio.us>
|
|
Signed-off-by: Malf Furious <m@lfurio.us>
|