Skip to content

Commit

Permalink
added landing page with options to register, enter as guest, or log in
Browse files Browse the repository at this point in the history
  • Loading branch information
trey0 committed Oct 21, 2011
1 parent c12becf commit ba1e2ad
Show file tree
Hide file tree
Showing 11 changed files with 906 additions and 7 deletions.
1 change: 1 addition & 0 deletions geocamCore/baseSettings.py
Expand Up @@ -100,6 +100,7 @@
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
# 'debug_toolbar.middleware.DebugToolbarMiddleware',
'geocamUtil.middleware.SecurityMiddleware',
'geocamUtil.middleware.LogErrorsMiddleware',
Expand Down
99 changes: 99 additions & 0 deletions geocamCore/forms.py
Expand Up @@ -3,3 +3,102 @@
# the Administrator of the National Aeronautics and Space Administration.
# All Rights Reserved.
# __END_LICENSE__

import logging

# Load libraries needed for handling forms
from django import forms
from django.forms import ModelForm
from django.contrib.auth.forms import UserCreationForm

# Load models needed for forms
from django.contrib.auth.models import User
from django.contrib.auth.models import Group

from geocamCore.models import UserProfile
from geocamCore.models import GroupProfile
#from geocamCore.models import GroupInvite
from geocamFolder.models import Folder, Actions

logger = logging.getLogger(__name__)


class GroupForm(ModelForm):
group_password1 = forms.CharField(max_length=100, required=False)
group_password2 = forms.CharField(max_length=100, required=False)

def save(self, commit=True):
group = super(GroupForm, self).save(commit=True)

if commit:
group.save()

# Create and save the group profile
group_profile = GroupProfile()
group_profile.group = group

# Need to add validation for the password fields
if len(self.cleaned_data['group_password1']) > 0:
group_profile.set_password(self.cleaned_data['group_password1'])

group_profile.save()

# Now we need to actually create folders
private_folder = Folder()
private_folder.name = '%s Private' % group.name
private_folder.notes = 'This folder is private to the %s group' % group.name
private_folder.save()

# Give users in this group read and write access to it
private_folder.setPermissions(group, Actions.WRITE)
private_folder.save()

# Now we need to create the public folder for this group
public_folder = Folder()
public_folder.name = '%s Public' % group.name
public_folder.notes = 'This folder is publically viewable and writable memebers of the %s group' % group.name
public_folder.save()

# Give any user the ability to read this folder
anyuser = Group.objects.get(name="anyuser")
public_folder.setPermissions(anyuser, Actions.READ)

# Give this group read and write access
public_folder.setPermissions(group, Actions.WRITE)
public_folder.save()

return (group, group_profile, public_folder, private_folder)

return group

class Meta:
model = Group


class UserDataForm(ModelForm):
class Meta:
model = User
fields = ('first_name', 'last_name', 'email')


class ProfileForm(ModelForm):
class Meta:
model = UserProfile
fields = ('contactInfo', 'homeOrganization', 'homeJobTitle')


class ExtendedUserCreationForm(UserCreationForm):
def __init__(self, *args, **kwargs):
super(ExtendedUserCreationForm, self).__init__(*args, **kwargs)
self.fields['first_name'].required = True
self.fields['last_name'].required = True

class Meta:
model = User
fields = ('username', 'email', 'first_name', 'last_name')

def save(self, commit=True):
user = super(ExtendedUserCreationForm, self).save(commit=True)
if commit:
user.save()
return user
16 changes: 16 additions & 0 deletions geocamCore/static/geocamCore/css/base-phone.css
@@ -0,0 +1,16 @@
table.geocam_table input {
width:94%;
}

div#content_wrapper {
position:fixed;
bottom:34px;
width:100%;
top:48px;
}

.home_icon {
padding:0;
background-size:50%;
min-height:50px;
}
3 changes: 3 additions & 0 deletions geocamCore/static/geocamCore/css/base-tablet.css
@@ -0,0 +1,3 @@
table.geocam_table input {
width:97%;
}

0 comments on commit ba1e2ad

Please sign in to comment.