X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fmodels.py;h=65c97bc4d82fa0d7d543db0ec48b9ec9e9faf242;hb=895077c501dd3a8f950f4a8d45f6e26c04a84b87;hp=79cb25d307ce500d7ef31028f3be33969b8c967e;hpb=4ee78b17e6c8bb54fc94bcddd6b0abb3d8c1a0fc;p=myslice.git diff --git a/portal/models.py b/portal/models.py index 79cb25d3..65c97bc4 100644 --- a/portal/models.py +++ b/portal/models.py @@ -20,7 +20,32 @@ # this program; see the file COPYING. If not, write to the Free Software # Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -from django.db import models +import datetime +import hashlib +import random +import re + +from django.conf import settings +from django.core.mail import send_mail +from django.db import models +from django.db import transaction +from django.utils.translation import ugettext_lazy as _ +from django.template.loader import render_to_string + +#from django.core.validators import validate_email + +try: + from django.contrib.auth import get_user_model + User = get_user_model() +except ImportError: + from django.contrib.auth.models import User + +try: + from django.utils.timezone import now as datetime_now +except ImportError: + datetime_now = datetime.datetime.now + +SHA1_RE = re.compile('^[a-f0-9]{40}$') # Create your models here. @@ -31,12 +56,40 @@ class Institution(models.Model): class PendingUser(models.Model): # NOTE We might consider migrating the fields to CharField, which would # simplify form creation in forms.py - first_name = models.TextField() - last_name = models.TextField() - email = models.TextField() - password = models.TextField() - keypair = models.TextField() - # institution + first_name = models.TextField() + last_name = models.TextField() + email = models.EmailField() #validators=[validate_email]) + password = models.TextField() + keypair = models.TextField() + authority_hrn = models.TextField() + login = models.TextField() + pi = models.TextField() + created = models.DateTimeField(auto_now_add = True) + # models.ForeignKey(Institution) +class PendingAuthority(models.Model): + site_name = models.TextField() + site_authority = models.TextField() + site_abbreviated_name = models.TextField() + site_url = models.TextField() + site_latitude = models.TextField() + site_longitude = models.TextField() + address_line1 = models.TextField() + address_line2 = models.TextField() + address_line3 = models.TextField() + address_city = models.TextField() + address_postalcode = models.TextField() + address_state = models.TextField() + address_country = models.TextField() + # parent authority of the requested authority + authority_hrn = models.TextField() + created = models.DateTimeField(auto_now_add = True) + class PendingSlice(models.Model): - slice_name = models.TextField() + slice_name = models.TextField() + user_hrn = models.TextField() + authority_hrn = models.TextField(null=True) + number_of_nodes = models.TextField(default=0) + type_of_nodes = models.TextField(default='NA') + purpose = models.TextField(default='NA') + created = models.DateTimeField(auto_now_add = True)