web2py form with DB check [closed] - forms
Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 7 years ago.
Improve this question
I'm using web2py forms, but I need to set up a limit for 20 users registration. How can I do it?
PS: Edit to make easy to understand
Thanks in advance.
Best regards!
Assuming you wish to limit registration to a maximum of 20 users and you are using the standard /default/user function from the scaffolding application:
In the default.py controller:
def user():
if request.args(0) == 'register' and db.auth_user.count() >= 20:
form = None
else:
form = auth()
return dict(form=form)
In the default/user.html view:
{{if form is None:}}
<p>Sorry, no more registrations allowed.</p>
{{else:}}
{{=form}}
{{pass}}
Related
Implementing a dynamic security rule function that works with custom claims? [closed]
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers. This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers. Closed 15 days ago. Improve this question I am trying to implement a security rules function that will work with custom claims. depending on the custom claim case it will return a chunk that represent the security rules for the current related case at hand that will represent the state that user is currently in current code looks like this. // fn arg // request.resource.data // request.auth.token.userPlan function userPlanChecker(requestData, userPlan) { return ( // max 25 related clients (userPlan== 'basic' && requestData.clients.size() <= 25) || (userPlan== 'pro' && requestData.clients.size() <= 50) || (userPlan== 'ultimate' && requestData.clients.size() <= 75) ) } the idea is to use custom claim case name to return the current limit on the array size, thus allow more control over limitation of how many clients a user could have. ?
After creating tab bars and widgets the emulator gives such an error when opening the app [closed]
Closed. This question needs debugging details. It is not currently accepting answers. Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question. Closed 2 years ago. Improve this question I could not transfer my code to the site as I wrote it, but I placed your photo Please can you help me?
You are getting the error because you are trying to pass an uninitialized String to a Text-Widget (Naber). A Text-Widget can not handle uninitialized Strings which have the value null. Therefore try initializing the String 'Naber' directly like: String Naber = 'Some text'; This should work.
How to store an array in session in Perl [closed]
Closed. This question needs debugging details. It is not currently accepting answers. Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question. Closed 5 years ago. Improve this question I am using Mojolicious Perl framework in my application. I want to store an array in session, but is not successful. my #returnResult; $returnResult['fn'] = $decoded->{'fn'}; $returnResult['ln'] = $decoded->{'ln'}; $self->session(returnResult => #returnResult); Please help.
See hashes in Modern Perl and perldata. my %return_result; $returnResult{fn} = $decoded->{fn}; $returnResult{ln} = $decoded->{ln}; or my %return_result = ( fn => $decoded->{fn}, ln => $decoded->{ln}, ); or simply # http://perldoc.perl.org/perl5200delta.html#New-slice-syntax my %return_result = %$decoded{qw(fn ln)}; You do not get automatic references like in other languages. Use the \ operator. $self->session(returnResult => \%return_result);
What text (in English) should I use when asking the user to overwrite a document? [closed]
Closed. This question is opinion-based. It is not currently accepting answers. Want to improve this question? Update the question so it can be answered with facts and citations by editing this post. Closed 7 years ago. Improve this question I write a lot of applications in C# and I'm trying to sew up some holes in my standard practices. Specifically, I'm trying to decide on the best text to use in a message box, and I thought I'd ask the StackOverflow community since I believe that many opinions are always better than one. What I have currently is: "Document XXX.docx already exists. Okay to overwrite?" Buttons for; Yes, No and Cancel I'm really interested to see which examples turn out to be the most popular. There are no limits on the style used; formal, casual, humourous, etc. All suggestions are welcome. Aim to err safely within political correctness though. On a small side note: It would also be great, but by no means essential, to consider that the same text could also be suitable for a command line program. Please note: English language only please. For other languages, please raise a new question.
Personally, I like to see a bit more context and slightly different wording. Something like: "<existing document name>" already exists in "<destination path>". Would you like to replace it (Y/N)? or perhaps with even more information: "<existing document name>" (<bytes>) (<date modified>) already exists in "<destination path>". Would you like to replace it with file of size <new bytes>, last modified <new date modified> (Y/N)? I think "replace" is a bit more clear than "overwrite" - and (speculation) may translate into other languages, and maintain the intended meaning more often. ...and one last option with new file name/location info: "<existing document name>" (<bytes>) (<date modified>) already exists in "<destination path>". Would you like to replace it with file "<new file name>" in "<new path>" of size <new bytes>, last modified <new date modified> (Y/N)? This last one would probably just show a temp file / buffer location for an initial file save--but it is reusable, and more meaningful when doing a file copy. Hope you find one of these useful. Cheers, Hans
Title: Overwrite? "XXX.docx exists. Would you like to overwrite XXX.docx?" Buttons: Overwrite, Keep, Panic
Simple solutions are usually best, for example windows user might find it familiar to see a message : He has 3 options : Replace Abort action x3 Create with a new name
Please anyone be so kind help! Matlab [closed]
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers. This question appears to be off-topic because it lacks sufficient information to diagnose the problem. Describe your problem in more detail or include a minimal example in the question itself. Closed 8 years ago. Improve this question I have this data of year, month, date. I want this to show as year,month,date in Matlab and don't know how to do. X=(2014,01,02 2014,01,03 2014,01,07 2014,01,08 2014,01,09 2014,01,10 2014,01,13 2014,01,14 2014,01,15 2014,01,16 2014,01,17 2014,01,20 2014,01,21 2014,01,22 2014,01,23 2014,01,24 2014,01,27 2014,01,28 2014,01,29 2014,01,30 2014,01,31 2014,02,03 2014,02,04 2014,02,05 2014,02,06 2014,02,07 2014,02,10 2014,02,11 2014,02,12 2014,02,13 2014,02,14 2014,02,17 2014,02,18 2014,02,19 2014,02,20 2014,02,21 2014,02,24 2014,02,25 2014,02,26 2014,02,27 2014,02,28 2014,03,03)
The simplest way would be to reshape the matrix and use it accordingly. I demonstrate the way to reshape and print all the dates in US (MM/DD/YYYY) format. X=[2014,01,02 2014,01,03 2014,01,07 2014,01,08 2014,01,09 2014,01,10 2014,01,13 2014,01,14 2014,01,15 2014,01,16 2014,01,17 2014,01,20 2014,01,21 2014,01,22 2014,01,23 2014,01,24 2014,01,27 2014,01,28 2014,01,29 2014,01,30 2014,01,31 2014,02,03 2014,02,04 2014,02,05 2014,02,06 2014,02,07 2014,02,10 2014,02,11 2014,02,12 2014,02,13 2014,02,14 2014,02,17 2014,02,18 2014,02,19 2014,02,20 2014,02,21 2014,02,24 2014,02,25 2014,02,26 2014,02,27 2014,02,28 2014,03,03]; X_in_better_format = reshape(X,3,42)'; for it = 1:size(X_in_better_format,1) sprintf('The date is %d/%d/%d',X_in_better_format(it,2),X_in_better_format(it,3),X_in_better_format(it,1)) %US Format end