Mercurial > libervia-web
diff register.py @ 0:140cec48224a
Initial commit
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 30 Jan 2011 21:50:22 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/register.py Sun Jan 30 21:50:22 2011 +0100 @@ -0,0 +1,86 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +""" +Libervia: a Salut à Toi frontend +Copyright (C) 2011 Jérôme Poisson (goffi@goffi.org) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +""" + +#This page manage subscription and new account creation +import pyjd # this is dummy in pyjs + +from pyjamas.ui.VerticalPanel import VerticalPanel +from pyjamas.ui.Grid import Grid +from pyjamas.ui.PasswordTextBox import PasswordTextBox +from pyjamas.ui.TextBox import TextBox +from pyjamas.ui.FormPanel import FormPanel +from pyjamas.ui.Button import Button +from pyjamas.ui.DialogBox import DialogBox +from pyjamas import Window +from pyjamas.ui import HasAlignment + + + + +class RegisterPanel(FormPanel): + + def __init__(self, callback): + """ + @param callback: method to call if login successful + """ + FormPanel.__init__(self) + self.callback = callback + self.setMethod(FormPanel.METHOD_POST) + vPanel = VerticalPanel() + vPanel.setHorizontalAlignment(HasAlignment.ALIGN_CENTER) + self.loginBox = TextBox() + self.loginBox.setName("login") + self.passBox = PasswordTextBox() + self.passBox.setName("password") + grid = Grid(2, 2) + grid.setText(0,0,"Login:") + grid.setWidget(0,1, self.loginBox) + grid.setText(1,0, "Password:") + grid.setWidget(1,1, self.passBox) + vPanel.add(grid) + login_but = Button("Login", getattr(self, "onLogin")) + vPanel.add(login_but) + self.add(vPanel) + self.addFormHandler(self) + self.setAction('register_api/login') + + def onLogin(self): + self.submit() + + def onSubmit(self, event): + pass + + def onSubmitComplete(self, event): + result = event.getResults() + if result == "AUTH ERROR": + Window.alert('You login and/or password is incorrect. Please try again') + elif result == "LOGGED": + self.callback() + else: + Window.alert('Submit error: %s' % result) + +class RegisterBox(DialogBox): + + def __init__(self, callback, *args,**kwargs): + DialogBox.__init__(self,*args,**kwargs) + _form = RegisterPanel(callback) + self.setHTML('<b>You are not identified, please log in</b>') + self.setWidget(_form)