Skip to content

Commit

Permalink
Make address in registration as optional
Browse files Browse the repository at this point in the history
  • Loading branch information
arief-hidayat committed Nov 11, 2012
1 parent 1e6ccd9 commit 43bc81d
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 6 deletions.
@@ -1,5 +1,7 @@
package enlist.grails

import org.apache.commons.lang.StringUtils

class RegisterController {

static allowedMethods = [save: "POST", update: "POST", delete: "POST"]
Expand All @@ -14,6 +16,7 @@ class RegisterController {
log.debug "Saving new user for registration params:$params"
def user = new User(params)
user.status = Status.findByStatus("Pending")
if (StringUtils.isBlank(user.address?.address1)) user.address = null
user.save(failOnError:true)
log.debug "Sending email for registration confirmation for ${user.username}"
mailService.sendMail {
Expand Down
28 changes: 27 additions & 1 deletion grails-app/views/register/create.gsp
Expand Up @@ -37,7 +37,14 @@
<f:field bean="user" property="password"/>
<f:field bean="user" property="email"/>
<f:field bean="user" property="phone"/>
<f:field bean="user" property="address"/>

<button type="button" class="btn btn-link" data-toggle="collapse" data-target="#register-address">
Fill in address now
</button>
<div id="register-address" class="collapse">
<f:field bean="user" property="address"/>
</div>
%{--<f:field bean="user" property="address"/>--}%

<div class="form-actions">
<button type="submit" class="btn btn-primary">
Expand All @@ -51,5 +58,24 @@
</div>

</div>
<script>
var requiredEmbeddedField= "req-emb";
var $embeddedView = $('#register-address');
var isInitiallyShown = $embeddedView.hasClass("in");
$embeddedView.find(":input[required]").each(function(){
$(this).addClass(requiredEmbeddedField)
if(isInitiallyShown == false) $(this).removeAttr("required");
});
$embeddedView.on('hidden', function () {
$embeddedView.find("."+requiredEmbeddedField).each(function(){
$(this).removeAttr("required");
})
}).on('shown', function () {
$embeddedView.find("."+requiredEmbeddedField).each(function(){
$(this).attr("required", "required");
})
});
</script>
</body>
</html>
6 changes: 1 addition & 5 deletions src/groovy/enlist/grails/util/DateParser.groovy
Expand Up @@ -26,11 +26,7 @@ class DateParser {
}
static String printDefault(Date value ) { print(DEFAULT_DATE_FORMAT, value) }
static String printDateTimeDefault(Date value ) { print(DEFAULT_DATE_TIME_FORMAT, value) }
static String printTimeDefault(Date value ) {
String str = print(DEFAULT_TIME_ONLY_FORMAT, value)
println "printTimeDefault: ${str}"
return str;
}
static String printTimeDefault(Date value ) { print(DEFAULT_TIME_ONLY_FORMAT, value) }

static Date parse(String format, String value ) {
if(StringUtils.isEmpty(value)) return null
Expand Down

0 comments on commit 43bc81d

Please sign in to comment.