mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-30 19:15:23 +01:00 
			
		
		
		
	Partially for #24457 Major changes: 1. The old `signedUserNameStringPointerKey` is quite hacky, use `ctx.Data[SignedUser]` instead 2. Move duplicate code from `Contexter` to `CommonTemplateContextData` 3. Remove incorrect copying&pasting code `ctx.Data["Err_Password"] = true` in API handlers 4. Use one unique `RenderPanicErrorPage` for panic error page rendering 5. Move `stripSlashesMiddleware` to be the first middleware 6. Install global panic recovery handler, it works for both `install` and `web` 7. Make `500.tmpl` only depend minimal template functions/variables, avoid triggering new panics Screenshot: <details>  </details>
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2020 The Gitea Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package templates
 | |
| 
 | |
| import (
 | |
| 	"strings"
 | |
| 
 | |
| 	"code.gitea.io/gitea/modules/assetfs"
 | |
| 	"code.gitea.io/gitea/modules/setting"
 | |
| 	"code.gitea.io/gitea/modules/util"
 | |
| )
 | |
| 
 | |
| func AssetFS() *assetfs.LayeredFS {
 | |
| 	return assetfs.Layered(CustomAssets(), BuiltinAssets())
 | |
| }
 | |
| 
 | |
| func CustomAssets() *assetfs.Layer {
 | |
| 	return assetfs.Local("custom", setting.CustomPath, "templates")
 | |
| }
 | |
| 
 | |
| func ListWebTemplateAssetNames(assets *assetfs.LayeredFS) ([]string, error) {
 | |
| 	files, err := assets.ListAllFiles(".", true)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	return util.SliceRemoveAllFunc(files, func(file string) bool {
 | |
| 		return strings.HasPrefix(file, "mail/") || !strings.HasSuffix(file, ".tmpl")
 | |
| 	}), nil
 | |
| }
 | |
| 
 | |
| func ListMailTemplateAssetNames(assets *assetfs.LayeredFS) ([]string, error) {
 | |
| 	files, err := assets.ListAllFiles(".", true)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	return util.SliceRemoveAllFunc(files, func(file string) bool {
 | |
| 		return !strings.HasPrefix(file, "mail/") || !strings.HasSuffix(file, ".tmpl")
 | |
| 	}), nil
 | |
| }
 |