Browse Source

Merge branch 'V20210927' into fix-255

tags/v1.21.9.2
zhoupzh 4 years ago
parent
commit
e8bf4379d0
12 changed files with 77 additions and 41 deletions
  1. +27
    -0
      models/attachment.go
  2. +4
    -3
      models/dataset.go
  3. +24
    -8
      public/self/js/Director/detection.js
  4. +4
    -2
      routers/repo/attachment.go
  5. +2
    -2
      routers/repo/dataset.go
  6. +2
    -1
      templates/explore/repo_list.tmpl
  7. +4
    -3
      templates/repo/cloudbrain/new.tmpl
  8. +1
    -17
      templates/repo/cloudbrain/show.tmpl
  9. +1
    -1
      templates/repo/create.tmpl
  10. +2
    -2
      templates/repo/datasets/dataset_list.tmpl
  11. +4
    -2
      web_src/less/_organization.less
  12. +2
    -0
      web_src/less/_repository.less

+ 27
- 0
models/attachment.go View File

@@ -46,6 +46,7 @@ type Attachment struct {
CreatedUnix timeutil.TimeStamp `xorm:"created"`

FileChunk *FileChunk `xorm:"-"`
CanDel bool `xorm:"-"`
}

type AttachmentUsername struct {
@@ -437,3 +438,29 @@ func getModelArtsUserAttachments(e Engine, userID int64) ([]*AttachmentUsername,
func GetModelArtsUserAttachments(userID int64) ([]*AttachmentUsername, error) {
return getModelArtsUserAttachments(x, userID)
}

func CanDelAttachment(isSigned bool, user *User, attach *Attachment) bool {
if !isSigned {
return false
}
dataset, err := GetDatasetByID(attach.DatasetID)
if err != nil {
log.Error("GetDatasetByID failed:%v", err.Error())
return false
}
repo, _ := GetRepositoryByID(dataset.RepoID)
if err != nil {
log.Error("GetRepositoryByID failed:%v", err.Error())
return false
}
permission, _ := GetUserRepoPermission(repo, user)
if err != nil {
log.Error("GetUserRepoPermission failed:%v", err.Error())
return false
}

if user.ID == attach.UploaderID || user.IsAdmin || permission.AccessMode >= AccessModeAdmin {
return true
}
return false
}

+ 4
- 3
models/dataset.go View File

@@ -196,11 +196,11 @@ func (s datasetMetaSearch) Less(i, j int) bool {
return s.ID[i] < s.ID[j]
}

func GetDatasetAttachments(typeCloudBrain int, rels ...*Dataset) (err error) {
return getDatasetAttachments(x, typeCloudBrain, rels...)
func GetDatasetAttachments(typeCloudBrain int, isSigned bool, user *User, rels ...*Dataset) (err error) {
return getDatasetAttachments(x, typeCloudBrain, isSigned, user, rels...)
}

func getDatasetAttachments(e Engine, typeCloudBrain int, rels ...*Dataset) (err error) {
func getDatasetAttachments(e Engine, typeCloudBrain int, isSigned bool, user *User, rels ...*Dataset) (err error) {
if len(rels) == 0 {
return
}
@@ -243,6 +243,7 @@ func getDatasetAttachments(e Engine, typeCloudBrain int, rels ...*Dataset) (err
return err
}
attachment.FileChunk = fileChunks[0]
attachment.CanDel = CanDelAttachment(isSigned, user, attachment)
sortedRels.Rel[currentIndex].Attachments = append(sortedRels.Rel[currentIndex].Attachments, attachment)
}



+ 24
- 8
public/self/js/Director/detection.js View File

@@ -712,7 +712,17 @@ function loadimg(){
reset_var();
var picturePath = labeltastresult[fileindex].pic_image_field;
img.src = ip + "/getgiteaimage?filename=" + picturePath;
var html = picturePath.substring(picturePath.lastIndexOf("/") + 1) + "&nbsp;&nbsp;"+ "(" + (tablePageData.current * pageSize + fileindex + 1) + "/" + tablePageData.total + ")"
var picIndex = picturePath.indexOf("/",70);
if(picIndex != -1){
float_text_name = picturePath.substring(picIndex + 1);
float_text_name = float_text_name.substring(float_text_name.indexOf('/')+1);
}else{
float_text_name = picturePath.substring(picturePath.lastIndexOf("/") + 1)
}
var html = float_text_name + "&nbsp;&nbsp;&nbsp;&nbsp;"+ "(" + (tablePageData.current * pageSize + fileindex + 1) + "/" + tablePageData.total + ")"
document.getElementById("float_text").innerHTML = html;
}
function save(){
@@ -2666,7 +2676,7 @@ function setPage(pageData,pageSize){

canvas = document.getElementById("myCanvas");
context = canvas.getContext("2d");
maxWidth = document.getElementById("showPic").offsetWidth;
maxWidth = document.getElementById("showPic").offsetWidth-56;
maxHeight = document.getElementById("showPic").offsetHeight-100;
canvas.width = maxWidth;
canvas.height = maxHeight;
@@ -2843,14 +2853,20 @@ function isJSON(str) {
img.onload = function(){
loadFinished = false;
// 初始设置画布大小,最大值宽和高
canvas.width = maxWidth;//document.getElementById("tool0").offsetWidth;
canvas.height = maxHeight;//document.getElementById("tool0").offsetWidth/1280*720;
canvas.width = img.width;// maxWidth document.getElementById("tool0").offsetWidth;
canvas.height =img.height;//maxHeight document.getElementById("tool0").offsetWidth/1280*720;
//调整画布大小
if ((img.width/img.height)<(canvas.width/canvas.height)){
canvas.width=canvas.height * img.width / img.height;
// if ((img.width/img.height)>(maxWidth/maxWidth)){
// canvas.width=canvas.height * img.width / img.height;
// }
// else{
// canvas.height=canvas.width * img.height / img.width;
// }
if(canvas.width>maxWidth){
canvas.width = maxWidth
}
else{
canvas.height=canvas.width * img.height / img.width;
if(canvas.height>maxHeight){
canvas.height=maxHeight
}

maxIdNum=0;


+ 4
- 2
routers/repo/attachment.go View File

@@ -128,7 +128,9 @@ func DeleteAttachment(ctx *context.Context) {
ctx.Error(400, err.Error())
return
}
if !ctx.IsSigned || (ctx.User.ID != attach.UploaderID) {

//issue 214: mod del-dataset permission
if !models.CanDelAttachment(ctx.IsSigned, ctx.User, attach) {
ctx.Error(403)
return
}
@@ -146,7 +148,7 @@ func DeleteAttachment(ctx *context.Context) {

_, err = models.DeleteFileChunkById(attach.UUID)
if err != nil {
ctx.Error(500, fmt.Sprintf("DeleteAttachment: %v", err))
ctx.Error(500, fmt.Sprintf("DeleteFileChunkById: %v", err))
return
}
ctx.JSON(200, map[string]string{


+ 2
- 2
routers/repo/dataset.go View File

@@ -76,7 +76,7 @@ func QueryDataSet(ctx *context.Context) []*models.Attachment {
ctx.NotFound("type error", nil)
return nil
}
err = models.GetDatasetAttachments(ctx.QueryInt("type"), dataset)
err = models.GetDatasetAttachments(ctx.QueryInt("type"), ctx.IsSigned, ctx.User, dataset)
if err != nil {
ctx.ServerError("GetDatasetAttachments", err)
return nil
@@ -120,7 +120,7 @@ func DatasetIndex(ctx *context.Context) {
ctx.NotFound("type error", nil)
return
}
err = models.GetDatasetAttachments(ctx.QueryInt("type"), dataset)
err = models.GetDatasetAttachments(ctx.QueryInt("type"), ctx.IsSigned, ctx.User, dataset)
if err != nil {
ctx.ServerError("GetDatasetAttachments", err)
return


+ 2
- 1
templates/explore/repo_list.tmpl View File

@@ -39,6 +39,7 @@
</style>

<div class="ui secondary pointing tabular top attached borderless menu navbar">
{{if .PageIsExplore}}
<a class="{{if eq .SortType "hot"}}active{{end}} item" href="{{$.Link}}?sort=hot&q={{$.Keyword}}&tab={{$.TabName}}">
<svg class="svg octicon-repo" width="16" height="16" aria-hidden="true">
<use xlink:href="#octicon-repo" />
@@ -51,7 +52,7 @@
</svg>
活跃{{.i18n.Tr "explore.repos"}}
</a>
{{end}}
<a class="{{if eq .SortType "recentupdate"}}active{{end}} item" href="{{$.Link}}?sort=recentupdate&q={{$.Keyword}}&tab={{$.TabName}}">
<svg class="svg octicon-organization" width="16" height="16" aria-hidden="true">
<use xlink:href="#octicon-organization" />


+ 4
- 3
templates/repo/cloudbrain/new.tmpl View File

@@ -258,9 +258,10 @@
$('#messageInfo p').text(str)
return false
}
if(!value_image || !value_data){
return false
}
// if(!value_image || !value_data){
// console.log("------------------------")
// return false
// }
let min_value_task = value_task.toLowerCase()
$("input[name='job_name']").attr("value",min_value_task)
document.getElementById("mask").style.display = "block"


+ 1
- 17
templates/repo/cloudbrain/show.tmpl View File

@@ -24,22 +24,6 @@
<td class="four wide"> 状态 </td>
<td> {{.State}} </td>
</tr>
<tr>
<td> 开始时间 </td>
<td>{{.StartTime}}</td>
</tr>
<tr>
<td> 结束时间 </td>
<td>{{.FinishedTime}}</td>
</tr>
<tr>
<td> ExitCode </td>
<td>{{.ExitCode}}</td>
</tr>
<tr>
<td> 退出信息 </td>
<td>{{.ExitDiagnostics| nl2br}}</td>
</tr>
</tbody>
</table>
{{end}}
@@ -73,7 +57,7 @@
</thead>
<tbody>
<tr>
<td class="four wide"> 状态 </td>
<td class="four wide"> 平台 </td>
<td> {{.Platform}} </td>
</tr>
<tr>


+ 1
- 1
templates/repo/create.tmpl View File

@@ -1,5 +1,5 @@
{{template "base/head" .}}
<div class="repository new repo">
<div class="repository new repo" style="margin-top: 40px;">
<div class="ui middle very relaxed page grid">
<div class="column">
<form class="ui form" action="{{.Link}}" method="post">


+ 2
- 2
templates/repo/datasets/dataset_list.tmpl View File

@@ -31,7 +31,7 @@
</div>
{{end}}
{{if $.Permission.CanWrite $.UnitTypeDatasets}}
{{if $.Repository.IsPrivate}}
{{if (not .CanDel) or $.Repository.IsPrivate}}
<div class="two wide column">
<a class="ui button mini" disabled='true' data-tooltip='{{$.i18n.Tr "dataset.how_to_public"}}'>{{$.i18n.Tr "dataset.private"}}</a>
</div>
@@ -45,7 +45,7 @@
</div>
{{end}}

<div class="two wide column right aligned">
<div class="two wide column right aligned" style="{{if not .CanDel}}visibility: hidden;{{end}}">
<a class="ui red button mini" href="javascript:void(0)" data-uuid={{.UUID}} data-dataset-delete data-remove-url="{{AppSubUrl}}/attachments/delete" data-csrf="{{$.CsrfToken}}">{{$.i18n.Tr "dataset.delete"}}</a>
</div>
{{end}}


+ 4
- 2
web_src/less/_organization.less View File

@@ -79,9 +79,11 @@
&.profile {
.members {
.ui.avatar {
width: 48px;
height: 48px;
width: 44px;
height: 44px;
margin-right: 5px;
margin-bottom: 5px;
border-radius: 22px;
}
}
}


+ 2
- 0
web_src/less/_repository.less View File

@@ -2764,6 +2764,8 @@ tbody.commit-list {
.text {
width: 100%;
overflow: hidden;
height: 36px;
line-height: 36px;
}
}



Loading…
Cancel
Save