app/soc/models/student_project.py
changeset 2573 f09f317769c4
parent 2183 4e036dcc79ba
child 2574 402e4a979e77
--- a/app/soc/models/student_project.py	Wed Jul 08 11:50:02 2009 +0200
+++ b/app/soc/models/student_project.py	Wed Jul 08 15:44:54 2009 +0200
@@ -75,13 +75,21 @@
 
   #: The status of this project
   #: accepted: This project has been accepted into the program
-  #: mid_term_passed: This project has passed the midterm evaluation
-  #: mid_term_failed: This project has failed the midterm evaluation
-  #: final_failed: This project has failed the final evaluation
-  #: passed: This project has completed the program successfully
+  #: failed: This project has failed an evaluation.
+  #: completed: This project has completed the program successfully. This
+  #:            should be set automatically when a program has been deemed
+  #:            finished.
+  #: withdrawn: This project has been withdrawn from the program by a Program
+  #:            Administrator or higher.
+  #: invalid: This project has been marked as invalid because it was deleted
   status = db.StringProperty(required=True, default='accepted',
-      choices=['accepted', 'mid_term_passed', 'mid_term_failed', 
-              'final_failed', 'passed'])
+      choices=['accepted', 'failed', 'completed', 'withdrawn', 'invalid'])
+
+  #: List of all processed GradingRecords which state a pass for this project.
+  #: This property can be used to determine how many evaluations someone has
+  #: passed. And is also used to ensure that a GradingRecord has been
+  #: processed.
+  passed_evaluations = db.ListProperty(item_type=db.Key, default=[])
 
   #: Student which this project is from
   student = db.ReferenceProperty(