No Avatar field yet! It's hardcoded in the template. It should be easy to add a custom field to the auth_user table following these instructions: http://web2py.com/books/default/chapter/29/09/access-control?search=auth_user#Customizing-Auth
Then you can upload an avatar using the user profile page. I haven't done this with images but it should be straight forward (it's on my todo list!) You can also designate a dedicated folder for the avatar uploads so they're not commingled with other upload files ... http://web2py.com/books/default/chapter/29/07/forms-and-validators?search=upload#SQLFORM-and-uploads On Thursday, March 24, 2016 at 3:03:41 PM UTC-4, Ron Chatterjee wrote: > > I am sorry, I was having some problem downloading the latest version so > everything is good. Quick question Michael, how does someone change the > profile picture? There is a avatar field? > > On Thursday, March 24, 2016 at 11:56:27 AM UTC-4, Michael Beller wrote: >> >> The appconfig in 2.13 has a problem with strings separated by comma's in >> the appconfig.ini file. Starter app uses 2.14.1 >> >> You can either install 2.14.1 or just change ... >> >> line 34 in initialize.py: >> for group in myconf.get('admin_user.auth_groups'): >> >> could replace with >> for group in ['Admin', 'Customer Service', 'Operations']: >> >> or just change the function to create the Admin group which is all that's >> needed. >> >> >> >> On Thu, Mar 24, 2016 at 11:20 AM, Ron Chatterjee <achatte...@gmail.com> >> wrote: >> >>> Not sure its ready to be posted. I just downloaded the app and I don't >>> see any initialization. My experience...it seems have some issues still >>> (see the attached pic) . When I tried to register, I get this error: >>> >>> >>> Traceback *(*most recent call last >>> *): *File "…\web2py\gluon\restricted.py"*, *line 227*, in *restricted >>> *exec *ccode *in *environment >>> File" …applications/starter/controllers/default.py" >>> <http://127.0.0.1:8000/admin/default/edit/starter/controllers/default.py>*, >>> *line 91*, in <*module >>> *> *File "…web2py\gluon\globals.py"*, *line 412 >>> *, in <lambda> self.*_caller *= lambda *f*: *f >>> *() *File …/starter/controllers/default.py" >>> <http://127.0.0.1:8000/admin/default/edit/starter/controllers/default.py>*, >>> *line 70*, in *user >>> *return *dict*(*form*=*auth >>> *()) *File "…web2py\gluon\tools.py"*, *line 1923*, in *__call__ >>> *return *getattr*(self, *args*[*0 >>> *])() *File "…\tools.py"*, *line 3375*, in *register >>> *self.*login_user*(*user >>> *) *File "…web2py\gluon\tools.py"*, *line 2630*, in *login_user >>> user *= *Row*(*user >>> *) *File "…\helpers\classes.py"*, *line 18*, in *__init__ >>> *return self.*__dict__*.*__init__*(**args*, ***kwargs >>> *) *TypeError*: *'NoneType' object *is not *iterable >>> >>> Using 2.13.4 (which has a flash bar rash that just don't go away). >>> >>> >>> >>> On Thursday, March 24, 2016 at 10:38:35 AM UTC-4, Michael Beller wrote: >>>> >>>> I commonly create a user (usually my email) and an Admin group and then >>>> add myself to the Admin group. I have logic in the Starter app based on >>>> the Admin group. I usually have other groups such as Operations and >>>> Customer Service (I tend to build enterprise 'line of business' apps). >>>> Since I frequently clean out the database during initial development, I >>>> just created an initialization function that automatically adds an initial >>>> set of test users, groups, and memberships so I don't have to do it >>>> manually, The Initialization function also calls a function that >>>> automatically populates tables with test data (using the Populate >>>> function) >>>> that is helpful for quick demos during prototyping and user demos. You >>>> can >>>> modify the routines to meet your needs - it's just something I always end >>>> up creating so I put it in my scaffold app. >>>> >>>> On Thu, Mar 24, 2016 at 9:13 AM, <rajjm...@gmail.com> wrote: >>>> >>>>> This may be little preliminary but what you mean by "Admin user and >>>>> auth_groups" setup and how? I don't recall anything to set up with the >>>>> welcome app. It worked the first time straight out of the box. >>>>> >>>>> >>>>> On Thursday, March 24, 2016 at 8:56:22 AM UTC-4, Ron Chatterjee wrote: >>>>>> >>>>>> I am looking at this link: >>>>>> >>>>>> https://almsaeedstudio.com/themes/AdminLTE/documentation/index.html. >>>>>> Is that widget/plugin that comes with that bootstrap? Michael, you >>>>>> familiar >>>>>> with that? >>>>>> >>>>>> It has something call direct chat. >>>>>> >>>>>> On Thursday, March 24, 2016 at 12:23:08 AM UTC-4, Michael Beller >>>>>> wrote: >>>>>>> >>>>>>> I plan to! When ready, I'd like to try and apply these styles >>>>>>> https://almsaeedstudio.com/themes/AdminLTE/pages/forms/general.html >>>>>>> to the new form.py and perhaps >>>>>>> https://almsaeedstudio.com/themes/AdminLTE/pages/tables/data.html >>>>>>> to the new grid.py >>>>>>> >>>>>>> On Wednesday, March 23, 2016 at 10:22:32 PM UTC-4, Massimo Di Pierro >>>>>>> wrote: >>>>>>>> >>>>>>>> I am linking this from the new examples app. I assume you will be >>>>>>>> maintaining it. for a while. :-) >>>>>>>> On Wednesday, 23 March 2016 19:38:22 UTC-5, Michael Beller wrote: >>>>>>>>> >>>>>>>>> Are you using 2.14.1 beta? >>>>>>>>> >>>>>>>>> I would try to get it running without changes before making >>>>>>>>> changes (unless you have a need to get it running on an old version >>>>>>>>> of >>>>>>>>> web2py). As Massimo pointed out, it's not necessarily backward >>>>>>>>> compatible >>>>>>>>> but other than removing host_names (which I already did in the repo) >>>>>>>>> I >>>>>>>>> don't see why it wouldn't work on an older version (I also had to >>>>>>>>> remove >>>>>>>>> formstyle from appconfig to support an older version). >>>>>>>>> >>>>>>>>> I just installed a clean version using >>>>>>>>> git clone https://github.com/mjbeller/web2py-starter.git starter >>>>>>>>> into 2.14.1 beta (actually current master) and then accessed >>>>>>>>> /initialize/adminuser >>>>>>>>> <http://127.0.0.1:8000/starter2/initialize/adminuser> >>>>>>>>> to setup Admin user and auth_groups and everything worked fine. >>>>>>>>> >>>>>>>>> I'm still getting an odd error on 2.13.x which I can't figure out >>>>>>>>> but I'm content to move forward with just 2.14.1 >>>>>>>>> >>>>>>>>> On Wednesday, March 23, 2016 at 8:02:51 PM UTC-4, Ron Chatterjee >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Got it. As always, thank you Massimo. >>>>>>>>>> >>>>>>>>>> I changed in db1.py >>>>>>>>>> >>>>>>>>>> auth.define_tables(username=True, signature=True) >>>>>>>>>> >>>>>>>>>> to >>>>>>>>>> auth.define_tables(username=False, signature=True) >>>>>>>>>> >>>>>>>>>> But in the log in it still ask me for user name. >>>>>>>>>> >>>>>>>>>> Also I get an error when I try to register. >>>>>>>>>> >>>>>>>>>> pydal\helpers\classes.py", line 18, in __init__ >>>>>>>>>> return self.__dict__.__init__(*args, **kwargs) >>>>>>>>>> TypeError: 'NoneType' object is not iterable >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Wednesday, March 23, 2016 at 7:32:18 PM UTC-4, Massimo Di >>>>>>>>>> Pierro wrote: >>>>>>>>>>> >>>>>>>>>>> You cannot do that. You have an app created with web2py 2.14.1 >>>>>>>>>>> beta and run it with an older version of web2py. myconf.get is not >>>>>>>>>>> defined. >>>>>>>>>>> We only offer backward compatibility, not forward compatibility. >>>>>>>>>>> >>>>>>>>>>> Massimo >>>>>>>>>>> >>>>>>>>>>> On Wednesday, 23 March 2016 18:12:58 UTC-5, Ron Chatterjee wrote: >>>>>>>>>>>> >>>>>>>>>>>> I copied the config file from private and changed this to >>>>>>>>>>>> db1.py. >>>>>>>>>>>> >>>>>>>>>>>> auth = Auth(db, host_names=myconf.get('host.name')) >>>>>>>>>>>> >>>>>>>>>>>> I still don't get the app running. Any suggestions? >>>>>>>>>>>> >>>>>>>>>>>> web2py version running: 2.12.3 >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Wednesday, March 23, 2016 at 6:36:34 PM UTC-4, Dave S wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Wednesday, March 23, 2016 at 3:01:24 PM UTC-7, Literate >>>>>>>>>>>>> Aspects wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Rimas, >>>>>>>>>>>>>> >>>>>>>>>>>>>> I thank you for the kind thoughts, but I simply don't have >>>>>>>>>>>>>> that luxury. I read and I listen to the video tutorials, IF >>>>>>>>>>>>>> they matched >>>>>>>>>>>>>> the current live app, then following the step by step >>>>>>>>>>>>>> instructions would be >>>>>>>>>>>>>> straight forward, but the live app does not match the >>>>>>>>>>>>>> instructions, so at >>>>>>>>>>>>>> each step, one has to FIGURE out an unknown. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> The only difference I recognized in the screen shots was that >>>>>>>>>>>>> the book had 1 more line in the header comment. The code lines >>>>>>>>>>>>> you showed >>>>>>>>>>>>> seemed to match. But recognize that the code included in the >>>>>>>>>>>>> Welcome app >>>>>>>>>>>>> (which is the code that gets used if you pressed the "Make new >>>>>>>>>>>>> App" button >>>>>>>>>>>>> on the Web2Py "console" page) can get changed every release; the >>>>>>>>>>>>> book tends >>>>>>>>>>>>> not to change as often. >>>>>>>>>>>>> >>>>>>>>>>>>> Some of these changes are simplification, some are taking >>>>>>>>>>>>> advantage of new features, and some are corrections. >>>>>>>>>>>>> >>>>>>>>>>>>> Going back to one of your earlier questions: >>>>>>>>>>>>> >>>>>>>>>>>>> def index(): return "Hello from MyApp" >>>>>>>>>>>>> >>>>>>>>>>>>> differs from >>>>>>>>>>>>> >>>>>>>>>>>>> def index(): return dict(message="Hello from MyApp") >>>>>>>>>>>>> >>>>>>>>>>>>> in a basic Python way ... the first returns a string, the >>>>>>>>>>>>> second returns a dictionary object, where the key "message" has >>>>>>>>>>>>> the value >>>>>>>>>>>>> "Hello from MyApp:, which is a string. The generic views that >>>>>>>>>>>>> come with >>>>>>>>>>>>> Web2Py know how to render a string. They also know how to render >>>>>>>>>>>>> values >>>>>>>>>>>>> retrieved from a dictionary. Just about everything else is a >>>>>>>>>>>>> special case >>>>>>>>>>>>> of those 2 basic capabilities. >>>>>>>>>>>>> >>>>>>>>>>>>> The BEAUTIFY() helper Rimas mentioned is something that gets >>>>>>>>>>>>> executed on the server (in rendering the views) to generate HTML >>>>>>>>>>>>> that shows >>>>>>>>>>>>> what's in the object given as it's argument. If that argument is >>>>>>>>>>>>> a >>>>>>>>>>>>> dictionary like the above, it will render a short table showing >>>>>>>>>>>>> the key >>>>>>>>>>>>> ("message") and its value ("Hello From MyApp"). >>>>>>>>>>>>> >>>>>>>>>>>>> Chapter 2 covers some Python basics, and general Python >>>>>>>>>>>>> tutorials and books are available elsewhere. If you're totally >>>>>>>>>>>>> new to >>>>>>>>>>>>> programming, than you may want to spend some time on those. If >>>>>>>>>>>>> you're used >>>>>>>>>>>>> to C or C# or Java, Chapter 2 may be enough to get you started. >>>>>>>>>>>>> >>>>>>>>>>>>> Good luck! >>>>>>>>>>>>> >>>>>>>>>>>>> /dps >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>> Resources: >>>>> - http://web2py.com >>>>> - http://web2py.com/book (Documentation) >>>>> - http://github.com/web2py/web2py (Source code) >>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>> --- >>>>> You received this message because you are subscribed to a topic in the >>>>> Google Groups "web2py-users" group. >>>>> To unsubscribe from this topic, visit >>>>> https://groups.google.com/d/topic/web2py/Md-OTq-hi-U/unsubscribe. >>>>> To unsubscribe from this group and all its topics, send an email to >>>>> web2py+un...@googlegroups.com. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >>> Resources: >>> - http://web2py.com >>> - http://web2py.com/book (Documentation) >>> - http://github.com/web2py/web2py (Source code) >>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>> --- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "web2py-users" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/web2py/Md-OTq-hi-U/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> web2py+un...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.