Project

General

Profile

Σφάλματα #132

Γραμμή μάθησης - Φραγή πόρων

Added by Yannis Exidaridis over 6 years ago. Updated about 6 years ago.

Status:
Επιλυμένο
Priority:
Υψηλή
Assignee:
-
Target version:
Start date:
18/02/2014
Due date:
% Done:

0%

Estimated time:

Description

Η φραγή δεν φαίνεται να λειτουργεί σωστά. Αν γίνει φραγή σε κάποιο πόρο τότε δεν προχωράει η γραμμή μάθησης καθόλου (από τη πλευρά του χρήστη).

History

#1

Updated by Thanos Kyritsis over 6 years ago

Γιάννη, δες λίγο το changeset a175efb342d3 (και εδώ) και κάνε το upgrade στο σχήμα της βάσης αν χρειάζεται. Η διόρθωση αυτή νομίζω λύνει το πρόβλημα.

#2

Updated by Yannis Exidaridis over 6 years ago

Θέλει μια διόρθωση στα if .. or .. and της συνθήκης που ελέγχει πότε είναι blocked ο πόρος.

Στο http://hg.gunet.gr/openeclass/rev/d0dc2253a5d9

η σωστή συνθήκη είναι

if (($module['lock'] == 'CLOSE')
and ($module['credit'] != 'CREDIT'
or ($module['lesson_status'] != 'COMPLETED' and $module['lesson_status'] != 'PASSED'))) {

.........

}

Φαίνεται να δουλεύει σωστά. θα το ελέγξω λίγο ακόμα..

#3

Updated by Thanos Kyritsis over 6 years ago

ΟΚ, πρόσεξε όμως μην ξαναπέσεις στο bug του Issue #108. Εκεί το πρόβλημα εμφανιζόταν όταν υπήρχαν πολλές φραγές: έφτανε μια κατάσταση που μπορούσες όντως να ξεπεράσεις την 1η φραγή (λόγων των εξαιρέσεων του IF), να είσαι στα ενδιάμεσα modules και μόλις πατήσεις στη 2η φραγή συμπεριφερόταν αλλόκοτα στο UI.

Γι' αυτό και είχα ξηλώσει όλο εκείνο το τεράστιο IF και κράτησα τη φραγή να κάνει κάτι, όσο πιο απλό και λογικό γίνεται. Δηλαδή περίπου ό,τι και το visibility, σαν να έχουμε 2 επίπεδα visibility. Αυτές οι εξαιρέσεις τύπου $module['lesson_status'] 'COMPLETED' και $module['lesson_status'] 'PASSED' μου φαίνεται πως εισάγουν πολυπλοκότητα που δεν αρκούν μόνο αυτά τα if για να τη διαχειριστούν, ίσως χρειάζεται επιπλέον κώδικας για handling.

#4

Updated by Yannis Exidaridis about 6 years ago

  • Status changed from Νέα to Επιλυμένο

Επιλύθηκε.

Also available in: Atom PDF