summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2021-09-27Preserve whitespace in ticket messagesMalfurious1-3/+2
Signed-off-by: Malfurious <m@lfurio.us>
2021-09-27pad: Add link to pad ownerMalfurious3-0/+29
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>
2019-04-13Scrott v0.4v0.4Malf Furious1-1/+1
Signed-off-by: Malf Furious <m@lfurio.us>
2019-03-24Merge branch 'feature/cache-df'Malf Furious1-0/+17
2019-03-24Employ df cache validation using HTTP ETag headerMalf Furious1-7/+17
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>
2019-03-23Instruct client to cache df.php resourcesMalf Furious1-1/+8
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>
2019-03-22Merge branch 'bg-thumbnail'Malf Furious5-12/+52
2019-03-21Don't remove bg image if it fails to setMalf Furious1-7/+3
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>
2019-03-21Track thumbs dynmic directoryMalf Furious1-0/+3
Signed-off-by: Malf Furious <m@lfurio.us>
2019-03-21Show thumbnail for object bg previewMalf Furious1-1/+1
... 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>
2019-03-21Update df.php to serve thumbnailsMalf Furious1-0/+4
df.php will now serve bg image thumbnails when d=thumbs. Normal access requirements stand. Signed-off-by: Malf Furious <m@lfurio.us>
2019-03-21Remove old contentMalf Furious2-106/+0
Signed-off-by: Malf Furious <m@lfurio.us>
2019-03-21Fix misspellings in READMEMalf Furious1-2/+2
Signed-off-by: Malf Furious <m@lfurio.us>
2019-03-21Update bg image functions to implement an image thumbnailMalf Furious1-10/+47
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>
2019-03-20Tweak setting modal image columnsMalf Furious1-1/+1
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>
2019-01-12Merge branch 'rel/v0.3'v0.3Malf Furious4-13/+52
2019-01-12Display confirmation message when closing issue by advancing itMalf Furious1-0/+1
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>
2019-01-12Automatically show updated issues on page reloadMalf Furious1-0/+3
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>
2019-01-12Add rudimentary system for launching a modal on page loadMalf Furious2-0/+30
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>
2019-01-12Add tooltips to navbar buttonsMalf Furious1-7/+7
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>
2019-01-12Automatically signoff assignee when closing issueMalf Furious1-0/+2
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>
2019-01-12Define stricter username policyMalf Furious1-5/+8
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>
2019-01-12Bump version numberMalf Furious1-1/+1
Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-10Merge branch 'rel/v0.2'v0.2Malf Furious15-41/+263
2018-11-10Update READMEMalf Furious1-5/+7
Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-10Bump version numberMalf Furious1-1/+1
Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-10Add 'No issues' message to empty closed issue listMalf Furious1-0/+4
Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-10Merge branch 'bug/opt-assign-to-grp' into devMalf Furious4-3/+32
2018-11-10Add 'No issues' message to empty stage list itemsMalf Furious1-0/+4
Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-10Fix bug in assignee selectionMalf Furious1-3/+5
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>
2018-11-10Add function agent::getContainedUsers()Malf Furious3-0/+27
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>
2018-11-05Merge branch 'feature/view-closed-issues' into devMalf Furious6-46/+141
2018-11-05Only display 'iss-mesg-add' form for open issuesMalf Furious1-42/+44
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>
2018-11-05Add link to closed issues viewMalf Furious1-3/+9
Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-05Add pad closed issues viewMalf Furious3-1/+70
This view is routable from app/<pad_guid>/closed. It is a separate view for displaying the closed issues of a pad. index.php as well as the pad model code is also updated to support this view. This view currently *does not* support paging. This will very likely be added in the future. Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-05Add function pad::getClosedIssues_ordByClosed()Malf Furious1-0/+18
This returns an array of all issues which directly parent the pad object. These are the pad's closed issues. Most recently closed issues are first in the array. Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-05Fix bug in 'iss-mesg-add' form handlerMalf Furious1-1/+1
When closing issues, we were using a malformed format string. The 's' from the '%s' was missing. Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-05Return code 404 when displaying the 404 pageMalf Furious1-0/+1
To be more compliant with the HTTP standard, we will _actually_ return '404 Not Found' status when we decide to show the 404 view. A status of '200 OK' is misleading and incorrect. Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-04Merge branch 'feature/assign-issue' into devMalf Furious2-0/+44
2018-11-04Implement 'add assignee' form handlerMalf Furious1-0/+18
The 'iss-mesg-add' form now handles when the 'assIssue' submission is sent. This is the only submission of this form that looks at the (usually hidden) 'assignee' dropdown field, which has been made a required field however. Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-04Add user interface for issue assignmentMalf Furious1-0/+26
This allows users to add assignees when posting to an issue. A dropdown is revealed which contains the pad owner and all members. Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-01Merge branch 'feature/adv-issue' into devMalf Furious2-12/+46
2018-11-01Implement iss-mesg-add 'advIssue' submissionMalf Furious1-1/+22
Handler now includes logic for optionally advancing the issue through the pipeline. If this happens, 'closeIssue' (for example) will not be checked, as only one submission can be used. Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-01Fix 'closeIssue' form submissionMalf Furious1-0/+6
I was failing to assert user has modify permissions for the issue. Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-01Make issue reply message optionalMalf Furious1-8/+11
The 'iss-mesg-add' form will now allow a mesg to be omitted, since it will also be handling other events. These events are part of the same form since the UI allows users to post a message and trigger these other actions at the same time. We now only create a mesg object if a mesg is given. Note that an attachment requires a message. IE: any attachment is ignored if no message is created. Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-01Add advance button to issue message formMalf Furious1-0/+4
If this submit button is used, the message will be posted as usual, then the issue will be moved to the next stage in the pipeline. Signed-off-by: Malf Furious <m@lfurio.us>
2018-11-01Update issue message submit buttonsMalf Furious1-4/+4
I'm going to be adding another button down here in the btn-group (more later). So to make room, I'm removing the text on these buttons, leaving only the icons. The text will instead be a tooltip, visible when the button is hovered. In the case of the 'Close issue' button, it is changed from btn-success to btn-default. I will tweak colors once this portion of the UI matures. For now, I don't want the rainbow in my face. Signed-off-by: Malf Furious <m@lfurio.us>
2018-10-31Merge branch 'bug/more-image-mimes' into devMalf Furious2-6/+15
2018-10-31Fix bug in image supportMalf Furious2-10/+13
Adds 'image/x-ms-bmp' as an allowed mimetype for images, and is equivalent to 'image/bmp'. The image module is also updated to expect this new type. I found an image of mine that, when uploaded, PHP thought was 'image/bmp', so it was allowed. However, when cropping, PHP though it was 'image/x-ms-bmp' and failed to lookup a loading/writing function. Signed-off-by: Malf Furious <m@lfurio.us>
2018-10-31Add bmp image supportMalf Furious2-0/+3
Adds 'image/bmp' as an allowed mimetype for images. The image module is also updated to expect this new type. Signed-off-by: Malf Furious <m@lfurio.us>