summaryrefslogtreecommitdiff
path: root/tools/mmd/MmdCommands.py
blob: 0ac98da85e4f9b932a2a846debc796b53cb4470c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
"""
command methods for MURSAT1 Mission Dashboard
"""

from cgi import parse_qs, escape
from mmd.MmdWidgets import *
from mmd.MmdUser import User

def loginForm (session):
  """
  display the login form
  """
  return indexWidget (dataWidget (), loginFormWidget (), statusWidget (session.session_id, session.email))

def login (session):
  """
  evaluate data from loginForm
  """
  email = escape (session.qs.get ('email', [''])[0])
  # check for account
  # verify password
  return indexWidget (dataWidget (), loginWidget (email), statusWidget (session.session_id, email))

def registerForm (session):
  """
  display the register form
  """
  return indexWidget (dataWidget (), registerFormWidget (), statusWidget (session.session_id, session.email))

def register (session):
  """
  evaluate data from registerForm
  """
  firstname = session.getQsFirstname ()
  lastname = session.getQsLastname ()
  email = session.getQsEmail ()
  callsign = session.getQsCallsign ()
  longitude = session.getQsLongitude ()
  latitude = session.getQsLatitude ()
  password = session.getQsPassword ()
  confirm = session.getQsConfirm ()

  if password != confirm:
    error_message = {'error': 'Password', 'description': 'Passwords do not match.'}
    return indexWidget (dataWidget (), errorWidget (error_message), statusWidget (session.session_id, session.email))

  user = User ()
  confreg = user.create (session.session_id, firstname, lastname, email, callsign, longitude, latitude, password)
  user.email = email
  message = '''From: noreply <noreply@mur.at>
To: {0}
Subject: MMD registration confirmation request

Good day!

Someone (probably you) has registered at the MURSAT1 Mission Dashbaord
(MMD) at http://sat.mur.at/dashboard.  Please confirm the registration
using the link below:


  http://hofos.at/mmd/mmd?cmd=confirmRegistration&code={1}

Regards,
MURSAT1 team
'''.format (user.email, confreg)

  if not user.sendEmail (message):
    error_message = {'error': 'Email', 'description': 'Email could not be sent.'}
    return indexWidget (dataWidget (), errorWidget (error_message), statusWidget (session.session_id, session.email))

  return indexWidget (dataWidget (), registerWidget (), statusWidget (session.session_id, session.email))

def submitForm (session):
  """
  display the form for data submission
  """
  return indexWidget (dataWidget (), submitFormWidget (), statusWidget (session.session_id, session.email))

def submit (session):
  """
  evaluate data from submitForm
  """
  return indexWidget (dataWidget (), submitWidget (), statusWidget (session.session_id, session.email))

def viewlog (session):
  """
  show latest log entries/submissions
  """
  return indexWidget (dataWidget (), logWidget (), statusWidget (session.session_id, session.email))

def index (session):
  """
  display the index page
  """
  return indexWidget (dataWidget (), osmWidget (), statusWidget (session.session_id, session.email))

def mmdtest (env, cookie):
  body = ''
  for key, value in sorted (env.items()):
    body = '{0}{1}: {2}\n'.format (body, key, value)
  body = '{0}Cookie: {1}\n'.format (body, cookie['mmd'].value)
  return body

if __name__ == "__main__":
  pass

# vim: tw=0 ts=2 expandtab
# EOF