On Thu, Aug 6, 2009 at 8:42 PM, Bottiger <bottig...@gmail.com> wrote:
> > Well you see, unlike the "username" column, the "email" column is > actually defined. > > So there are 3 possible solutions. > > 1. Define a "username" column in the "auth_user" table by default. well, the problem then is that if you WANT to use email as username, you have duplicate fields; I don't like this solution; > > 2. Change "username" to a column that is actually defined, such as > "first_name" It would have to be unique, and this isn't reasonable constraint for first_name or last_name (or even a combination of the two); I don't like this either; > > 3. Remove the "username" check and usage completely. I think I like my action: try username if that is what is passed in the dict, perhaps raise a ticket a single time, and fall back to 'email' if 'username' doesn't exist. What do others think? > > > On Aug 6, 6:38 pm, Yarko Tymciurak <yark...@gmail.com> wrote: > > I see - so you would want an exception to be raised? What do you > propose? > > > > On Thu, Aug 6, 2009 at 8:26 PM, Bottiger <bottig...@gmail.com> wrote: > > > > > The function takes a dictionary where if the username key is defined, > > > then it assumes that your database has a "username" column which is > > > incorrect behavior. > > > > > On Aug 6, 6:16 pm, Yarko Tymciurak <yark...@gmail.com> wrote: > > > > On Thu, Aug 6, 2009 at 8:09 PM, Bottiger <bottig...@gmail.com> > wrote: > > > > > > > I am using the latest version. > > > > > > By "latest version" do you mean revision 1062 from Launchpad, or do > you > > > > mean > > > > > > > I know there is a check, but the check is useless. If you specify a > > > > > username in the dictionary that comes with the argument, then it > will > > > > > automatically assume that your auth_users table has a username > column, > > > > > which isn't the case. > > > > > > You you define the auth_users table, then you can define this > additional > > > > field; > > > > if not, it uses the email field. > > > > This is how it is designed. > > > > > > Am I missing something? > > > > > > > On Aug 6, 5:58 pm, Yarko Tymciurak <yark...@gmail.com> wrote: > > > > > > Which version of web2py are you looking at? > > > > > > > > First - in the most current version, I think you are talking > about > > > line > > > > > 653, > > > > > > in > > > > > > get_or_create_user(); > > > > > > > > You will note at the beginning of that function: > > > > > > > > if 'username' in keys: > > > > > > username = 'username' > > > > > > elif 'email' in keys: > > > > > > username = 'email' > > > > > > else: > > > > > > raise SyntaxError, "user must have username or email" > > > > > > > > (there are 2 other places with lines like this, and they do > similar > > > > > checks; > > > > > > so you can define a username in your auth, or by default it uses > > > email). > > > > > > > > You might want to get a look at: > > > > > > http://bazaar.launchpad.net/~mdipierro/web2py/devel/annotate/head%3A/<http://bazaar.launchpad.net/%7Emdipierro/web2py/devel/annotate/head%3A/> > <http://bazaar.launchpad.net/%7Emdipierro/web2py/devel/annotate/head%3A/> > > > .< > http://bazaar.launchpad.net/%7Emdipierro/web2py/devel/annotate/head%3A/ > > > .> > > > > > .. > > > > > > > > BEWARE: if you get the latest revision from launchpad, there is > a > > > bug in > > > > > > template.py - which I'm waiting for Massimo to apply the patch > for... > > > > > You > > > > > > can remove the ".read()" portion of line 120 yourself in the > > > meantime, > > > > > that > > > > > > is in parse_template(): > > > > > > > > try: > > > > > > fp = open(t, 'rb').read() > > > > > > parent = fp.read() > > > > > > fp.close() > > > > > > > > should read: > > > > > > > > try: > > > > > > fp = open(t, 'rb') > > > > > > parent = fp.read() > > > > > > fp.close() > > > > > > > > - Yarko > > > > > > > > On Thu, Aug 6, 2009 at 7:29 PM, Bottiger <bottig...@gmail.com> > > > wrote: > > > > > > > > > I am trying to incorporate OpenID into Auth. > > > > > > > > > In my attempt to implement a CAS style plugin into auth, I > stumbled > > > > > > > upon a bizzare error. > > > > > > > > > On line 628 of gluon.tools, there is the following line: > > > > > > > > > "users = self.db(table_user[username] == > keys[username]).select()" > > > > > > > > > username is defined to be "username" if you have a username and > > > > > > > "email" if you have email specified. However, when I looked at > the > > > > > > > auth_user table, there is no "username" column. > > > > > > > > > The closest thing to a username column is first_name or > last_name, > > > but > > > > > > > obviously this isn't the same thing. > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---