summaryrefslogtreecommitdiffstats
path: root/app/model (follow)
AgeCommit message (Collapse)AuthorFilesLines
2021-10-20Add UI for explicit issue signoffMalfurious1-0/+12
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>
2021-10-18Keep issue modal open after closing an issueMalfurious2-3/+8
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>
2021-10-18Automatically call-up issue modal for newly-opened issuesMalfurious1-1/+1
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>
2021-10-18Add additional info / controls to issueListItemMalfurious1-1/+3
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>
2021-09-27Fix bug with login page signup formMalfurious1-0/+2
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>
2021-09-27pad: Add link to pad ownerMalfurious1-0/+15
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-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-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-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>
2018-11-05Merge branch 'feature/view-closed-issues' into devMalf Furious1-0/+2
2018-11-05Add pad closed issues viewMalf Furious1-0/+2
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-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-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-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-10-26settings: Add log event when admin alters global settingsMalf Furious1-0/+2
Signed-off-by: Malf Furious <m@lfurio.us>
2018-10-26user: Add log events for some basic user mgmtMalf Furious1-0/+5
Signed-off-by: Malf Furious <m@lfurio.us>
2018-10-26issue: Add logging events for issue open and closeMalf Furious2-0/+2
Signed-off-by: Malf Furious <m@lfurio.us>
2018-10-25issue: Implement form handler iss-mesg-addMalf Furious1-0/+57
Submissions to the iss-mesg-add form are now handled by this function. User must be logged in and permitted to post to the issue in question. Signed-off-by: Malf Furious <m@lfurio.us>
2018-10-23Fix bug in various form handlersMalf Furious2-4/+24
Some form handlers use the current logged in user (user::getCurrent()), however do so without asserting that we are _actually_ logged in. This is probably due to that fact that index.php (usually) catches all page requests that are logged out and diverts control before any other handler can be invoked. But a few handlers sneak through the cracks. In the future, the app will be better about supportting logged out browsing, the alpha was not written with this in the forground. Signed-off-by: Malf Furious <m@lfurio.us>
2018-10-23datamods: Implement new issue modal form handlerMalf Furious1-0/+38
POSTs to the dm-issue-add form are handled by this new handler. Pad data is passed via the form, we create the new issue in the pad's first stage, crediting the current logged in user. New issue is unassigned. I call `location()` at the bottom, since not doing so leaves the page in a weird state. The reason being that most of the page rendering logic operates off of the 'pageObj', which is instanciated and assigned prior to the invocation of this handler. This is to be fleshed-out during the v0.2-v0.3 development iteration. Signed-off-by: Malf Furious <m@lfurio.us>
2018-10-22pad: Render issue modals on pad viewMalf Furious1-0/+8
This logic instanciates an issue modal view for each issue to be accessable from a pad view.
2018-09-25group: Add group page viewMalf Furious1-0/+20
2018-09-23settings: Implement admin tab form handlerMalf Furious1-0/+40
2018-09-21deleteaccount: Implement form handlerMalf Furious1-0/+47
2018-09-20Add start of single-pad viewMalf Furious1-0/+21
2018-09-19datamods: Add default stages to new padsMalf Furious1-0/+6
As a convenience, I'm adding a basic set of stages to new pads. These stages are "To Do", "In Progress" ('Done' being closed issues). This implements a very simple workflow for new pads.
2018-09-19settings: Implement user tab form submissionMalf Furious1-0/+102
2018-09-16Add object background preview widgetMalf Furious1-0/+40
Similar to objHeadCircle() but for displaying a bg img on page, rather than as the actual background.
2018-09-15Implement dm-pad-add form handlerMalf Furious1-0/+27
2018-07-26Add group/pad list itemMalf Furious2-0/+79
UI module to use when listing out groups and pads. These will link to the group/pad page and display information about the object.
2018-07-22Fix bug with login handlerMalf Furious1-1/+1
Now reloading current path after successful login, instead of redirecting to app-root.
2018-07-21Add new group modal view/model codeMalf Furious1-0/+32
2018-07-20Add the notice modalMalf Furious1-0/+40
2018-02-09Add login modelMalf Furious1-0/+92
2017-07-06Remove unused global declarationMalf Furious1-2/+0
2017-06-27Add dbconfig model codeMalf Furious1-0/+44
2016-10-22Deprecate application codeMalf Furious9-944/+0
Setup to perform an iteration of development focused on a simpler implementation and eliminating redundancy in design.
2016-09-18Add form submission handler for group settings tabMalf Furious1-0/+80
2016-06-12Add group tab to setting modalMalf Furious1-0/+10
Created empty <div> for the group setting tab. Also added code to the common model for initializing the $mod->group variable and setting a flag marking what tabs to include in the setting modal (group tab in this case). Added logic to the main setting modal view file for picking up these flags and including appropriate additional content.
2016-06-12Move initialization logic from Obj model into Common modelMalf Furious2-7/+13
Some logic to initialize the current system object, its owner, and members has been moved into the Common model since this code will be relevant to other views and to support a new feature being added to display additional tabs in the setting modal box.
2016-06-12Add functions to Common model for assigning CSS to setting tabsMalf Furious1-0/+30
The setting modal window will need to support showing unknown tabs at the beginning of the tab list. These functions handle assigning specific CSS classes to tab-panes ONLY if that tab will appear in the left-most position in the modal's tab list.
2016-06-11Rename variableMalf Furious1-3/+3
In the Obj MVC, rename group in the model to obj. This will help with referencing the active object from template views without knowing what type of object it is.
2016-06-08Start design for group viewMalf Furious1-0/+2
2016-06-08Create blank view for groupsMalf Furious1-0/+8
Finish initializing the Obj MVC by writing an empty view/action for groups.
2016-06-08Add new MVC, 'Obj'Malf Furious1-0/+23
This MVC will be used to browse scrott datastructures.
2016-06-01Implement add group form handlerMalf Furious1-0/+20
Added handler function to common model to create new use groups from the modal view.
2016-05-27Add copyright notice to Scrott model filesMalf Furious8-0/+112