@@ -343,7 +343,7 @@ func RetrieveRepoMilestonesAndAssignees(ctx *context.Context, repo *models.Repos
343
343
}
344
344
345
345
// RetrieveRepoMetas find all the meta information of a repository
346
- func RetrieveRepoMetas (ctx * context.Context , repo * models.Repository ) []* models.Label {
346
+ func RetrieveRepoMetas (ctx * context.Context , repo * models.Repository , isPull bool ) []* models.Label {
347
347
if ! ctx .Repo .CanWrite (models .UnitTypeIssues ) {
348
348
return nil
349
349
}
@@ -368,7 +368,7 @@ func RetrieveRepoMetas(ctx *context.Context, repo *models.Repository) []*models.
368
368
ctx .Data ["Branches" ] = brs
369
369
370
370
// Contains true if the user can create issue dependencies
371
- ctx .Data ["CanCreateIssueDependencies" ] = ctx .Repo .CanCreateIssueDependencies (ctx .User )
371
+ ctx .Data ["CanCreateIssueDependencies" ] = ctx .Repo .CanCreateIssueDependencies (ctx .User , isPull )
372
372
373
373
return labels
374
374
}
@@ -438,7 +438,7 @@ func NewIssue(ctx *context.Context) {
438
438
setTemplateIfExists (ctx , issueTemplateKey , IssueTemplateCandidates )
439
439
renderAttachmentSettings (ctx )
440
440
441
- RetrieveRepoMetas (ctx , ctx .Repo .Repository )
441
+ RetrieveRepoMetas (ctx , ctx .Repo .Repository , false )
442
442
if ctx .Written () {
443
443
return
444
444
}
@@ -453,7 +453,7 @@ func ValidateRepoMetas(ctx *context.Context, form auth.CreateIssueForm, isPull b
453
453
err error
454
454
)
455
455
456
- labels := RetrieveRepoMetas (ctx , ctx .Repo .Repository )
456
+ labels := RetrieveRepoMetas (ctx , ctx .Repo .Repository , isPull )
457
457
if ctx .Written () {
458
458
return nil , nil , 0
459
459
}
@@ -665,6 +665,14 @@ func ViewIssue(ctx *context.Context) {
665
665
ctx .Data ["PageIsIssueList" ] = true
666
666
}
667
667
668
+ if issue .IsPull && ! ctx .Repo .CanRead (models .UnitTypeIssues ) {
669
+ ctx .Data ["IssueType" ] = "pulls"
670
+ } else if ! issue .IsPull && ! ctx .Repo .CanRead (models .UnitTypePullRequests ) {
671
+ ctx .Data ["IssueType" ] = "issues"
672
+ } else {
673
+ ctx .Data ["IssueType" ] = "all"
674
+ }
675
+
668
676
ctx .Data ["RequireHighlightJS" ] = true
669
677
ctx .Data ["RequireDropzone" ] = true
670
678
ctx .Data ["RequireTribute" ] = true
@@ -802,7 +810,7 @@ func ViewIssue(ctx *context.Context) {
802
810
}
803
811
804
812
// Check if the user can use the dependencies
805
- ctx .Data ["CanCreateIssueDependencies" ] = ctx .Repo .CanCreateIssueDependencies (ctx .User )
813
+ ctx .Data ["CanCreateIssueDependencies" ] = ctx .Repo .CanCreateIssueDependencies (ctx .User , issue . IsPull )
806
814
807
815
// check if dependencies can be created across repositories
808
816
ctx .Data ["AllowCrossRepositoryDependencies" ] = setting .Service .AllowCrossRepositoryDependencies
0 commit comments