Skip to content
Snippets Groups Projects
Commit b95a2a69 authored by robinwilliam.hundt's avatar robinwilliam.hundt
Browse files

Active assignments are more aggressively cleared

Also, there is no annoying reload upon logout anymore
parent f5011eb1
No related branches found
No related tags found
1 merge request!123Resolve "Remove unfinished Assignments from Tutors/Reviewers"
...@@ -41,11 +41,9 @@ import RouteChangeConfirmation from '@/components/submission_notes/RouteChangeCo ...@@ -41,11 +41,9 @@ import RouteChangeConfirmation from '@/components/submission_notes/RouteChangeCo
import { getters } from '@/store/getters' import { getters } from '@/store/getters'
function onRouteEnterOrUpdate (to, from, next) { function onRouteEnterOrUpdate (to, from, next) {
if (to.name === 'subscription') { Subscriptions.changeActiveSubscription(to.params['pk']).then(() => {
Subscriptions.changeActiveSubscription(to.params['pk']).then(() => { next()
next() })
})
}
} }
export default { export default {
...@@ -88,7 +86,10 @@ export default { ...@@ -88,7 +86,10 @@ export default {
if (to.name === 'subscription-ended') { if (to.name === 'subscription-ended') {
next() next()
} else { } else {
this.nextRoute = next this.nextRoute = () => {
Subscriptions.removeActiveSubscription()
next()
}
} }
}, },
methods: { methods: {
......
...@@ -78,8 +78,6 @@ function logout ( ...@@ -78,8 +78,6 @@ function logout (
} }
router.push({ name: 'login' }, () => { router.push({ name: 'login' }, () => {
resetState({ message }) resetState({ message })
// there should be a better way to solve the issue of resetting the once() function used in subscription module
router.go(0)
}) })
} }
......
...@@ -144,6 +144,7 @@ function POP_ASSIGNMENT_FROM_QUEUE (state: SubscriptionsState): void { ...@@ -144,6 +144,7 @@ function POP_ASSIGNMENT_FROM_QUEUE (state: SubscriptionsState): void {
} }
function RESET_STATE (state: SubscriptionsState): void { function RESET_STATE (state: SubscriptionsState): void {
Object.assign(state, initialState()) Object.assign(state, initialState())
subscribeToAll.reset()
} }
async function subscribeTo ( async function subscribeTo (
...@@ -217,20 +218,21 @@ async function deleteActiveAssignments ({ state }: BareActionContext<Subscriptio ...@@ -217,20 +218,21 @@ async function deleteActiveAssignments ({ state }: BareActionContext<Subscriptio
})) }))
} }
async function changeActiveSubscription ({ state }: BareActionContext<SubscriptionsState, RootState>, subscriptionPk = '') { async function changeActiveSubscription ({ state }: BareActionContext<SubscriptionsState, RootState>, subscriptionPk = '') {
if (subscriptionPk !== state.activeSubscriptionPk) { if (subscriptionPk === state.activeSubscriptionPk) {
await Subscriptions.deleteActiveAssignments() return
Subscriptions.SET_ACTIVE_SUBSCRIPTION_PK(subscriptionPk) }
let assignmentsPromises = await Subscriptions.getAssignmentsForActiveSubscription(MAX_NUMBER_OF_ASSIGNMENTS) await Subscriptions.deleteActiveAssignments()
let createdAssignments = [] Subscriptions.SET_ACTIVE_SUBSCRIPTION_PK(subscriptionPk)
// TODO refactor this since it's very bad to await promises in for loops let assignmentsPromises = await Subscriptions.getAssignmentsForActiveSubscription(MAX_NUMBER_OF_ASSIGNMENTS)
let createdAssignments = []
// TODO refactor this since it's very bad to await promises in for loops
for (let promise of assignmentsPromises) { for (let promise of assignmentsPromises) {
try { try {
createdAssignments.push(await promise) createdAssignments.push(await promise)
} catch (_) {} } catch (_) {}
}
Subscriptions.SET_ASSIGNMENT_QUEUE(createdAssignments)
} }
Subscriptions.SET_ASSIGNMENT_QUEUE(createdAssignments)
} }
async function removeActiveSubscription () { async function removeActiveSubscription () {
await Subscriptions.deleteActiveAssignments() await Subscriptions.deleteActiveAssignments()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment