[web2py] Need to have "def 4()" and "def dir()" to 301 redirect. Is it possible?

2014-06-24 Thread Kenneth
I would like to redirect these two links:
www.mydomain.com/4 and www.mydomain.com/dir for fixing backlinks I 
previously had for SEO purpose.

I've tried to redirect from the controller but it didn't work.
--
def 4():
redirect('/',301)
def dir():
redirect('/',301)
--
Obviously this is not possible since dir is a reserved keyword and 4 is 
integer.

Anyway to redirect these two?

Thank you.

-- 
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.


[web2py] autocomplete depending on other form field

2014-06-24 Thread Annet
I've got this form:

form = SQLFORM.factory(
Field('tag', length=128, requires=[IS_IN_DB(db, 'tag.name', '%(name)s', 
error_message='Tag not in database')]),
Field('locality', length=64, requires=[IS_IN_DB(db, 'locality.name', 
'%(name)s',
error_message='Locality 
not in database')]),
hideerror=True, separator='', formstyle=bootstrap3)

Fields tag and locality are autocomplete fields based on jQueryUI.
In the view I've got:


$(function() {$("#no_table_tag").autocomplete({source: "{{=URL('jqueryui', 
'nodetag_autocomplete')}}",minLength: 2});});
$(function() {$("#no_table_locality").autocomplete({source: 
"{{=URL('jqueryui', 'addresslocality_autocomplete')}}",minLength: 2});});


And in a controller called jqueryui:

def addresslocality_autocomplete():
rows = 
db(db.address.locality.like(request.vars.term+'%')).select(db.address.locality, 
distinct=True,
  
orderby=db.address.locality).as_list()
result = [r['locality'] for r in rows]
return response.json(result)

def nodetag_autocomplete():
rows = 
db(db.node_tag.tag.like(request.vars.term+'%')).select(db.node_tag.tag, 
distinct=True,
  
orderby=db.node_tag.tag).as_list()
result = [r['tag'] for r in rows]
return response.json(result)

What I want is, make the autocomplete options for field locality depend on 
the value of field tag.
Coded with the constant tag 'Personal coaching', something like"

In the view:

$(function() {
  $("#no_table_locality").autocomplete({source: "{{=URL('jqueryui', 
'addresslocality_autocomplete')}} + '/' + 'Personal coaching' ", minLength: 
2})
;});


In the jqueryui controller:

rows = db((db.node_tag.tag=='Personal coaching') & 
(db.node_tag.nodeID==db.address.nodeID) &
  
(db.address.locality.like(request.vars.term+'%'))).select(db.address.locality, 
distinct=True,
  
orderby=db.address.locality).as_list()

In the view I tried:

var x = document.getElementById("no_table_tag").value;

and replace '/' + 'Personal coaching' with '/' + x

but that doesn't work.

In the jqueryui controller this doesn't work either:

(db.node_tag.tag==request.args(0))


Is there a way to solve this issue or is it just not possible.


Regards,

Annet

-- 
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.


[web2py] Re: web2py and self-submission/postbacks - a newcomer asks

2014-06-24 Thread Graham Ranson
Anthony  writes:

> 
> 
> It would probably help if you show some code, or at least explain in more 
detail an example where self submission is not possible or overly 
difficult. Note, your code can always distinguish between a form creation 
request and a form submission request by checking whether request.post_vars 
is None or whether request.env.http_method == "POST". As Jim suggested, if 
you are using SQLFORM, the easiest way to pre-populate is by setting field 
default values before form creation.Anthony
> 
> 
Well, I cannot show any code - because I haven't written any real stuff yet 
- and I cannot give an example of where self-submission could not work 
because I haven't gotten to that point, yet (if at all). As I said I'm just 
investigating but self-submission is one aspect of web2py that did stand 
out to my superficial run through its features.
My experience in web-type applications is of the 'single purpose code' 
type: one method assembles the data for the web page, from a database or 
some default values etc., and then 'returns' it to the web client; then an 
entirely separate method is the target for the subsequent HTML form 
submission, it receives the data and creates the necessary data structure 
(object or whatever) and populates it from the data on the POST, stores it 
in the DB etc. This has a complete separation of functions. 
And to some extent it is this lack of a clean separation that I find a 
problem in the self-submission case, perhaps more philosophically than 
practically, I'll agree.
But to return to the example I gave: I did quote from the book:

"It is always possible to pre-populate a form using the syntax:
form.vars.name = 'fieldvalue'

 Statements like the one above must be inserted after the form declaration
 and before the form is accepted, whether or not the field ("name" in the
 example) is explicitly visualized in the form."

but are you suggesting that it is better to populate the db.tablename 
object's defaults before the 'form=SQLFORM(...' statement ?
And I did suspect that there was some indicator used within the FORM object 
- you mention request.post_vars being None, so if there were any complex 
code to establish the pre-population values I should enclose that in a 
condition like:

if request.post_vars == None:
#
# put pre-population data acquisition here
# including calls to other methods - if lengthy code
#
form = SQLFORM(...

Sorry to go on so...

Graham





-- 
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.


[web2py] Raw include to solve Handlebars problem

2014-06-24 Thread Stefan Scholl
I wanted to use Ember.js and the Handlebars are clashing with
web2py's delimiters.

There are many solutions to this problems. This is another one:


class RAW_INCLUDE(XML):
""" {{=RAW_INCLUDE('views/default/hbs/blah.hbs')}} """

def __init__(self, filename):
self.filename = filename

def xml(self):
import os.path

filepath = os.path.join(request.folder, self.filename)
fp = open(filepath, 'rb') 
data = fp.read() 
fp.close() 

return data

def __str__(self):
return self.xml()



-- 
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.


Re: [web2py] Re: web2py and self-submission/postbacks - a newcomer asks

2014-06-24 Thread Jim Steil
Yes, you set the defaults for the table before the form=SQLFORM(...)
statement.  All you are doing is setting a default, you are not
'prepopulating' data.

Also, since web2py loads it's db.py on every request, the defaults you set
in one request do not have an effect on subsequent requests.

Also note what Anthony said earlier, you don't have to use the
self-submission paradigm.  You can force it to move to a different page on
submission.

-Jim



On Tue, Jun 24, 2014 at 6:09 AM, Graham Ranson  wrote:

> Anthony  writes:
>
> >
> >
> > It would probably help if you show some code, or at least explain in more
> detail an example where self submission is not possible or overly
> difficult. Note, your code can always distinguish between a form creation
> request and a form submission request by checking whether request.post_vars
> is None or whether request.env.http_method == "POST". As Jim suggested, if
> you are using SQLFORM, the easiest way to pre-populate is by setting field
> default values before form creation.Anthony
> >
> >
> Well, I cannot show any code - because I haven't written any real stuff yet
> - and I cannot give an example of where self-submission could not work
> because I haven't gotten to that point, yet (if at all). As I said I'm just
> investigating but self-submission is one aspect of web2py that did stand
> out to my superficial run through its features.
> My experience in web-type applications is of the 'single purpose code'
> type: one method assembles the data for the web page, from a database or
> some default values etc., and then 'returns' it to the web client; then an
> entirely separate method is the target for the subsequent HTML form
> submission, it receives the data and creates the necessary data structure
> (object or whatever) and populates it from the data on the POST, stores it
> in the DB etc. This has a complete separation of functions.
> And to some extent it is this lack of a clean separation that I find a
> problem in the self-submission case, perhaps more philosophically than
> practically, I'll agree.
> But to return to the example I gave: I did quote from the book:
>
> "It is always possible to pre-populate a form using the syntax:
> form.vars.name = 'fieldvalue'
>
>  Statements like the one above must be inserted after the form declaration
>  and before the form is accepted, whether or not the field ("name" in the
>  example) is explicitly visualized in the form."
>
> but are you suggesting that it is better to populate the db.tablename
> object's defaults before the 'form=SQLFORM(...' statement ?
> And I did suspect that there was some indicator used within the FORM object
> - you mention request.post_vars being None, so if there were any complex
> code to establish the pre-population values I should enclose that in a
> condition like:
>
> if request.post_vars == None:
> #
> # put pre-population data acquisition here
> # including calls to other methods - if lengthy code
> #
> form = SQLFORM(...
>
> Sorry to go on so...
>
> Graham
>
>
>
>
>
> --
> 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/wbei89YDwL0/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> web2py+unsubscr...@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.


[web2py] Re: web2py and self-submission/postbacks - a newcomer asks

2014-06-24 Thread Anthony

>
>  My experience in web-type applications is of the 'single purpose code' 
>
type: one method assembles the data for the web page, from a database or 
> some default values etc., and then 'returns' it to the web client; then an 
> entirely separate method is the target for the subsequent HTML form 
> submission, it receives the data and creates the necessary data structure 
> (object or whatever) and populates it from the data on the POST, stores it 
> in the DB etc. This has a complete separation of functions. 
> And to some extent it is this lack of a clean separation that I find a 
> problem in the self-submission case, perhaps more philosophically than 
> practically, I'll agree.
>

First, note that having the same action handle both form creation and form 
processing does not imply a lack of separation. You can still have 
different code paths and even entirely separate functions that handle 
different parts of the process, even if the same URL handles both cases.

Second, as already mentioned, there is some common code used for creation 
and processing, so self-submission helps to reduce code duplication as well 
as the use of redirects if you need to display validation errors or re-load 
a new blank form after a successful submission.

Third, nothing is forcing you to use the self-submission pattern if you 
really don't like it. For example, see 
http://web2py.com/books/default/chapter/29/07/forms-and-validators#Sharing-forms.

but are you suggesting that it is better to populate the db.tablename 
> object's defaults before the 'form=SQLFORM(...' statement ? 
>

Specifically when using SQLFORM (which pre-populates fields based on the 
db.tablename field default values).
 

> if request.post_vars == None: 
> # 
> # put pre-population data acquisition here 
> # including calls to other methods - if lengthy code 
> # 
> form = SQLFORM(... 
>

Yes, something along those lines.

Anthony

-- 
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.


[web2py] Re: autocomplete depending on other form field

2014-06-24 Thread Jim S
I use this javascript for my autocompletes...


$(document).ready(function() {
$( "#no_table_requestor" ).autocomplete({
source: "{{=URL('contacts','autocomplete')}}",
select: function(event, ui) {
$( "#no_table_requestor_id" ).val(ui.item.id);
$( "#no_table_requestor" ).val(ui.item.label);
return false;
}
});


The SQLFORM.factory looks like this:

#  define the fields
fields = []
fields.append(Field('requestor', requires=IS_NOT_EMPTY()))
fields.append(Field('requestor_id','int'))

#  create the form
form = SQLFORM.factory(*fields)

form.element(_name='requestor').update(_class='form-control', 
_placeholder='Requested by')
form.element(_name='requestor_id').update(_class='hidden')

if form.process(onvalidation=price_quote_validation).accepted:
quote = form.vars

...and the lookup code...

@auth.requires_login()
def autocomplete():
terms = request.vars.term

queries = [db.contact.id > 0]
if terms and terms != '':
queries.append((db.contact.first_name.contains(terms)) |
   (db.contact.last_name.contains(terms)) |
   (db.contact.company.contains(terms)))

query = reduce(lambda a,b:(a&b),queries)

contacts = []

for contact in db(query).select(orderby=[db.contact.company, 
db.contact.last_name, db.contact.first_name]):
if contact.company and contact.company != '':
if contact.last_name and contact.last_name != '' and 
contact.first_name and contact.first_name != '':
contacts.append({'label':'%s %s - %s' % 
(contact.first_name, contact.last_name, contact.company), 'id':contact.id})
else:
contacts.append({'label':contact.company, 'id':contact.id})
else:
contacts.append({'label':'%s %s' % (contact.first_name, 
contact.last_name), 'id':contact.id})

return response.json(contacts)

Hope that helps

-Jim

On Tuesday, June 24, 2014 4:06:03 AM UTC-5, Annet wrote:
>
> I've got this form:
>
> form = SQLFORM.factory(
> Field('tag', length=128, requires=[IS_IN_DB(db, 'tag.name', 
> '%(name)s', error_message='Tag not in database')]),
> Field('locality', length=64, requires=[IS_IN_DB(db, 'locality.name', 
> '%(name)s',
> 
> error_message='Locality not in database')]),
> hideerror=True, separator='', formstyle=bootstrap3)
>
> Fields tag and locality are autocomplete fields based on jQueryUI.
> In the view I've got:
>
> 
> $(function() {$("#no_table_tag").autocomplete({source: "{{=URL('jqueryui', 
> 'nodetag_autocomplete')}}",minLength: 2});});
> $(function() {$("#no_table_locality").autocomplete({source: 
> "{{=URL('jqueryui', 'addresslocality_autocomplete')}}",minLength: 2});});
> 
>
> And in a controller called jqueryui:
>
> def addresslocality_autocomplete():
> rows = 
> db(db.address.locality.like(request.vars.term+'%')).select(db.address.locality,
>  
> distinct=True,
>   
> orderby=db.address.locality).as_list()
> result = [r['locality'] for r in rows]
> return response.json(result)
>
> def nodetag_autocomplete():
> rows = 
> db(db.node_tag.tag.like(request.vars.term+'%')).select(db.node_tag.tag, 
> distinct=True,
>   
> orderby=db.node_tag.tag).as_list()
> result = [r['tag'] for r in rows]
> return response.json(result)
>
> What I want is, make the autocomplete options for field locality depend on 
> the value of field tag.
> Coded with the constant tag 'Personal coaching', something like"
>
> In the view:
>
> $(function() {
>   $("#no_table_locality").autocomplete({source: "{{=URL('jqueryui', 
> 'addresslocality_autocomplete')}} + '/' + 'Personal coaching' ", minLength: 
> 2})
> ;});
>
>
> In the jqueryui controller:
>
> rows = db((db.node_tag.tag=='Personal coaching') & 
> (db.node_tag.nodeID==db.address.nodeID) &
>   
> (db.address.locality.like(request.vars.term+'%'))).select(db.address.locality,
>  
> distinct=True,
>   
> orderby=db.address.locality).as_list()
>
> In the view I tried:
>
> var x = document.getElementById("no_table_tag").value;
>
> and replace '/' + 'Personal coaching' with '/' + x
>
> but that doesn't work.
>
> In the jqueryui controller this doesn't work either:
>
> (db.node_tag.tag==request.args(0))
>
>
> Is there a way to solve this issue or is it just not possible.
>
>
> Regards,
>
> Annet
>

-- 
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 f

[web2py] Customizing auth.navbar function

2014-06-24 Thread Sarbjit
Hi All,

I want to customize the auth.navbar function (basically I want to add new 
option when the user is logged-in and also want to modify the text 
"Register"). So, I followed the following approach :-

- Created a new function (by using the source code from tools.py) in a 
separate file in modules.
- Imported the new function and replaced auth.navbar

CODE :- (There is no modification as of now in customnavbar)
#
from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
from apputils import customnavbar
auth = Auth(db)
auth.navbar = customnavbar 


When I load the application, I get the following error :- (In layout, I 
have used auth.navbar())

 customnavbar() takes at least 1 argument (0 
given)
Can some one please help.




-- 
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.


Re: [web2py] Need to have "def 4()" and "def dir()" to 301 redirect. Is it possible?

2014-06-24 Thread Roberto Perdomo
Hello Kenneth,

A way is see the 4 and dir as string argument from the url and read this
from the index function, then check that string argument, and apply a
conditional.

This was not tested, but I think that works for you needs:

def index():
argument = request.args[0]
if argument == '4':
#redirect if 4 value
redirect('/',301)
elif argument == 'dir':
#redirect if dir value
redirect('/',301)
else:
   pass
return dict()


2014-06-24 4:27 GMT-04:30 Kenneth :

> I would like to redirect these two links:
> www.mydomain.com/4 and www.mydomain.com/dir for fixing backlinks I
> previously had for SEO purpose.
>
> I've tried to redirect from the controller but it didn't work.
> --
> def 4():
> redirect('/',301)
> def dir():
> redirect('/',301)
> --
> Obviously this is not possible since dir is a reserved keyword and 4 is
> integer.
>
> Anyway to redirect these two?
>
> Thank you.
>
> --
> 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.
>

-- 
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.


[web2py] Re: web2py password encryption/decryption

2014-06-24 Thread farmy zdrowia
THX a lot Massimo, it is very much appreciated. I'll check this ASAP. Be 
patient please.




On Monday, June 23, 2014 11:21:42 AM UTC+2, Massimo Di Pierro wrote:
>
> Hello Farmy,
>
> The code you posted helps and this examples the PHP algorithm:
> http://pythonhosted.org/passlib/lib/passlib.hash.phpass.html
>
> I recorded this in Python:
>
> import random, hashlib
>
> class PHPHash(object):
> CHARS = '0123456789abcdefghijklmoqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
> def __init__(self,secret,rounds=10):
> self.secret = secret
> self.rounds = rounds
> def hash(self,password, salt=None):
> if salt is None:
> salt = ''.join(random.choice(self.CHARS) for i in range(8))
> checksum = hashlib.md5(salt+self.secret).hexdigest()
> for k in range(2**self.rounds):
> checksum = hashlib.md5(checksum+password).hexdigest()
> hashed = '$P$%s%s%s' % (chr(self.rounds+ord('0')-5),salt,checksum)
> return hashed
>
> p = PHPHash('mysecret', rounds=13)
> print p.hash('mypassword')
>
> Please check it an make sure you can reproduce the PHP passwords. Once 
> that's done we can try implement a custom validator, based on CRYPT that 
> will work with them.
>
>
>
>
>
> Massimo
>
>
>
>
>
>
> On Sunday, 22 June 2014 15:40:32 UTC-5, farmy zdrowia wrote:
>>
>> I did kind of investigation by myself. 
>> I can see CB uses new Joomla "Portable PHP password hashing framework" 
>> functionality to crypt password. I noticed CB run on joomla 3.2.1, 
>> while my other site is on Joomla 2
>>
>> Anyway at the end of pasword cryption chain there is a function 
>> hashPassword and verifyPassword in libraries/joomla/user/helper.php
>>
>> abstract class JUserHelper
>> public static function hashPassword($password)
>> {
>> // Use PHPass's portable hashes with a cost of 10.
>> $phpass = new PasswordHash(10, true);
>>
>> return $phpass->HashPassword($password);
>> }
>>
>>
>> public static function verifyPassword($password, $hash, $user_id 
>> = 0)
>> {
>> $rehash = false;
>> $match = false;
>>
>> // If we are using phpass
>> if (strpos($hash, '$P$') === 0)
>> {
>> // Use PHPass's portable hashes with a cost of 10.
>> $phpass = new PasswordHash(10, true);
>>
>> $match = $phpass->CheckPassword($password, $hash);
>>
>> $rehash = false;
>> }
>> 
>>
>> Indeed all my passwords starts with "$P$"
>>
>> Whole algorithm to crypt CB/Joomla3.2.1 password is in file   
>> libraries/phpass/PasswordHash.php
>>
>>
>>
>> Question now is how to transform it to web2py CUSTOMER validator. I'll 
>> need your help
>>
>>
>>
>>
>>  
>>>
>>

-- 
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.


[web2py] Best way to ensure uniqueness of two fields?

2014-06-24 Thread maddin . sa
I have a model that looks somewhat like this

db.define_table('topic_teacher',
Field('skill', 'list:string', required=True),
Field('description', 'text', required=True),
Field('topic', 'reference topic'),
Field('teacher', 'reference auth_user'),
db.topic_teacher.topic.writable = False
db.topic_teacher.topic.readable = False
db.topic_teacher.teacher.writable = False
db.topic_teacher.teacher.readable = False



where I need the combination of topic and teacher to be unique so one 
person can register as a teacher for a certain topic only one time.

Skill and description are filled in using SQLFORM and topic and teacher 
using
form.vars.topic = topic_id #(from request.args)
form.vars.teacher = teacher_id #(from auth.user.id)


My first try was to add a computed field to the table representing a 
combination of topic and teacher and using  unique=True on it which doesn't 
work. I still can happily insert records containing the same teacher id and 
topic id using the form and the computed field will happily accept same 
values in the db.

Now before I try doing weird requires= magic with the computed field, is 
there an established best way to accomplish what I'm trying to do?

Thanks in advance.

-- 
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.


[web2py] Web2py Views: Multiple images changing in the background of index?

2014-06-24 Thread Gideon George
Please I need a help, this is the first time I am posting here and I am in 
my journey to be the Africa's number one Web2py enthusiast. I am currently 
developing my first web2py application and I have less than a week to 
complete it and head over to a more complex application by next week.

My question to the community is, I want to use two pictures rotating 
display as my background image in the index. please help me with suggestion 
on how to go about it.
Thank you.
NB: Example of a similar situation is the index of twitter(i.e before user 
logged in)

-- 
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.


[web2py] Issue deploying web2py even after following tutorial

2014-06-24 Thread shachar lobl
Hi,

I've been struggling the last few days with deploying web2py on an EC2 
Ubuntu instance. I describe the steps I took in SO in the link below.

http://stackoverflow.com/questions/24371280/unable-to-access-web2py-server-running-in-ec2-instance

I feel like it's something simple, and all help would be very much 
appreciated. Thanks!

-- 
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.


[web2py] how to Consume external NetTcp SOAP service in Web2Py

2014-06-24 Thread Gopi
Hi All.. I am new to web2py. Is there a way to call external NetTcp SOAP 
service in Web2Py. What are the best practices to call such  services in 
Web2Py?

-- 
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.


[web2py] Re: sqlform.grid add new - populate some fields(with values from another db) based on other fields

2014-06-24 Thread Peter
Thanks. Noted that, thats the best way and might be the only way

On Sunday, 22 June 2014 12:53:51 UTC+3, 黄祥 wrote:
>
> sorry, didn't read this sentence
>
>>
>> I want these to be reflected even before i click 'submit' button
>>
>>
> if you want to achieve it before click 'submit' button, i think you can 
> achieve it using ajax callback for that.
>
> best regards,
> stifan 
>

-- 
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.


[web2py] Background images slides like twitter?

2014-06-24 Thread Gideon George
Please I need somebody to help me on suggestions on how to put 
background-images in my website's index. just like twitter. Thank you

-- 
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.


[web2py] Adding scheduler to an existing app break the MySQL DB...

2014-06-24 Thread Krzysztof Socha
I am fighting it for some time now... I tried all the different ways to 
migrate the database so that the tables for the scheduler are created, but 
no luck - maybe someone could help...

I have an existing application. Recently I decided I needed to run some 
things in the background, so I added a scheduler.py model with content like 
this: 

def send_mail(jar_id):
 logger.info('Mail notifications have been sent.')



from gluon.scheduler import Scheduler
scheduler = Scheduler(db)

where db is defined like this in db.py model: 

db = DAL('mysql://xxx:xxx@localhost/xxx',pool_size=1,check_reserved=['all'],
migrate=True,fake_migrate=False)

As soon, as I try to schedule a task, this result in an 
error: gluon.contrib.pymysql.err.ProgrammingError: (1146, u"Table 
'xxx.scheduler_task' doesn't exist")

I tried setting the fake_migrate to True, removing files in xxx/databases, 
etc. No luck. Any hint, how to make it work?

Krzysztof.

-- 
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.


[web2py] how to use require js with web2py?

2014-06-24 Thread chuan137
how to load  in web2py like

in  web2py_ajax.html I have 

response.files.insert(0,URL('static','js/libs/require.js'))


then below


>  require.config({
>  paths: {
>  'text': "{{=URL('static', 'js/libs/require/text')}}",
>  'modules': "{{=URL('static', 'js/modules')}}",
>  'templates': "{{=URL('static', 'templates')}}",
>   'jquery': "{{=URL('static', 'js/libs/jquery')}}",
>   },
>  
>  require(['modules/test'], function(test) {
>  test.test();
>  });
>  require(['modules/canvas'], function(canvas) {
>  canvas.init();
>  });
> 


it does not work because, a), web2py.js fails to find jQuery. b), paths 
generated by URL helper seem not compatible with require

Any idea? Thanks,

Chuan
 

-- 
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.


[web2py] Re: Ubuntu 14.04 Setup Script with Apache - Issues?

2014-06-24 Thread shachar lobl
I'm also experiencing these problems installing on Ubuntu 14.04 as well for 
the past few days. I've followed all the steps on different tutorials and I 
still can only get the Apache default page. I was doing this to get a 
better knowledge of building web apps and I don't have much knowledge of 
Apache. Based on this thread, I'm going to spin up a server with a 
different OS to avoid the issues. Thanks

On Wednesday, June 18, 2014 11:08:33 PM UTC-4, Brian M wrote:
>
> Anybody else tried setting things up on Ubuntu 14.04 using 
> scripts/setup-web2py-ubuntu.sh?  I tried it this evening and ran into 
> multiple issues
> 1) The generated sites-available/default configuration file must be linked 
> to sites-enabled/default.conf or else it doesn't actually get used and all 
> you get are 404 errors. (Note also that you need to have the .conf 
> extension, simply doing a symbolic link from sites-available/default to 
> sites-enabled/default won't work)
> 2) The granting of permissions in Apache 2.4 seems to have changed. (see 
> http://httpd.apache.org/docs/2.4/upgrading.html) In order to get things 
> working I had to go from
>   
> AllowOverride None
> Order Allow,Deny
> Deny from all
> 
>   Allow from all
> 
>   
> To
> 
> AllowOverride None
> #Order Allow,Deny
> #Deny from all
> Require all granted
> 
>   Require all granted
> 
>   
>
>
> Note that I am not an expert in configuring Apache and don't know that 
> these changes won't have unwanted security issues, I just know that they 
> seem to be needed to get web2py up and running on Ubuntu 14.04.
>
> 3) The AliasMatch for using response.static_version doesn't seem to be 
> working for me either. :( As soon as I set response.static_version in 
> welcome/models/db.py all of the .js and .css files just return 404 errors.
>
>
> Anybody more knowledgeable than me want to take a look and perhaps offer a 
> patch for the setup script?
>
> Thanks,
> Brian
>

-- 
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.


[web2py] Installing Tornado with web2py

2014-06-24 Thread Salvatore DI DIO
Hello,

I have installed web2py + uswgi + nginx.
I would like to install Tornado.

Does anybody could advise me with the recommended configuration
to use ?

Regards

-- 
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.


[web2py] Authorized File Download Error

2014-06-24 Thread Keri Sui
Hello!

I am trying to enable temporary access for users to downloadable files by 
requesting access on a per file basis  

In my database.


Field('members', 'list:reference db.auth_user', default=auth.user_id, 
requires=IS_IN_DB(db, db.auth_user, '%(first_name)s %(last_name)s 
%(email)s', multiple=(1, 1000)), writable=False, readable=False),

...


db.personal_uploads.file_upload.authorize = lambda record: 
auth.is_logged_in() and (record.members.contains(auth.user_id))

Causes the following error when trying to download the file:

Traceback (most recent call last):
  File "/home/www-data/web2py/gluon/restricted.py", line 220, in restricted
exec ccode in environment
  File "/home/www-data/web2py/applications/cryaboutit/controllers/default.py" 
, line 328, 
in 
  File "/home/www-data/web2py/gluon/globals.py", line 385, in 
self._caller = lambda f: f()
  File "/home/www-data/web2py/gluon/cache.py", line 523, in wrapped_f
rtn = func()
  File "/home/www-data/web2py/applications/cryaboutit/controllers/default.py" 
, line 298, 
in download
return response.download(request, db)
  File "/home/www-data/web2py/gluon/globals.py", line 601, in download
(filename, stream) = field.retrieve(name,nameonly=True)
  File "/home/www-data/web2py/gluon/dal.py", line 10029, in retrieve
if self.authorize and not self.authorize(row):
  File "/home/www-data/web2py/applications/cryaboutit/models/db.py" 
, line 138, in 

db.personal_uploads.file_upload.authorize = lambda record: 
auth.is_logged_in() and (record.members.contains(auth.user_id))
AttributeError: 'list' object has no attribute 'contains'



Thank you for any advice offered. 

-- 
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.


[web2py] infinite scrolling using components

2014-06-24 Thread deep jain
I am trying to implement infinite scrolling on my newsfeed completely using 
components...
My present solution is very trivial, it loads 5 items first, then on 
reaching bottom, component is refreshed with 10 elements, then 15 and so 
on...
Now, i want to append only the next five items, instead of loading all the 
items again...

I can achieve this without using components (javascript templates+json 
items), but i want to use components only, 
One method which i thought of was to use two components, one for loaded 
posts, and one for loading further content, i will transfer the second 
components content to first component, by:
response.js=
'document.getElementById("component1").insertAdjacentHTML("beforeend",document.getElementById("component2").innerHTML);document.getElementById("component2").innerHTML="";'

by doing this the content is transferred to component 1, but when i comment 
on the item, the page refreshes (whereas it should trap the comment, and 
submit it via ajax). Can i change the innerHTML of a component without 
changing its behavior? And the appended elements should send request to 
component1 or not if a comment is submitted after appending ? (both 
components work as expected before changing innerHTML,)

-- 
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.


[web2py] Re: /default/user/login not honoring "_next" anymore?

2014-06-24 Thread Massimo Di Pierro
You found a bug. Fixing it in trunk. Please check it again. Thanks.

On Monday, 23 June 2014 10:14:57 UTC-5, Wei Wang wrote:
>
> In the current head branch in github (Version 
> 2.9.5-trunk+timestamp.2014.06.19.17.16.40), it seems that the 
> /default/user/login form does not use the "_next" variable specified in the 
> URL.
>
> For example,
>
> The myapp/default/view is decorated with @auth.requires_login(), so when I 
> am not logged in, it triggers web2py's login form with this URL:
>
> 
> https://server-name:4443/myapp/default/user/login?_next=/myapp/default/view%3Fapp%3Dnextapp
>
> However, the variable "_next" in the form is always:
>
> 
>
> I would expect it to be:
>
>  name="_next">
>
> Is this a potential bug or is this an expected change?
>
> Thanks,
> -- 
> Wei Wang
>

-- 
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.


[web2py] Re: Readonly elements (select and date field) respond to clicks, allow for changes and can be submitted?

2014-06-24 Thread Massimo Di Pierro
You cannot make a field not writable conditionally. Because if the field is 
writable it shows in the form. This is before you know the value of the 
other field.

Conditionally you can remove the field from form.post_vars.

On Monday, 23 June 2014 12:26:04 UTC-5, 98u...@gmail.com wrote:
>
> I did what you suggested but the calls to:
>
> db.owner.own_end_date.writable = False # not writable
> db.owner.own_end_date.readable = False # do not show is at all!
>
> are effective only if executed before the call to form = 
> SQLFORM.smartgrid(db.owner, ...
> When executed after, have no effect.
> I want to make db.owner.own_end_date not writeable conditionally:
>...
>...
>if ((len(request.args)>1) and (request.args(1)=='edit')):
> if (form.element('input',_name='own_end_date')['_value']!=''):
> db.owner.own_end_date.writable=False # <- no effect
> ...
> ...
>
> If the edited record contains a date value in that field then user must 
> not change it. How can I make that field not writeable in such a case?
> Thanks
>
> On Monday, June 23, 2014 1:00:05 AM UTC-4, 98u...@gmail.com wrote:
>>
>> Why readonly elements (select and date field) of a form respond to clicks 
>> and allow for changes and can be submitted? They look grayed out as if 
>> readonly but when I click on date field the date picker appears and works 
>> as it shoud also the select option is grayed out but it offers a list to 
>> choose an option and the form can be submitted with these changed values 
>> even though this is not intended.
>> #this is the model
>>
>> db.define_table('owner',
>> Field('own_cust_fk','reference 
>> customer',label='Customer'),
>> Field('own_veh_fk','reference vehicle',label='Vehicle'),
>> Field('own_plate','string',label='Plate'),
>> Field('own_comment','string',label='Comment'),
>> Field('own_start_date','date',default=now,label='Start 
>> date'),
>> 
>> Field('own_end_date','date',default=None,label='Terminated'),
>> migrate='owner.table',format='%(own_plate)s 
>> %(own_cust_fk)s',
>> plural='Owner'
>> )
>>
>>
>> def index():
>>
>> ...
>> ...
>>
>> form = SQLFORM.smartgrid(db.owner,
>>  fields=fields,
>>  headers=headers,
>>  paginate=all,
>>  details=True,
>>  editable=True,
>>  deletable=False,
>>  create=False,
>>  showbuttontext=False,
>>  maxtextlength=40,
>>  maxtextlengths=maxtextlengths,
>>  buttons_placement = 'left',
>>  )
>> ...
>> ...
>>
>> if ((len(request.args)>1) and (request.args(1)=='edit')):
>> form.element('select',_name='own_cust_fk')['_readonly']='True'
>> form.element('input',_name='own_end_date')['_readonly']='True'
>> ...
>> ...
>> return dict(form=form)
>>
>>
>>
>> Any help would be appreciated!
>> Thanks
>>
>

-- 
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.


[web2py] Re: how to Consume external NetTcp SOAP service in Web2Py

2014-06-24 Thread Massimo Di Pierro
web2py ships with pysimplesoap. It is documented on google code.

On Monday, 23 June 2014 12:39:22 UTC-5, Gopi wrote:
>
> Hi All.. I am new to web2py. Is there a way to call external NetTcp SOAP 
> service in Web2Py. What are the best practices to call such  services in 
> Web2Py?
>

-- 
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.


[web2py] Re: IS_IN_SET options list separator

2014-06-24 Thread Massimo Di Pierro
There is no syntax to do this.

On Monday, 23 June 2014 12:49:21 UTC-5, Carlos Correia wrote:
>
> -BEGIN PGP SIGNED MESSAGE- 
> Hash: SHA1 
>
> Hi, 
>
> Is there a way to introduce a separator in IS_IN_SET options widget, so 
> that 
> from code like: 
>
> IS_IN_SET( ('1', 'First'), (seperator?), ('2', 'Second'),'3', 'Third') ) 
>
> it produces something like this? 
>
>  
> First 
> _ 
> Second 
> Third 
>  
>
> Thanks, 
> - -- 
> Com os melhores cumprimentos, 
>
> Carlos Correia 
> = 
> MEMÓRIA PERSISTENTE 
> Tel.: 219 291 591 - GSM:  917 157 146 / 967 511 762 
> e-mail: ge...@memoriapersistente.pt - URL: 
> http://www.memoriapersistente.pt 
> Jabber: m...@jabber.org 
> GnuPG: wwwkeys.eu.pgp.net 
> URL Suporte: https://t5.m16e.com/gps 
> -BEGIN PGP SIGNATURE- 
> Version: GnuPG v1 
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ 
>
> iEYEARECAAYFAlOoaJMACgkQ90uzwjA1SJULhACgl/tHifyri+2PIRchIHEgZ54X 
> xQ4AmwQC8Tvr2icSr1cDAd0pilAe2XyK 
> =cv7J 
> -END PGP SIGNATURE- 
>

-- 
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.


[web2py] Re: Authorized File Download Error

2014-06-24 Thread Massimo Di Pierro
This line

db.personal_uploads.file_upload.authorize = lambda record: auth.is_logged_in() 
and (record.members.contains(auth.user_id))


should be


db.personal_uploads.file_upload.authorize = lambda record: auth.user and 
auth.user.id in (record.members or [])


On Monday, 23 June 2014 13:26:20 UTC-5, Keri Sui wrote:
>
> Hello!
>
> I am trying to enable temporary access for users to downloadable files by 
> requesting access on a per file basis  
>
> In my database.
>
>
> Field('members', 'list:reference db.auth_user', default=auth.user_id, 
> requires=IS_IN_DB(db, db.auth_user, '%(first_name)s %(last_name)s 
> %(email)s', multiple=(1, 1000)), writable=False, readable=False),
>
> ...
>
>
> db.personal_uploads.file_upload.authorize = lambda record: 
> auth.is_logged_in() and (record.members.contains(auth.user_id))
>
> Causes the following error when trying to download the file:
>
> Traceback (most recent call last):
>   File "/home/www-data/web2py/gluon/restricted.py", line 220, in restricted
> exec ccode in environment
>   File "/home/www-data/web2py/applications/cryaboutit/controllers/default.py" 
> , line 
> 328, in 
>   File "/home/www-data/web2py/gluon/globals.py", line 385, in 
> self._caller = lambda f: f()
>   File "/home/www-data/web2py/gluon/cache.py", line 523, in wrapped_f
> rtn = func()
>   File "/home/www-data/web2py/applications/cryaboutit/controllers/default.py" 
> , line 
> 298, in download
> return response.download(request, db)
>   File "/home/www-data/web2py/gluon/globals.py", line 601, in download
> (filename, stream) = field.retrieve(name,nameonly=True)
>   File "/home/www-data/web2py/gluon/dal.py", line 10029, in retrieve
> if self.authorize and not self.authorize(row):
>   File "/home/www-data/web2py/applications/cryaboutit/models/db.py" 
> , line 138, in 
> 
> db.personal_uploads.file_upload.authorize = lambda record: 
> auth.is_logged_in() and (record.members.contains(auth.user_id))
> AttributeError: 'list' object has no attribute 'contains'
>
>
>
> Thank you for any advice offered. 
>
>

-- 
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.


[web2py] Re: Ubuntu 14.04 Setup Script with Apache - Issues?

2014-06-24 Thread Brian M
The nginx setup script works perfectly on ubuntu 14.04.

As for Apache, the changes I mentioned above should get it working just 
fine as well.

On Tuesday, June 24, 2014 11:22:47 AM UTC-5, shachar lobl wrote:
>
> I'm also experiencing these problems installing on Ubuntu 14.04 as well 
> for the past few days. I've followed all the steps on different tutorials 
> and I still can only get the Apache default page. I was doing this to get a 
> better knowledge of building web apps and I don't have much knowledge of 
> Apache. Based on this thread, I'm going to spin up a server with a 
> different OS to avoid the issues. Thanks
>
> On Wednesday, June 18, 2014 11:08:33 PM UTC-4, Brian M wrote:
>>
>> Anybody else tried setting things up on Ubuntu 14.04 using 
>> scripts/setup-web2py-ubuntu.sh?  I tried it this evening and ran into 
>> multiple issues
>> 1) The generated sites-available/default configuration file must be 
>> linked to sites-enabled/default.conf or else it doesn't actually get used 
>> and all you get are 404 errors. (Note also that you need to have the .conf 
>> extension, simply doing a symbolic link from sites-available/default to 
>> sites-enabled/default won't work)
>> 2) The granting of permissions in Apache 2.4 seems to have changed. (see 
>> http://httpd.apache.org/docs/2.4/upgrading.html) In order to get things 
>> working I had to go from
>>   
>> AllowOverride None
>> Order Allow,Deny
>> Deny from all
>> 
>>   Allow from all
>> 
>>   
>> To
>> 
>> AllowOverride None
>> #Order Allow,Deny
>> #Deny from all
>> Require all granted
>> 
>>   Require all granted
>> 
>>   
>>
>>
>> Note that I am not an expert in configuring Apache and don't know that 
>> these changes won't have unwanted security issues, I just know that they 
>> seem to be needed to get web2py up and running on Ubuntu 14.04.
>>
>> 3) The AliasMatch for using response.static_version doesn't seem to be 
>> working for me either. :( As soon as I set response.static_version in 
>> welcome/models/db.py all of the .js and .css files just return 404 errors.
>>
>>
>> Anybody more knowledgeable than me want to take a look and perhaps offer 
>> a patch for the setup script?
>>
>> Thanks,
>> Brian
>>
>

-- 
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.


[web2py] Re: Adding scheduler to an existing app break the MySQL DB...

2014-06-24 Thread Niphlod
1. make sure no *_scheduler_*.table files are in the databases/* folder
2. make a request to create the tables appname/appadmin/index is fine 
to check if the tables are there or not. 

On Tuesday, June 24, 2014 3:33:24 PM UTC+2, Krzysztof Socha wrote:
>
> I am fighting it for some time now... I tried all the different ways to 
> migrate the database so that the tables for the scheduler are created, but 
> no luck - maybe someone could help...
>
> I have an existing application. Recently I decided I needed to run some 
> things in the background, so I added a scheduler.py model with content like 
> this: 
>
> def send_mail(jar_id):
>  logger.info('Mail notifications have been sent.')
>
>
>
> from gluon.scheduler import Scheduler
> scheduler = Scheduler(db)
>
> where db is defined like this in db.py model: 
>
> db = DAL('mysql://xxx:xxx@localhost/xxx',pool_size=1,check_reserved=['all'
> ],migrate=True,fake_migrate=False)
>
> As soon, as I try to schedule a task, this result in an 
> error: gluon.contrib.pymysql.err.ProgrammingError: (1146, u"Table 
> 'xxx.scheduler_task' doesn't exist")
>
> I tried setting the fake_migrate to True, removing files in xxx/databases, 
> etc. No luck. Any hint, how to make it work?
>
> Krzysztof.
>
>

-- 
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.


[web2py] Re: Installing Tornado with web2py

2014-06-24 Thread Niphlod
do you want to run web2py with tornado with nginx as frontend or what else ?

On Tuesday, June 24, 2014 10:57:11 AM UTC+2, Salvatore DI DIO wrote:
>
> Hello,
>
> I have installed web2py + uswgi + nginx.
> I would like to install Tornado.
>
> Does anybody could advise me with the recommended configuration
> to use ?
>
> Regards
>
>

-- 
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.


[web2py] Re: Installing Tornado with web2py

2014-06-24 Thread Massimo Di Pierro
you should be able to do

   sudo easy_install tornado

You can run web2py with tornado using anyserver.py (ships with web2py, -h 
for command line options).
Massimo




On Tuesday, 24 June 2014 03:57:11 UTC-5, Salvatore DI DIO wrote:
>
> Hello,
>
> I have installed web2py + uswgi + nginx.
> I would like to install Tornado.
>
> Does anybody could advise me with the recommended configuration
> to use ?
>
> Regards
>
>

-- 
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.


[web2py] accessing tables using web2py scheduler

2014-06-24 Thread Cory
Hi,
I am trying to access tables within my scheduler function. The tables I am 
trying to access require "@auth.requires_login()".
*Am I able to access these tables within my scheduler.py model file?* right 
now I am passing table row fields as parameters
to the scheduler function and it is very messy. 
In scheduler.py I have tried to include:

db = DAL("postgres://postgres..blah)
from gluon.tools import Auth
auth = Auth(db)

if auth.is_logged_in():


thanks!


-- 
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.


[web2py] Re: Issue deploying web2py even after following tutorial

2014-06-24 Thread Tim Richardson
what version of ubuntu?

On Wednesday, June 25, 2014 12:44:45 AM UTC+10, shachar lobl wrote:
>
> Hi,
>
> I've been struggling the last few days with deploying web2py on an EC2 
> Ubuntu instance. I describe the steps I took in SO in the link below.
>
>
> http://stackoverflow.com/questions/24371280/unable-to-access-web2py-server-running-in-ec2-instance
>
> I feel like it's something simple, and all help would be very much 
> appreciated. Thanks!
>
>

-- 
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.


[web2py] Re: Best No SQL DB supported by web2py?

2014-06-24 Thread Mandar Vaze
MongoDB has been marked experimental for quite some time - though.

On Wednesday, June 18, 2014 7:56:15 AM UTC+5:30, Anthony wrote:
>
> web2py supports MongoDB as well as the Google App Engine Datastore. There 
> is also a CouchDB adapter, though not sure how functional it is.
>
> Anthony
>
> On Tuesday, June 17, 2014 6:53:28 PM UTC-4, Derek wrote:
>>
>> There is none.
>>
>> On Tuesday, June 17, 2014 2:05:08 PM UTC-7, JorgeH wrote:
>>>
>>> Hello
>>>
>>> I have come to the conclusion that a No SQL  is best swited  for my 
>>> current project.
>>>
>>> What is the one Web2py support the most?
>>>
>>> thanks
>>>
>>

-- 
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.


[web2py] Display returned objects from load(ed) component when calling URL from Ajax

2014-06-24 Thread Andrew Evans
Hello I am facing a problem with returned output from a controller not
displaying when being called from a link using the ajax() function inside a
LOAD(ed) component.

*index*




 {{=LOAD('default', 'file_list.load', ajax=False)}}

--

*file_list.load*

 Que For Encryption 


*default/encrypt_file controller*

return dict(key=key, message="Encrypted Successfully")

How can I achieve the returned results of my controller in the *status* div
or alternative way

Thank you for any advice!

-- 
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.


[web2py] Sending the ID of the newly registered user in email message (auth.messages.verify_email)

2014-06-24 Thread Kenwyn Pilgrim
Hi
I'm trying to send the *id* of the newly registered user in the string 
*auth.messages.verify_email*. I've tried *%(id)s* but immediately get a 
ticket.

 'id'

When initializing the string *auth.messages.verify_email*, I've been able 
to use other place holders, such as *%(first_name)s*, *%(last_name)s *and 
even customer fields such as *%(referring_name)s*.
I've tried setting *auth.messages.verify_email* in default.py in the user() 
function as well, but it returns none.
I've also tried setting *auth.messages.verify_email * in a custom function 
through *auth.settings.register_onaccept*. Here I can see the *id* of the 
newly registered user, but it seems as though at this point, the mail has 
already been sent.

Also, where can I find a list of all the place holders such as *%(key)s* etc., 
that can be used in *auth.messages.verify_email*

Thanks much
 

-- 
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.


[web2py] A way to trigger method on update?

2014-06-24 Thread Omri Levy
Hi,

Is there a way to call a method when certain field is updated?
The intention is *not* to change the value of the field/represent it 
otherwise, but it has general purpose.

Thanks!

Omri.

-- 
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.


Re: [web2py] Re: Authorized File Download Error

2014-06-24 Thread Andrew Evans
Amazing! Thank you very much.


On Tue, Jun 24, 2014 at 10:49 AM, Massimo Di Pierro <
massimo.dipie...@gmail.com> wrote:

> This line
>
> db.personal_uploads.file_upload.authorize = lambda record: 
> auth.is_logged_in() and (record.members.contains(auth.user_id))
>
>
> should be
>
>
> db.personal_uploads.file_upload.authorize = lambda record: auth.user and 
> auth.user.id in (record.members or [])
>
>
> On Monday, 23 June 2014 13:26:20 UTC-5, Keri Sui wrote:
>>
>> Hello!
>>
>> I am trying to enable temporary access for users to downloadable files by
>> requesting access on a per file basis
>>
>> In my database.
>>
>>
>> Field('members', 'list:reference db.auth_user', default=auth.user_id,
>> requires=IS_IN_DB(db, db.auth_user, '%(first_name)s %(last_name)s
>> %(email)s', multiple=(1, 1000)), writable=False, readable=False),
>>
>> ...
>>
>>
>> db.personal_uploads.file_upload.authorize = lambda record:
>> auth.is_logged_in() and (record.members.contains(auth.user_id))
>>
>> Causes the following error when trying to download the file:
>>
>> Traceback (most recent call last):
>>   File "/home/www-data/web2py/gluon/restricted.py", line 220, in restricted
>> exec ccode in environment
>>   File 
>> "/home/www-data/web2py/applications/cryaboutit/controllers/default.py" 
>> , line 
>> 328, in 
>>   File "/home/www-data/web2py/gluon/globals.py", line 385, in 
>> self._caller = lambda f: f()
>>   File "/home/www-data/web2py/gluon/cache.py", line 523, in wrapped_f
>> rtn = func()
>>   File 
>> "/home/www-data/web2py/applications/cryaboutit/controllers/default.py" 
>> , line 
>> 298, in download
>> return response.download(request, db)
>>   File "/home/www-data/web2py/gluon/globals.py", line 601, in download
>> (filename, stream) = field.retrieve(name,nameonly=True)
>>   File "/home/www-data/web2py/gluon/dal.py", line 10029, in retrieve
>> if self.authorize and not self.authorize(row):
>>   File "/home/www-data/web2py/applications/cryaboutit/models/db.py" 
>> , line 138, in 
>> 
>> db.personal_uploads.file_upload.authorize = lambda record: 
>> auth.is_logged_in() and (record.members.contains(auth.user_id))
>> AttributeError: 'list' object has no attribute 'contains'
>>
>>
>>
>> Thank you for any advice offered.
>>
>>  --
> 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.
>

-- 
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.


[web2py] Re: Best No SQL DB supported by web2py?

2014-06-24 Thread Massimo Di Pierro
It is experimental only because I never tested it myself. From what I hear 
it works well.

On Wednesday, 25 June 2014 00:14:59 UTC-5, Mandar Vaze wrote:
>
> MongoDB has been marked experimental for quite some time - though.
>
> On Wednesday, June 18, 2014 7:56:15 AM UTC+5:30, Anthony wrote:
>>
>> web2py supports MongoDB as well as the Google App Engine Datastore. There 
>> is also a CouchDB adapter, though not sure how functional it is.
>>
>> Anthony
>>
>> On Tuesday, June 17, 2014 6:53:28 PM UTC-4, Derek wrote:
>>>
>>> There is none.
>>>
>>> On Tuesday, June 17, 2014 2:05:08 PM UTC-7, JorgeH wrote:

 Hello

 I have come to the conclusion that a No SQL  is best swited  for my 
 current project.

 What is the one Web2py support the most?

 thanks

>>>

-- 
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.


[web2py] Re: A way to trigger method on update?

2014-06-24 Thread 黄祥
i think you can achieve it using before and after update callback (handle 
in dal), another way is using onupdate (handle in form)

best regards,
stifan

-- 
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.