Thank you Villas, you've been much helpful

On Thursday, July 23, 2020 at 2:05:49 PM UTC+2, villas wrote:
>
> As you've discovered, random doesn't work in this context.  Make an array 
> of class attendee numbers and then allocate the class which has the fewest 
> students.  
>
>
> On Thursday, 23 July 2020 12:50:00 UTC+1, mostwanted wrote:
>>
>> Well the whole concept behind this application was that allocation of 
>> spaces in time, days & class rooms should be automatic, the user should 
>> just select the lecturer, the subject & the period the subject takes 
>> (Double session=2hrs, Single session=1hr) from there after the user submits 
>> that information its allocated time, day & class room automatically. 
>>
>> To determine the whole automatic process I used the random() method, the 
>> problem with it is that after a while of entering details some random 
>> determinants start to repeat & alot more than desired causing conflict & 
>> triggering (conflict handling methods) in my validation function!
>>
>> With the above code I wanted to just keep up with the whole automatic 
>> notion of it!
>>
>> On Thursday, July 23, 2020 at 1:12:17 PM UTC+2, villas wrote:
>>>
>>> Suggestion:
>>> Your idea of overriding the user's selections with random choices seems 
>>> strange.
>>> Why not ask the user to specify a date and then show him which classes 
>>> are available nearest that date/time?  
>>> He can then choose one of those.
>>>
>>>
>>> On Wednesday, 22 July 2020 19:04:27 UTC+1, mostwanted wrote:
>>>>
>>>> After a form has failed to save because that information already exists 
>>>> in the database I wanna try & alter the value that determines a day where 
>>>> the info is saved in the db for the form to be saved in a different day 
>>>> that does not contain similar form details currently attempting to be 
>>>> saved 
>>>> and this should be done automatically without the engaging the user E.G:
>>>>
>>>>
>>>> def my_validator(form):
>>>>     control=['1', '2', '3', '4' ,'5']
>>>>     form.vars.controller = random.choice(control)
>>>>     if db((db.lecture.id == form.vars.id) & (d.controller==form.vars.
>>>> controller) & (db.lecture.lecture_time == form.vars.lecture_time)).
>>>> count() >0:
>>>>
>>>>     if int(form.vars.controller) < int(control[4]):
>>>>             int(form.vars.controller) +1
>>>>             response.flash=T('Saved in',' ', int(form.vars.controller) 
>>>> +1)
>>>>                 
>>>>     if int(form.vars.controller) > int(control[4]):
>>>>             int(form.vars.controller) -1
>>>>             repsonse.flash=T('Saved in',' ', int(form.vars.controller) 
>>>> -1)
>>>>
>>>>     else:
>>>>         form.errors.lecturer=SPAN("Record already exists in the whole 
>>>> database", _style="font-weight: bold;")
>>>>
>>>> The above code doesnt work but its the concept thats in my head, where 
>>>> can I fix it?
>>>>
>>>>
>>>> On Tuesday, July 21, 2020 at 12:16:29 PM UTC+2, villas wrote:
>>>>>
>>>>> Your my_validator function iterates through the whole table.  This is 
>>>>> OK when you have a few records,  but very inefficient if you have 
>>>>> thousands/millions.  Why not simply query the table?  Something like 
>>>>> this...
>>>>>
>>>>> def my_validator(form):
>>>>>     if db((db.lecture.id == form.vars.id) & (db.lecture.lecture_time 
>>>>> == form.vars.lecture_time)
>>>>>          ).count() >0:
>>>>>         form.errors.lecturer=SPAN("Record already exists", 
>>>>> _style="font-weight: 
>>>>> bold;")
>>>>>
>>>>>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/474f2a31-021e-4a17-8fb3-5294622dc7a3o%40googlegroups.com.

Reply via email to