db.property.property_type.writable = False

Anthony

On Wednesday, April 18, 2012 4:32:02 PM UTC-4, leftcase wrote:
>
> I've put this into the controller to test this out:
>
> def create_newbuild():
>     #newbuild and resale properties share the same table.
>     #the extraneous fields are rendered non-writable by the below
>     db.property.land.writable = False
>     db.property.reference_number.writable = False
>     db.property.habitable_area.writable = False
>     db.property.utilities.writable = False
>     db.property.address.writable = False
>     db.property.postcode.writable = False
>     db.property.land.readable = False
>     db.property.reference_number.readable = False
>     db.property.habitable_area.readable = False
>     db.property.utilities.readable = False
>     db.property.address.readable = False
>     db.property.postcode.readable = False
>     db.property.property_type.default="2" #select the newbuild property 
> type and hide the option from the user
>     db.property.property_type.readable = False
>     form=SQLFORM(db.property)
>     if form.process().accepted:
>         response.flash = 'form accepted'
>     elif form.errors:
>         response.flash = 'form has errors'
>     else:
>         response.flash = 'please fill out the form'
>     return dict(form=form)
>
> Strange thing is though that the property_type field still appears on the 
> form. Any ideas why?
>
> Thank you,
>
> Chris
>
> On Wed, Apr 18, 2012 at 3:43 PM, Chris Rowson <christopherrow...@gmail.com
> > wrote:
>
>> Thanks for confirming this for me, this did seem to be the most sensible 
>> way to approach the problem :-)
>>
>> Chris
>>
>>
>> On Wed, Apr 18, 2012 at 1:04 AM, simon <simo...@gmail.com> wrote:
>>
>>> You can do this with a single form. At the top of the controller set 
>>> readable=false,  writable=false for the fields you do not want on the form.
>>>
>>> On Tuesday, 17 April 2012 23:44:54 UTC+1, leftcase wrote:
>>>
>>>> I'm a new adopter of web2py and I'm trying to learn the framework by 
>>>> building a simple property site. 
>>>>
>>>> I have two types of properties, new or old. 
>>>>
>>>> New properties have a few core attributes, let's say name, price, 
>>>> location, bedrooms 
>>>>
>>>> Old properties have the same core attributes with a few more added on, 
>>>> for instance utilities, land, lease type.
>>>>
>>>> I've tried making a table for new properties and a table for old 
>>>> properties but it seems to complicate things if I for instance want to 
>>>> list 
>>>> all types of properties (new and old) and order by price (I've been 
>>>> struggling to figure out how to aggregate the results from both tables 
>>>> then 
>>>> order by price).
>>>>
>>>> Would it make more sense to have one table with all of the fields for 
>>>> new and old properties and simply create two different forms with 
>>>> different 
>>>> fields exposed depending on whether or not the user wants to create a new 
>>>> or an old property?
>>>>
>>>> Thanks in advance,
>>>>
>>>> Chris
>>>>
>>>
>>
>

Reply via email to