Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

literature tag conflict resolution view #734

Merged
merged 28 commits into from
Nov 22, 2022

Conversation

munnsmunns
Copy link
Collaborator

@munnsmunns munnsmunns commented Nov 15, 2022

Add view for resolving literature tag conflicts.

Todos/issues:

  • Creates a lot of queries due to being unable to prefetch tag names
  • Should the api endpoint ignore non-htmx requests or handle them differently?
  • Tagging a reference that already has tags would replace the existing tags, no option to add to the tags instead
  • When adding tags after a conflict has already been resolved, the resolved user tags are shown as well as the unresolved ones

Reference with some conflicting tags, and some the same:
image

Reference with existing tags, and a new tag being applied by a user:
image

@shapiromatron shapiromatron changed the title Conflict-res-view Resolve literature tag conflict resolution view Nov 17, 2022
@munnsmunns munnsmunns changed the title Resolve literature tag conflict resolution view literature tag conflict resolution view Nov 17, 2022
@shapiromatron shapiromatron marked this pull request as ready for review November 18, 2022 17:04
@shapiromatron shapiromatron marked this pull request as draft November 18, 2022 17:32
@rabstejnek
Copy link
Collaborator

Added a new filter that allows a user to choose which tag types to filter against:

image

This new filter has been added to existing reference filter forms, along with the new filter form on the conflict resolution view:

Collapsed filter form Expanded filter form
image image

Note: on filter forms where conflict resolution is not enabled for an assessment, this new filter is disabled:

Reference search filter form where conflict resolution is not enabled
image

@rabstejnek rabstejnek marked this pull request as ready for review November 20, 2022 10:06
user_tag_id = request.POST.get("user_tag_id")
ref.resolve_user_tag_conflicts(user_tag_id)
template = "lit/_conflict_resolved.html"
except Exception:
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

global catch all exceptions are generally a pattern we should avoid if possible

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I simplified this to just throw 403 or 404 instead of nicely showing exceptions - these issues wouldn't be shown by users in general

@shapiromatron shapiromatron merged commit 1d72b03 into literature-conflict-resolution Nov 22, 2022
@shapiromatron shapiromatron deleted the conflict-res-view branch November 22, 2022 17:11
shapiromatron added a commit that referenced this pull request Nov 22, 2022
* Literature Conflict Resolution Database Models (#708)

* database models

* reorder

* updates to database models

* reorganize views

* update form url

* update admin

* fix user reference tags

* fix tests

* fix integration test

* no message

* fix broken build

Co-authored-by: Andy Shapiro <shapiromatron@gmail.com>

* Create UserReferenceTag objects (#716)

* Save user reference tag object when tags are changed

* revert unused changes

* add conflict resolution case in update_tags

* add assessment for testing conflict resolution

* fix tests

* remove unused import

* add test

* add prefetch

* lint

* Add resolved field to user tags and has_conflict property to refs

* updates from review

* tune database

* restore all API actions

* change argument order

Co-authored-by: Andy Shapiro <shapiromatron@gmail.com>

* Reorganize Screening Page Layout (#714)

* redo screening page layout

* move remove all tags btn

* updates

* integration test

* updates

* use mobx for slideAway

* show full tag toggle

* prop validation

* add screening instructions

* instructions updates

* style changes

* keyword highlighting

* lint

* undo style change addressed in #726

* fix for no references

* updates

* fix padding for prime flavor

* random updates

* fix linting

* use LocalStorage class to handle these

* apply highlighting to title

* pull out of class to make function

* rename to string instead of int-looking string

* fix n+1 query issue

* fix common edge case where there are no keywords

Co-authored-by: Andy Shapiro <shapiromatron@gmail.com>

* Stub new lit views (#721)

* stub new lit views

* format

* minor updates

Co-authored-by: Andy Shapiro <shapiromatron@gmail.com>

* hover tag animation (#731)

* change tag hover style

* minor animation and padding tweaks

* change to gray

* frontend lint fix?

* tests fix

>

* update github-actions (#730)

* update backend

* update action versions

* try using built-in postgres

* add debugging

* fix statement

* add settings

* fix? run on main/next branch anytime

* cleanup/standardize

* fix yarn cache dir

* Tagging filters (#736)

* Make universal tagging view w/ filter form

* Combine tagging views

* Removed v2 from current implementation

* Removed path for deleted view

* Formatted js files

* Fix tests

* Fix query parameters

* Updated reference search page with changes to reference filterset

* improve queryset performance; reorder form

* fix css when abstracts are short

* use args instead of kwargs for simple reverse statements

Co-authored-by: Andy Shapiro <shapiromatron@gmail.com>

* User tag screening (#735)

* Make universal tagging view w/ filter form

* add user tag distinction to screening view

* lint

* Combine tagging views

* Removed v2 from current implementation

* Removed path for deleted view

* Formatted js files

* Fix tests

* Fix query parameters

* Updated reference search page with changes to reference filterset

* style and test fix

* updates

* improve queryset performance; reorder form

* fix css when abstracts are short

* use args instead of kwargs for simple reverse statements

* remove prefetch

Co-authored-by: Daniel Rabstejnek <rabstejnek@gmail.com>
Co-authored-by: Andy Shapiro <shapiromatron@gmail.com>

* literature tag conflict resolution view (#734)

* Add view/template from wf

* make conflict resolution view display tag conflicts correctly

* remove tags diff highlighting for fewer queries

* add api endpoint for and hx-post for resolving conflict

* wip fix resolve_user_tag_conflicts method

* add form tag and hx-target

* create reference conflict template

* refine view and css

* add template rendering to api endpoint

* add reference tags to view (if they exist)

* remove unnecessary method

* change tag style

* add tag diffs

* fix view inheritance

* remove column for frontend filter

* add distinct to queryset

* style updates

* Added filter form to conflict resolution view, added filter for choosing tag types to filter against, updated other filter forms with new filter

* updates

* remove queryset additions

* cleanup css

* update css

* updates from final review

* lint

Co-authored-by: casey1173 <caseyhansen1999@gmail.com>
Co-authored-by: Daniel Rabstejnek <rabstejnek@gmail.com>
Co-authored-by: Andy Shapiro <shapiromatron@gmail.com>

* Reference List Overflow (#738)

* Add view/template from wf

* make conflict resolution view display tag conflicts correctly

* remove tags diff highlighting for fewer queries

* add api endpoint for and hx-post for resolving conflict

* wip fix resolve_user_tag_conflicts method

* add form tag and hx-target

* create reference conflict template

* refine view and css

* add template rendering to api endpoint

* add reference tags to view (if they exist)

* remove unnecessary method

* change tag style

* add tag diffs

* fix view inheritance

* remove column for frontend filter

* add distinct to queryset

* style updates

* fix for reference overflow

* revert merge diffs

* remove height

* take 2?

* fix edge case with tags

Co-authored-by: munnsmunns <mmunns16@gmail.com>
Co-authored-by: Andy Shapiro <shapiromatron@gmail.com>

Co-authored-by: Casey Hansen <42587248+casey1173@users.noreply.github.com>
Co-authored-by: Matt Munns <mmunns16@gmail.com>
Co-authored-by: Daniel Rabstejnek <rabstejnek@gmail.com>
Co-authored-by: casey1173 <caseyhansen1999@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants