Browse Source

add unit type to repo with dataset

tags/vopendata0.1.2
yan 6 years ago
parent
commit
ffd827d6e8
4 changed files with 41 additions and 0 deletions
  1. +20
    -0
      models/repo_unit.go
  2. +14
    -0
      models/unit.go
  3. +1
    -0
      modules/context/repo.go
  4. +6
    -0
      templates/repo/header.tmpl

+ 20
- 0
models/repo_unit.go View File

@@ -113,6 +113,20 @@ func (cfg *PullRequestsConfig) IsMergeStyleAllowed(mergeStyle MergeStyle) bool {
mergeStyle == MergeStyleSquash && cfg.AllowSquash
}

type DatasetConfig struct {
EnableTest bool
}

// FromDB fills up a IssuesConfig from serialized format.
func (cfg *DatasetConfig) FromDB(bs []byte) error {
return json.Unmarshal(bs, &cfg)
}

// ToDB exports a IssuesConfig to a serialized format.
func (cfg *DatasetConfig) ToDB() ([]byte, error) {
return json.Marshal(cfg)
}

// BeforeSet is invoked from XORM before setting the value of a field of this object.
func (r *RepoUnit) BeforeSet(colName string, val xorm.Cell) {
switch colName {
@@ -128,6 +142,8 @@ func (r *RepoUnit) BeforeSet(colName string, val xorm.Cell) {
r.Config = new(PullRequestsConfig)
case UnitTypeIssues:
r.Config = new(IssuesConfig)
case UnitTypeDatasets:
r.Config = new(DatasetConfig)
default:
panic("unrecognized repo unit type: " + com.ToStr(*val))
}
@@ -169,6 +185,10 @@ func (r *RepoUnit) ExternalTrackerConfig() *ExternalTrackerConfig {
return r.Config.(*ExternalTrackerConfig)
}

func (r *RepoUnit) DatasetConfig() *DatasetConfig {
return r.Config.(*DatasetConfig)
}

func getUnitsByRepoID(e Engine, repoID int64) (units []*RepoUnit, err error) {
var tmpUnits []*RepoUnit
if err := e.Where("repo_id = ?", repoID).Find(&tmpUnits); err != nil {


+ 14
- 0
models/unit.go View File

@@ -24,6 +24,7 @@ const (
UnitTypeWiki // 5 Wiki
UnitTypeExternalWiki // 6 ExternalWiki
UnitTypeExternalTracker // 7 ExternalTracker
UnitTypeDatasets UnitType = 10 // 10 Dataset
)

// Value returns integer value for unit type
@@ -47,6 +48,8 @@ func (u UnitType) String() string {
return "UnitTypeExternalWiki"
case UnitTypeExternalTracker:
return "UnitTypeExternalTracker"
case UnitTypeDatasets:
return "UnitTypeDataset"
}
return fmt.Sprintf("Unknown UnitType %d", u)
}
@@ -68,6 +71,7 @@ var (
UnitTypeWiki,
UnitTypeExternalWiki,
UnitTypeExternalTracker,
UnitTypeDatasets,
}

// DefaultRepoUnits contains the default unit types
@@ -77,6 +81,7 @@ var (
UnitTypePullRequests,
UnitTypeReleases,
UnitTypeWiki,
UnitTypeDatasets,
}

// NotAllowedDefaultRepoUnits contains units that can't be default
@@ -242,6 +247,14 @@ var (
4,
}

UnitDataset = Unit{
UnitTypeDatasets,
"repo.dataset",
"/datasets",
"repo.datasets.desc",
5,
}

// Units contains all the units
Units = map[UnitType]Unit{
UnitTypeCode: UnitCode,
@@ -251,6 +264,7 @@ var (
UnitTypeReleases: UnitReleases,
UnitTypeWiki: UnitWiki,
UnitTypeExternalWiki: UnitExternalWiki,
UnitTypeDatasets: UnitDataset,
}
)



+ 1
- 0
modules/context/repo.go View File

@@ -813,6 +813,7 @@ func UnitTypes() macaron.Handler {
return func(ctx *Context) {
ctx.Data["UnitTypeCode"] = models.UnitTypeCode
ctx.Data["UnitTypeIssues"] = models.UnitTypeIssues
ctx.Data["UnitTypeDatasets"] = models.UnitTypeDatasets
ctx.Data["UnitTypePullRequests"] = models.UnitTypePullRequests
ctx.Data["UnitTypeReleases"] = models.UnitTypeReleases
ctx.Data["UnitTypeWiki"] = models.UnitTypeWiki


+ 6
- 0
templates/repo/header.tmpl View File

@@ -97,6 +97,12 @@
</a>
{{end}}

{{if .Permission.CanRead $.UnitTypeDatasets}}
<a class="{{if .PageIsDatasetList}}active{{end}} item" href="{{.RepoLink}}/datasets">
{{svg "octicon-database" 16}} {{.i18n.Tr "repo.datasets"}} <span class="ui {{if not .Repository}}gray{{else}}blue{{end}} small label">{{/*.Repository.NumDatasets*/}}</span>
</a>
{{end}}

{{if .Permission.CanRead $.UnitTypeIssues}}
<a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoLink}}/issues">
{{svg "octicon-issue-opened" 16}} {{.i18n.Tr "repo.issues"}} <span class="ui {{if not .Repository.NumOpenIssues}}gray{{else}}blue{{end}} small label">{{.Repository.NumOpenIssues}}</span>


Loading…
Cancel
Save