Commit History

Author SHA1 Message Date
  Andrew Knox Shiels 3ef158e4b6 Moved the collaborator component up to the ProjectDetail page instead of the CanvasDetail page, as user/admin permissions and public toggle option is now a project-level feature instead of an individual canvas feature. 6 years ago
  Andrew Knox Shiels 2a349e7176 Made more fixes and added more stuff to tags. They now automatically add themselves to a canvas when an idea has its text updated in such a way as to contain the label of a tag previously not in the canvas but in the project. On creation of a tag it is added to all canvasses where it occurs. On deletion of the tag it is deleted from everywhere. 6 years ago
  Andrew Knox Shiels fe77d36e8d New canvas create was broken, fixed that. Tags automatically add themselves to a second open canvas containing the label as a substring, while they do not do the same if they do not contain the label. When a tag is removed from one canvas, it is reflected in the other by removing the link in the tag popup. Only tested with two canvasses. 6 years ago
  Andrew Knox Shiels dd85c2f8a2 Added (very untested) project functionality. Users, admins, owner are all moved from Canvas to Project. All canvasses in a project are visible to every user in the project. The same user / admin permissions required as before, but check user in project.users instead of canvas.users. Went ahead with tags existing for all canvasses in a given project (also quite untested). When a tag is created it (should) add itself to any other canvas in the project containing the label as a substring of an idea. Deletion deletes the tag object outright, it doesn't check occurrences in other canvasses. 6 years ago
  Andrew Knox Shiels 6bf5fed11e 'Resolve all comments' no longer deletes comments, instead it marks them as resolved. Added some basic CSS to distinguish resolved from unresolved. 6 years ago
  Andrew Knox Shiels 7ab33db9bc Added some basic CSS to tidy the canvas up a bit, mostly for myself, as I was tired of looking at black-and-white left-aligned text fields. Additionally added a boolean to canvas model is_ethics, true for ethics canvas and false for business canvas. If business canvas, the blocks are labelled as a business canvas's would be, with the extra uncategorised block at the bottom. Newly created canvasses have (Business) or (Ethics) at the end of the default title to show their type. For now, on the anonymous user trial of a canvas, tags and collaborators are outright disabled. 6 years ago
  Andrew Knox Shiels b2ee80a9b3 Fixed a bug where the comments weren't appearing to follow the ideas when the most recently modified idea was moved to the top of the list in its category. Deleted a redundant Vue component for comments (formerly commentListComponent). 6 years ago
  Andrew Knox Shiels 0ea5d97a3a Added anonymous user functionality. Idea addition, modification and deletion only. Collabs, tags and comments disabled. 6 years ago
  Andrew Knox Shiels 87586e8cf6 Added (online) functionality to the collaborators component where it shows a user as (online) when they log in and removes that message on logout, exception for the current user where it still shows (you) in that space. Removed redundant url mappings and html templates, as the view functions for them were converted into ordinary functions called by their respective websocket consumers. 6 years ago
  Andrew Knox Shiels ae409633cb Added <user> is typing functionality for Ideas. Tested basically with only two logged-in users. 6 years ago
  Andrew Knox Shiels 353fd6d4b5 Added channel / websocket functionality to the project. Each database-modifying function is called by an asynchronous consumer. Tested only basic operation with two different logged-in users viewing the same canvas to see that it updated both when one user changed something. 6 years ago
  Andrew Knox Shiels ff03155701 When making idea component the tag button disappeared. Put it back, moved the add/remove tag functions to the bottom of the views.py file to tidy it up a bit, and added the cardinality indicator for the comments button that I had forgotten about. Also added routing.py to the project and installed django channels in preparation for the channels portion of the project. 6 years ago
  Andrew Knox Shiels 7f2d88a9af All things now open in a vue modal component, they no longer redirect away from the page except for clicking a different canvas link in a tag. Tags should automatically remove themselves when there are no ideas containing them in the current canvas, which will only cause them to be deleted outright if they also do not occur in any other canvas. Tags still require their own view functions in python, as they're currently mixed in with the CanvasDetailView class-based view. 6 years ago
  Andrew Knox Shiels 78ec64414c Added tags. Addition, conditional creation (if doesn't exist), removal and conditional deletion(if there are no longer any canvasses with that tag). The tags are represented with Vue components, using a modal component when clicked to display the canvasses it occurs in as links. The modal component was taken from the Vue.js modal example at https://vuejs.org/v2/examples/modal.html . 6 years ago
  Andrew Knox Shiels 1bf8a0c1af Added permissions for view functions, still using login_required decorator for new_canvas for now, cannot check user in canvas.users for canvas that doesn't exist. Provisionally completed functionality for collaborators page; temporarily a separate page with views and ajax/json requests/responses for purposes of making sure they work. 6 years ago
  Andrew Knox Shiels f44a8c8504 Was continuing to work on view and on templates / JS files not knowing about any ongoing code reviews. Added comment add/remove/resolve functionality, and began work on collaborators functionality (currently under construction, only rendering current admins and users). Upon completion the permissions is next along with all TODOs that have been left. 6 years ago
  Andrew Knox Shiels 4768559724 Added comment add/remove functionality. Edit and Resolve are still TODO. 6 years ago
  Andrew Knox Shiels d561c4a831 Added div elements for Idea Categories that contain idea lists, idea creation/deletion/comment buttons. Idea still needs submit to be clicked and comments with AJAX/JSON method are still a TODO. Added is_temporary to canvas model to denote if a canvas is a temporary canvas or not, temporary canvasses are made by anonymous users and should be deleted when the session is closed (also TODO). 6 years ago
  Andrew Knox Shiels f36148571f Focused on getting AJAX JSON stuff working, so permissions still a TODO. Idea creation, editing and deletion all done using jquery AJAX POST methods with JSON returned by the Django View to the AJAX callback functions. 6 years ago
  Andrew Knox Shiels 6ea2c44436 Added 'owner' field to Canvas, began adding permission requirements via checking existence of logged-in user in the current canvas's users/admins/owner fields. 6 years ago
  Andrew Knox Shiels 5e875702c3 Added basic functionality to remove users or admins and to delete canvasses. Inserted TODOs for myself to assign permission requirements for certain view functions, the permissions being what I thought were appropriate at the time. Currently only permission required is login mixin on the CanvasList and CanvasDetailView class-based views, and a login_required decorator on the new_canvas view function. 6 years ago
  Andrew Knox Shiels 350743df15 Added idea add/remove/edit operations, comment add/remove/resolve operations, and add user to canvas. Permissions have not been created yet, nor has removal of users or canvasses, promotion / demotion of users to / from admin status. 6 years ago
  Harshvardhan Pandit 10bda0b652 Added canvas models (merge --squash) 7 years ago