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.

Reply via email to