code.gitea.io/gitea@v1.21.7/routers/web/org/setting_packages.go (about)

     1  // Copyright 2022 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package org
     5  
     6  import (
     7  	"fmt"
     8  	"net/http"
     9  
    10  	"code.gitea.io/gitea/modules/base"
    11  	"code.gitea.io/gitea/modules/context"
    12  	"code.gitea.io/gitea/modules/setting"
    13  	shared "code.gitea.io/gitea/routers/web/shared/packages"
    14  	shared_user "code.gitea.io/gitea/routers/web/shared/user"
    15  )
    16  
    17  const (
    18  	tplSettingsPackages            base.TplName = "org/settings/packages"
    19  	tplSettingsPackagesRuleEdit    base.TplName = "org/settings/packages_cleanup_rules_edit"
    20  	tplSettingsPackagesRulePreview base.TplName = "org/settings/packages_cleanup_rules_preview"
    21  )
    22  
    23  func Packages(ctx *context.Context) {
    24  	ctx.Data["Title"] = ctx.Tr("packages.title")
    25  	ctx.Data["PageIsOrgSettings"] = true
    26  	ctx.Data["PageIsSettingsPackages"] = true
    27  
    28  	err := shared_user.LoadHeaderCount(ctx)
    29  	if err != nil {
    30  		ctx.ServerError("LoadHeaderCount", err)
    31  		return
    32  	}
    33  
    34  	shared.SetPackagesContext(ctx, ctx.ContextUser)
    35  
    36  	ctx.HTML(http.StatusOK, tplSettingsPackages)
    37  }
    38  
    39  func PackagesRuleAdd(ctx *context.Context) {
    40  	ctx.Data["Title"] = ctx.Tr("packages.title")
    41  	ctx.Data["PageIsOrgSettings"] = true
    42  	ctx.Data["PageIsSettingsPackages"] = true
    43  
    44  	err := shared_user.LoadHeaderCount(ctx)
    45  	if err != nil {
    46  		ctx.ServerError("LoadHeaderCount", err)
    47  		return
    48  	}
    49  
    50  	shared.SetRuleAddContext(ctx)
    51  
    52  	ctx.HTML(http.StatusOK, tplSettingsPackagesRuleEdit)
    53  }
    54  
    55  func PackagesRuleEdit(ctx *context.Context) {
    56  	ctx.Data["Title"] = ctx.Tr("packages.title")
    57  	ctx.Data["PageIsOrgSettings"] = true
    58  	ctx.Data["PageIsSettingsPackages"] = true
    59  
    60  	err := shared_user.LoadHeaderCount(ctx)
    61  	if err != nil {
    62  		ctx.ServerError("LoadHeaderCount", err)
    63  		return
    64  	}
    65  
    66  	shared.SetRuleEditContext(ctx, ctx.ContextUser)
    67  
    68  	ctx.HTML(http.StatusOK, tplSettingsPackagesRuleEdit)
    69  }
    70  
    71  func PackagesRuleAddPost(ctx *context.Context) {
    72  	ctx.Data["Title"] = ctx.Tr("packages.title")
    73  	ctx.Data["PageIsOrgSettings"] = true
    74  	ctx.Data["PageIsSettingsPackages"] = true
    75  
    76  	shared.PerformRuleAddPost(
    77  		ctx,
    78  		ctx.ContextUser,
    79  		fmt.Sprintf("%s/org/%s/settings/packages", setting.AppSubURL, ctx.ContextUser.Name),
    80  		tplSettingsPackagesRuleEdit,
    81  	)
    82  }
    83  
    84  func PackagesRuleEditPost(ctx *context.Context) {
    85  	ctx.Data["Title"] = ctx.Tr("packages.title")
    86  	ctx.Data["PageIsOrgSettings"] = true
    87  	ctx.Data["PageIsSettingsPackages"] = true
    88  
    89  	shared.PerformRuleEditPost(
    90  		ctx,
    91  		ctx.ContextUser,
    92  		fmt.Sprintf("%s/org/%s/settings/packages", setting.AppSubURL, ctx.ContextUser.Name),
    93  		tplSettingsPackagesRuleEdit,
    94  	)
    95  }
    96  
    97  func PackagesRulePreview(ctx *context.Context) {
    98  	ctx.Data["Title"] = ctx.Tr("packages.title")
    99  	ctx.Data["PageIsOrgSettings"] = true
   100  	ctx.Data["PageIsSettingsPackages"] = true
   101  
   102  	err := shared_user.LoadHeaderCount(ctx)
   103  	if err != nil {
   104  		ctx.ServerError("LoadHeaderCount", err)
   105  		return
   106  	}
   107  
   108  	shared.SetRulePreviewContext(ctx, ctx.ContextUser)
   109  
   110  	ctx.HTML(http.StatusOK, tplSettingsPackagesRulePreview)
   111  }
   112  
   113  func InitializeCargoIndex(ctx *context.Context) {
   114  	ctx.Data["Title"] = ctx.Tr("packages.title")
   115  	ctx.Data["PageIsOrgSettings"] = true
   116  	ctx.Data["PageIsSettingsPackages"] = true
   117  
   118  	shared.InitializeCargoIndex(ctx, ctx.ContextUser)
   119  
   120  	ctx.Redirect(fmt.Sprintf("%s/org/%s/settings/packages", setting.AppSubURL, ctx.ContextUser.Name))
   121  }
   122  
   123  func RebuildCargoIndex(ctx *context.Context) {
   124  	ctx.Data["Title"] = ctx.Tr("packages.title")
   125  	ctx.Data["PageIsOrgSettings"] = true
   126  	ctx.Data["PageIsSettingsPackages"] = true
   127  
   128  	shared.RebuildCargoIndex(ctx, ctx.ContextUser)
   129  
   130  	ctx.Redirect(fmt.Sprintf("%s/org/%s/settings/packages", setting.AppSubURL, ctx.ContextUser.Name))
   131  }