comparison browser_side/register.py @ 67:b096facaa5b3

registration fix
author Goffi <goffi@goffi.org>
date Wed, 15 Jun 2011 20:22:27 +0200
parents 9d8e79ac4c9c
children 975e6be24e11
comparison
equal deleted inserted replaced
66:9d8e79ac4c9c 67:b096facaa5b3
59 main_panel.add(left_side) 59 main_panel.add(left_side)
60 60
61 ##TabPanel## 61 ##TabPanel##
62 tab_bar = TabBar() 62 tab_bar = TabBar()
63 tab_bar.setStyleName('registerPanel_tabs') 63 tab_bar.setStyleName('registerPanel_tabs')
64 right_side = TabPanel(tab_bar) 64 self.right_side = TabPanel(tab_bar)
65 right_side.setStyleName('registerPanel_right_side') 65 self.right_side.setStyleName('registerPanel_right_side')
66 main_panel.add(right_side) 66 main_panel.add(self.right_side)
67 main_panel.setCellWidth(right_side, '100%') 67 main_panel.setCellWidth(self.right_side, '100%')
68 68
69 69
70 ##Login tab## 70 ##Login tab##
71 login_tab = SimplePanel() 71 login_tab = SimplePanel()
72 login_tab.setStyleName('registerPanel_content') 72 login_tab.setStyleName('registerPanel_content')
104 register_tab.setStyleName('registerPanel_content') 104 register_tab.setStyleName('registerPanel_content')
105 register_vpanel = VerticalPanel() 105 register_vpanel = VerticalPanel()
106 register_tab.setWidget(register_vpanel) 106 register_tab.setWidget(register_vpanel)
107 107
108 register_login_label = Label('Login:') 108 register_login_label = Label('Login:')
109 register_login_box = TextBox() 109 self.register_login_box = TextBox()
110 register_login_box.setName("register_login") 110 self.register_login_box.setName("register_login")
111 email_label = Label('E-mail:') 111 email_label = Label('E-mail:')
112 self.email_box = TextBox() 112 self.email_box = TextBox()
113 self.email_box.setName("email") 113 self.email_box.setName("email")
114 register_pass_label = Label('Password:') 114 register_pass_label = Label('Password:')
115 self.register_pass_box = PasswordTextBox() 115 self.register_pass_box = PasswordTextBox()
116 self.register_pass_box.setName("register_password") 116 self.register_pass_box.setName("register_password")
117 register_vpanel.add(register_login_label) 117 register_vpanel.add(register_login_label)
118 register_vpanel.add(register_login_box) 118 register_vpanel.add(self.register_login_box)
119 register_vpanel.add(email_label) 119 register_vpanel.add(email_label)
120 register_vpanel.add(self.email_box) 120 register_vpanel.add(self.email_box)
121 register_vpanel.add(register_pass_label) 121 register_vpanel.add(register_pass_label)
122 register_vpanel.add(self.register_pass_box) 122 register_vpanel.add(self.register_pass_box)
123 123
124 register_but = Button("Register", getattr(self, "onRegister")) 124 register_but = Button("Register", getattr(self, "onRegister"))
125 register_but.setStyleName('button') 125 register_but.setStyleName('button')
126 register_but.addStyleName('red') 126 register_but.addStyleName('red')
127 register_vpanel.add(register_but) 127 register_vpanel.add(register_but)
128 128
129 right_side.add(login_tab, 'Login') 129 self.right_side.add(login_tab, 'Login')
130 right_side.add(register_tab, 'Register') 130 self.right_side.add(register_tab, 'Register')
131 right_side.selectTab(0) 131 self.right_side.selectTab(0)
132 132
133 self.add(main_panel) 133 self.add(main_panel)
134 self.addFormHandler(self) 134 self.addFormHandler(self)
135 self.setAction('register_api/login') 135 self.setAction('register_api/login')
136 136
137 def onLogin(self, button): 137 def onLogin(self, button):
138 self.submit_type.setValue('login') 138 self.submit_type.setValue('login')
139 self.submit() 139 self.submit()
140 140
141 def onRegister(self, button): 141 def onRegister(self, button):
142 print self.login_box.getText() 142 if not re.match(r'^[a-z0-9_-]+$',self.register_login_box.getText(), re.IGNORECASE):
143 if not re.match(r'^[a-z0-9_-]+$',self.login_box.getText(), re.IGNORECASE):
144 self.warning_msg.setText('Invaling login, valid characters are a-z A-Z 0-9 _ -') 143 self.warning_msg.setText('Invaling login, valid characters are a-z A-Z 0-9 _ -')
145 self.warning_msg.setVisible(True) 144 self.warning_msg.setVisible(True)
146 elif not re.match(r'^.+@.+\..+', self.email_box.getText(), re.IGNORECASE): 145 elif not re.match(r'^.+@.+\..+', self.email_box.getText(), re.IGNORECASE):
147 self.warning_msg.setText('Invaling email address') 146 self.warning_msg.setText('Invaling email address')
148 self.warning_msg.setVisible(True) 147 self.warning_msg.setVisible(True)
166 elif result == "ALREADY EXISTS": 165 elif result == "ALREADY EXISTS":
167 self.warning_msg.setText('This login already exists, please choose an other one') 166 self.warning_msg.setText('This login already exists, please choose an other one')
168 self.warning_msg.setVisible(True) 167 self.warning_msg.setVisible(True)
169 elif result == "REGISTRATION": 168 elif result == "REGISTRATION":
170 self.warning_msg.setVisible(False) 169 self.warning_msg.setVisible(False)
170 self.login_box.setText(self.register_login_box.getText())
171 self.register_login_box.setText('')
171 self.register_pass_box.setText('') 172 self.register_pass_box.setText('')
173 self.email_box.setText('')
174 self.right_side.selectTab(0)
172 Window.alert('An email has been sent to you with your login informations\nPlease remember that this is ONLY A TECHNICAL DEMO') 175 Window.alert('An email has been sent to you with your login informations\nPlease remember that this is ONLY A TECHNICAL DEMO')
173 else: 176 else:
174 Window.alert('Submit error: %s' % result) 177 Window.alert('Submit error: %s' % result)
175 178
176 class RegisterBox(PopupPanel): 179 class RegisterBox(PopupPanel):