瀏覽代碼

[GINR] Email warn and name+affiliation at signup

cgars 8 年之前
父節點
當前提交
7b32fef6a5
共有 4 個文件被更改,包括 60 次插入39 次删除
  1. 6 4
      pkg/form/user.go
  2. 2 0
      routes/user/auth.go
  3. 51 34
      templates/user/auth/signup.tmpl
  4. 1 1
      templates/user/settings/profile.tmpl

+ 6 - 4
pkg/form/user.go

@@ -63,10 +63,12 @@ func (f *Install) Validate(ctx *macaron.Context, errs binding.Errors) binding.Er
 //         \/                         \/
 //         \/                         \/
 
 
 type Register struct {
 type Register struct {
-	UserName string `binding:"Required;AlphaDashDot;MaxSize(35)"`
-	Email    string `binding:"Required;Email;MaxSize(254)"`
-	Password string `binding:"Required;MaxSize(255)"`
-	Retype   string
+	UserName    string `binding:"Required;AlphaDashDot;MaxSize(35)"`
+	Email       string `binding:"Required;Email;MaxSize(254)"`
+	Password    string `binding:"Required;MaxSize(255)"`
+	Retype      string
+	FullName    string
+	Affiliation string
 }
 }
 
 
 func (f *Register) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 func (f *Register) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {

+ 2 - 0
routes/user/auth.go

@@ -334,6 +334,8 @@ func SignUpPost(c *context.Context, cpt *captcha.Captcha, f form.Register) {
 		Name:     f.UserName,
 		Name:     f.UserName,
 		Email:    f.Email,
 		Email:    f.Email,
 		Passwd:   f.Password,
 		Passwd:   f.Password,
+		FullName: f.FullName,
+		Location: f.Affiliation,
 		IsActive: !setting.Service.RegisterEmailConfirm,
 		IsActive: !setting.Service.RegisterEmailConfirm,
 	}
 	}
 	if err := models.CreateUser(u); err != nil {
 	if err := models.CreateUser(u); err != nil {

+ 51 - 34
templates/user/auth/signup.tmpl

@@ -12,41 +12,58 @@
 					{{if .DisableRegistration}}
 					{{if .DisableRegistration}}
 						<p>{{.i18n.Tr "auth.disable_register_prompt"}}</p>
 						<p>{{.i18n.Tr "auth.disable_register_prompt"}}</p>
 					{{else}}
 					{{else}}
-						<div class="required inline field {{if .Err_UserName}}error{{end}}">
-							<label for="user_name">{{.i18n.Tr "username"}}</label>
-							<input id="user_name" name="user_name" value="{{.user_name}}" autofocus required>
-						</div>
-						<div class="required inline field {{if .Err_Email}}error{{end}}">
-							<label for="email">{{.i18n.Tr "email"}}</label>
-							<input id="email" name="email" type="email" value="{{.email}}" required>
-						</div>
-						<div class="required inline field {{if .Err_Password}}error{{end}}">
-							<label for="password">{{.i18n.Tr "password"}}</label>
-							<input id="password" name="password" type="password" value="{{.password}}" required>
-						</div>
-						<div class="required inline field {{if .Err_Password}}error{{end}}">
-							<label for="retype">{{.i18n.Tr "re_type"}}</label>
-							<input id="retype" name="retype" type="password" value="{{.retype}}" required>
-						</div>
-						{{if .EnableCaptcha}}
-							<div class="inline field">
-								<label></label>
-								{{.Captcha.CreateHtml}}
-							</div>
-							<div class="required inline field {{if .Err_Captcha}}error{{end}}">
-								<label for="captcha">{{.i18n.Tr "captcha"}}</label>
-								<input id="captcha" name="captcha" value="{{.captcha}}" autocomplete="off">
-							</div>
-						{{end}}
+					<div class="ui piled yellow segment">
+						<h4 class="ui header">Please note!</h4>
+						For Registration we require only username, password and email. Please use an institutional email to
+						register. Otherwise you will only be able to use a subset of gins functionality and your maximum
+						repository size will be dramatically reduced
+					</div>
+					<div class="ui required inline field {{if .Err_UserName}}error{{end}}"
+							 data-tooltip="Username is used to create and to display your repositories. Choose wisely">
+						<label for="user_name">{{.i18n.Tr "username"}}</label>
+						<input id="user_name" name="user_name" value="{{.user_name}}" autofocus required>
+					</div>
+					<div class="required inline field {{if .Err_Email}}error{{end}}"
+							 data-tooltip="Please register with an institutional email (see above)">
+						<label for="email">{{.i18n.Tr "email"}}</label>
+						<input id="email" name="email" type="email" value="{{.email}}" required>
+					</div>
+					<div class="required inline field {{if .Err_Password}}error{{end}}">
+						<label for="password">{{.i18n.Tr "password"}}</label>
+						<input id="password" name="password" type="password" value="{{.password}}" required>
+					</div>
+					<div class="required inline field {{if .Err_Password}}error{{end}}">
+						<label for="retype">{{.i18n.Tr "re_type"}}</label>
+						<input id="retype" name="retype" type="password" value="{{.retype}}" required>
+					</div>
+					<div class="inline field">
+						<label for="retype">Full Name</label>
+						<input id="full_name" name="full_name" value="{{.full_name}}" required>
+					</div>
+					<div class="inline field">
+						<label for="retype">Affiliation</label>
+						<input id="affiliation" name="affiliation" value="{{.affiliation}}" required>
+					</div>
+					{{if .EnableCaptcha}}
+					<div class="inline field">
+						<label></label>
+						{{.Captcha.CreateHtml}}
+					</div>
+					<div class="required inline field {{if .Err_Captcha}}error{{end}}">
+						<label for="captcha">{{.i18n.Tr "captcha"}}</label>
+						<input id="captcha" name="captcha" value="{{.captcha}}" autocomplete="off">
+					</div>
+					{{end}}
 
 
-						<div class="inline field">
-							<label></label>
-							<button class="ui green button">{{.i18n.Tr "auth.create_new_account"}}</button>
-						</div>
-						<div class="inline field">
-							<label></label>
-							<a href="{{AppSubURL}}/user/login">{{.i18n.Tr "auth.register_hepler_msg"}}</a>
-						</div>
+					<div class="inline field">
+						<label></label>
+						<button class="ui green button">{{.i18n.Tr "auth.create_new_account"}}</button>
+					</div>
+					<div class="inline field">
+						<label></label>
+						<a href="/G-Node/Info/wiki/Terms+of+Use">By clicking "{{.i18n.Tr "auth.create_new_account"}}", you agree to
+							our Terms of Use.</a>
+					</div>
 					{{end}}
 					{{end}}
 				</div>
 				</div>
 			</form>
 			</form>

+ 1 - 1
templates/user/settings/profile.tmpl

@@ -32,7 +32,7 @@
 							<input id="website" name="website" type="url" value="{{.website}}">
 							<input id="website" name="website" type="url" value="{{.website}}">
 						</div>
 						</div>
 						<div class="field">
 						<div class="field">
-							<label for="location">{{.i18n.Tr "settings.location"}}</label>
+							<label for="location">Affiliation</label>
 							<input id="location" name="location"  value="{{.location}}">
 							<input id="location" name="location"  value="{{.location}}">
 						</div>
 						</div>