#2937 able to prohibit user login
This commit is contained in:
		
							parent
							
								
									52322ef624
								
							
						
					
					
						commit
						c083d76567
					
				
					 11 changed files with 41 additions and 6 deletions
				
			
		|  | @ -3,7 +3,7 @@ Gogs - Go Git Service [ | ||||
| 
 | ||||
| ##### Current tip version: 0.9.44 (see [Releases](https://github.com/gogits/gogs/releases) for binary versions) | ||||
| ##### Current tip version: 0.9.45 (see [Releases](https://github.com/gogits/gogs/releases) for binary versions) | ||||
| 
 | ||||
| | Web | UI  | Preview  | | ||||
| |:-------------:|:-------:|:-------:| | ||||
|  |  | |||
|  | @ -148,6 +148,8 @@ forget_password = Forgot password? | |||
| sign_up_now = Need an account? Sign up now. | ||||
| confirmation_mail_sent_prompt = A new confirmation email has been sent to <b>%s</b>, please check your inbox within the next %d hours to complete the registration process. | ||||
| active_your_account = Activate Your Account | ||||
| prohibit_login = Login Prohibited | ||||
| prohibit_login_desc = Your account is prohibited to login, please contact site admin. | ||||
| resent_limit_prompt = Sorry, you already requested an activation email recently. Please wait 3 minutes then try again. | ||||
| has_unconfirmed_mail = Hi %s, you have an unconfirmed email address (<b>%s</b>). If you haven't received a confirmation email or need to resend a new one, please click on the button below. | ||||
| resend_mail = Click here to resend your activation email | ||||
|  | @ -890,6 +892,7 @@ users.edit_account = Edit Account | |||
| users.max_repo_creation = Maximum Repository Creation Limit | ||||
| users.max_repo_creation_desc = (Set -1 to use global default limit) | ||||
| users.is_activated = This account is activated | ||||
| users.prohibit_login = This account is prohibited to login | ||||
| users.is_admin = This account has administrator permissions | ||||
| users.allow_git_hook = This account has permissions to create Git hooks | ||||
| users.allow_import_local = This account has permissions to import local repositories | ||||
|  |  | |||
							
								
								
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							|  | @ -17,7 +17,7 @@ import ( | |||
| 	"github.com/gogits/gogs/modules/setting" | ||||
| ) | ||||
| 
 | ||||
| const APP_VER = "0.9.44.0716" | ||||
| const APP_VER = "0.9.45.0716" | ||||
| 
 | ||||
| func init() { | ||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||
|  |  | |||
|  | @ -86,6 +86,7 @@ type User struct { | |||
| 	IsAdmin          bool | ||||
| 	AllowGitHook     bool | ||||
| 	AllowImportLocal bool // Allow migrate repository by local path
 | ||||
| 	ProhibitLogin    bool | ||||
| 
 | ||||
| 	// Avatar
 | ||||
| 	Avatar          string `xorm:"VARCHAR(2048) NOT NULL"` | ||||
|  |  | |||
|  | @ -36,6 +36,7 @@ type AdminEditUserForm struct { | |||
| 	Admin            bool | ||||
| 	AllowGitHook     bool | ||||
| 	AllowImportLocal bool | ||||
| 	ProhibitLogin    bool | ||||
| } | ||||
| 
 | ||||
| func (f *AdminEditUserForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { | ||||
|  |  | |||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -29,7 +29,14 @@ func Toggle(options *ToggleOptions) macaron.Handler { | |||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		// Checking non-logged users landing page.
 | ||||
| 		// Check prohibit login users.
 | ||||
| 		if ctx.IsSigned && ctx.User.ProhibitLogin { | ||||
| 			ctx.Data["Title"] = ctx.Tr("auth.prohibit_login") | ||||
| 			ctx.HTML(200, "user/auth/prohibit_login") | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		// Check non-logged users landing page.
 | ||||
| 		if !ctx.IsSigned && ctx.Req.RequestURI == "/" && setting.LandingPageUrl != setting.LANDING_PAGE_HOME { | ||||
| 			ctx.Redirect(setting.AppSubUrl + string(setting.LandingPageUrl)) | ||||
| 			return | ||||
|  |  | |||
|  | @ -206,6 +206,7 @@ func EditUserPost(ctx *context.Context, form auth.AdminEditUserForm) { | |||
| 	u.IsAdmin = form.Admin | ||||
| 	u.AllowGitHook = form.AllowGitHook | ||||
| 	u.AllowImportLocal = form.AllowImportLocal | ||||
| 	u.ProhibitLogin = form.ProhibitLogin | ||||
| 
 | ||||
| 	if err := models.UpdateUser(u); err != nil { | ||||
| 		if models.IsErrEmailAlreadyUsed(err) { | ||||
|  |  | |||
|  | @ -1 +1 @@ | |||
| 0.9.44.0716 | ||||
| 0.9.45.0716 | ||||
|  | @ -73,6 +73,12 @@ | |||
| 								<input name="active" type="checkbox" {{if .User.IsActive}}checked{{end}}> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 						<div class="inline field"> | ||||
| 							<div class="ui checkbox"> | ||||
| 								<label><strong>{{.i18n.Tr "admin.users.prohibit_login"}}</strong></label> | ||||
| 								<input name="prohibit_login" type="checkbox" {{if .User.ProhibitLogin}}checked{{end}}> | ||||
| 							</div> | ||||
| 						</div> | ||||
| 						<div class="inline field"> | ||||
| 							<div class="ui checkbox"> | ||||
| 								<label><strong>{{.i18n.Tr "admin.users.is_admin"}}</strong></label> | ||||
|  |  | |||
							
								
								
									
										16
									
								
								templates/user/auth/prohibit_login.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								templates/user/auth/prohibit_login.tmpl
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| {{template "base/head" .}} | ||||
| <div class="user activate"> | ||||
| 	<div class="ui middle very relaxed page grid"> | ||||
| 		<div class="column"> | ||||
| 			<form class="ui form"> | ||||
| 				<h2 class="ui top attached header"> | ||||
| 					{{.i18n.Tr "auth.prohibit_login"}} | ||||
| 				</h2> | ||||
| 				<div class="ui attached segment"> | ||||
| 					<p>{{.i18n.Tr "auth.prohibit_login_desc"}}</p> | ||||
| 				</div> | ||||
| 			</form> | ||||
| 		</div> | ||||
| 	</div> | ||||
| </div> | ||||
| {{template "base/footer" .}} | ||||
		Loading…
	
		Reference in a new issue