aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--account/admin.py2
-rw-r--r--account/migrations/0004_auto__add_field_userprofile_sjtu_id__add_field_userprofile_sjtu_initpa.py96
-rw-r--r--account/models.py9
3 files changed, 107 insertions, 0 deletions
diff --git a/account/admin.py b/account/admin.py
index abab07f..bab242b 100644
--- a/account/admin.py
+++ b/account/admin.py
@@ -48,6 +48,8 @@ class UserProfileAdmin(admin.ModelAdmin):
'is_approved_html',
'is_sponsored_html',
'is_checkin_html',
+ 'sjtu_id',
+ 'sjtu_initpass',
)
# fields used to filter rows
list_filter = (
diff --git a/account/migrations/0004_auto__add_field_userprofile_sjtu_id__add_field_userprofile_sjtu_initpa.py b/account/migrations/0004_auto__add_field_userprofile_sjtu_id__add_field_userprofile_sjtu_initpa.py
new file mode 100644
index 0000000..e2e151b
--- /dev/null
+++ b/account/migrations/0004_auto__add_field_userprofile_sjtu_id__add_field_userprofile_sjtu_initpa.py
@@ -0,0 +1,96 @@
+# -*- coding: utf-8 -*-
+from south.utils import datetime_utils as datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+ # Adding field 'UserProfile.sjtu_id'
+ db.add_column(u'account_userprofile', 'sjtu_id',
+ self.gf('django.db.models.fields.CharField')(default='', max_length=15, blank=True),
+ keep_default=False)
+
+ # Adding field 'UserProfile.sjtu_initpass'
+ db.add_column(u'account_userprofile', 'sjtu_initpass',
+ self.gf('django.db.models.fields.CharField')(default='', max_length=10, blank=True),
+ keep_default=False)
+
+
+ def backwards(self, orm):
+ # Deleting field 'UserProfile.sjtu_id'
+ db.delete_column(u'account_userprofile', 'sjtu_id')
+
+ # Deleting field 'UserProfile.sjtu_initpass'
+ db.delete_column(u'account_userprofile', 'sjtu_initpass')
+
+
+ models = {
+ u'account.userfile': {
+ 'Meta': {'ordering': "['user', 'id']", 'object_name': 'UserFile'},
+ 'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+ 'file': ('account.extra.ContentTypeRestrictedFileField', [], {'content_types': "['application/gzip', 'application/msword', 'application/pdf', 'application/postscript', 'application/rar', 'application/vnd.ms-excel', 'application/vnd.oasis.opendocument.spreadsheet', 'application/vnd.oasis.opendocument.text', 'application/vnd.oasis.opendocument.presentation', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/wps-office.doc', 'application/wps-office.dps', 'application/wps-office.et', 'application/wps-office.ppt', 'application/wps-office.pptx', 'application/wps-office.wps', 'application/wps-office.xls', 'application/zip', 'application/x-7z-compressed', 'application/x-bzip2', 'application/x-dvi', 'application/x-latex', 'application/x-rar-compressed', 'application/x-tar', 'image/bmp', 'image/gif', 'image/jpeg', 'image/png', 'image/tiff', 'text/csv', 'text/plain', 'text/rtf', 'text/x-markdown', 'text/x-tex']", 'max_upload_size': '10485760', 'max_length': '100'}),
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'modified_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'title': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"})
+ },
+ u'account.userprofile': {
+ 'Meta': {'object_name': 'UserProfile'},
+ 'gender': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'identity': ('django.db.models.fields.CharField', [], {'max_length': '2'}),
+ 'institute': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'is_approved': ('django.db.models.fields.CharField', [], {'default': "'C'", 'max_length': '1'}),
+ 'is_checkin': ('django.db.models.fields.CharField', [], {'default': "'X'", 'max_length': '1'}),
+ 'is_sponsored': ('django.db.models.fields.CharField', [], {'default': "'C'", 'max_length': '1'}),
+ 'realname': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+ 'reason': ('django.db.models.fields.TextField', [], {}),
+ 'sjtu_id': ('django.db.models.fields.CharField', [], {'max_length': '15', 'blank': 'True'}),
+ 'sjtu_initpass': ('django.db.models.fields.CharField', [], {'max_length': '10', 'blank': 'True'}),
+ 'supplement': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+ 'transcript': ('account.extra.ContentTypeRestrictedFileField', [], {'content_types': "['application/gzip', 'application/msword', 'application/pdf', 'application/postscript', 'application/rar', 'application/vnd.ms-excel', 'application/vnd.oasis.opendocument.spreadsheet', 'application/vnd.oasis.opendocument.text', 'application/vnd.oasis.opendocument.presentation', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/wps-office.doc', 'application/wps-office.dps', 'application/wps-office.et', 'application/wps-office.ppt', 'application/wps-office.pptx', 'application/wps-office.wps', 'application/wps-office.xls', 'application/zip', 'application/x-7z-compressed', 'application/x-bzip2', 'application/x-dvi', 'application/x-latex', 'application/x-rar-compressed', 'application/x-tar', 'image/bmp', 'image/gif', 'image/jpeg', 'image/png', 'image/tiff', 'text/csv', 'text/plain', 'text/rtf', 'text/x-markdown', 'text/x-tex']", 'max_upload_size': '10485760', 'null': 'True', 'max_length': '100', 'blank': 'True'}),
+ 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']", 'unique': 'True'})
+ },
+ u'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ u'auth.permission': {
+ 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ u'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
+ 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
+ },
+ u'contenttypes.contenttype': {
+ 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ }
+ }
+
+ complete_apps = ['account'] \ No newline at end of file
diff --git a/account/models.py b/account/models.py
index 0565731..62276b8 100644
--- a/account/models.py
+++ b/account/models.py
@@ -91,6 +91,11 @@ class UserProfile(models.Model):
choices=SPONSORED_STATUS, default='C')
is_checkin = models.CharField(_("Is checkin"), max_length=1,
choices=CHECKIN_STATUS, default='X')
+ # student id & initial password provided by sjtu jwc
+ sjtu_id = models.CharField(_("SJTU student ID"),
+ max_length=15, blank=True)
+ sjtu_initpass = models.CharField(_("SJTU initial password"),
+ max_length=10, blank=True)
class Meta:
verbose_name = _('user profile')
@@ -202,6 +207,8 @@ class UserProfile(models.Model):
'reason': self._meta.get_field_by_name('reason')[0].verbose_name,
'transcript': self._meta.get_field_by_name('transcript')[0].verbose_name,
'supplement': self._meta.get_field_by_name('supplement')[0].verbose_name,
+ 'sjtu_id': self._meta.get_field_by_name('sjtu_id')[0].verbose_name,
+ 'sjtu_initpass': self._meta.get_field_by_name('sjtu_initpass')[0].verbose_name,
'is_approved': self._meta.get_field_by_name('is_approved')[0].verbose_name,
'is_sponsored': self._meta.get_field_by_name('is_sponsored')[0].verbose_name,
'is_checkin': self._meta.get_field_by_name('is_checkin')[0].verbose_name,
@@ -229,6 +236,8 @@ class UserProfile(models.Model):
'reason': self.reason,
'transcript': transcript,
'supplement': self.supplement,
+ 'sjtu_id': self.sjtu_id,
+ 'sjtu_initpass': self.sjtu_initpass,
'is_approved': self.get_approved_value(),
'is_sponsored': self.get_sponsored_value(),
'is_checkin': self.get_checkin_value(),