X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=blobdiff_plain;f=portal%2Fmodels.py;h=65c97bc4d82fa0d7d543db0ec48b9ec9e9faf242;hp=3c950a6fd6a350bd43c86816f1f6b1d5b123b45a;hb=0d118a5f600b06616c2841e92642a303d8785269;hpb=7fffd547ac72989d431284a4720eb91233c6162a diff --git a/portal/models.py b/portal/models.py index 3c950a6f..65c97bc4 100644 --- a/portal/models.py +++ b/portal/models.py @@ -20,9 +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 -from .validators import validate_email +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. @@ -33,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.EmailField(validators=[validate_email]) - 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)