* Allow committing / adding empty files from the web ui (#8420) Signed-off-by: LukBukkit <luk.bukkit@gmail.com> * Add a modal to confirm the commit of an empty file Signed-off-by: LukBukkit <luk.bukkit@gmail.com>
This commit is contained in:
		
							parent
							
								
									d4cd4ed442
								
							
						
					
					
						commit
						de4f10be86
					
				
					 4 changed files with 39 additions and 4 deletions
				
			
		|  | @ -557,7 +557,7 @@ func (f *NewWikiForm) Validate(ctx *macaron.Context, errs binding.Errors) bindin | ||||||
| // EditRepoFileForm form for changing repository file
 | // EditRepoFileForm form for changing repository file
 | ||||||
| type EditRepoFileForm struct { | type EditRepoFileForm struct { | ||||||
| 	TreePath      string `binding:"Required;MaxSize(500)"` | 	TreePath      string `binding:"Required;MaxSize(500)"` | ||||||
| 	Content       string `binding:"Required"` | 	Content       string | ||||||
| 	CommitSummary string `binding:"MaxSize(100)"` | 	CommitSummary string `binding:"MaxSize(100)"` | ||||||
| 	CommitMessage string | 	CommitMessage string | ||||||
| 	CommitChoice  string `binding:"Required;MaxSize(50)"` | 	CommitChoice  string `binding:"Required;MaxSize(50)"` | ||||||
|  |  | ||||||
|  | @ -726,6 +726,8 @@ editor.file_editing_no_longer_exists = The file being edited, '%s', no longer ex | ||||||
| editor.file_deleting_no_longer_exists = The file being deleted, '%s', no longer exists in this repository. | editor.file_deleting_no_longer_exists = The file being deleted, '%s', no longer exists in this repository. | ||||||
| editor.file_changed_while_editing = The file contents have changed since you started editing. <a target="_blank" rel="noopener noreferrer" href="%s">Click here</a> to see them or <strong>Commit Changes again</strong> to overwrite them. | editor.file_changed_while_editing = The file contents have changed since you started editing. <a target="_blank" rel="noopener noreferrer" href="%s">Click here</a> to see them or <strong>Commit Changes again</strong> to overwrite them. | ||||||
| editor.file_already_exists = A file named '%s' already exists in this repository. | editor.file_already_exists = A file named '%s' already exists in this repository. | ||||||
|  | editor.commit_empty_file_header = Commit an empty file | ||||||
|  | editor.commit_empty_file_text = The file you're about commit is empty. Proceed? | ||||||
| editor.no_changes_to_show = There are no changes to show. | editor.no_changes_to_show = There are no changes to show. | ||||||
| editor.fail_to_update_file = Failed to update/create file '%s' with error: %v | editor.fail_to_update_file = Failed to update/create file '%s' with error: %v | ||||||
| editor.add_subdir = Add a directory… | editor.add_subdir = Add a directory… | ||||||
|  |  | ||||||
|  | @ -262,7 +262,7 @@ function initRepoStatusChecker() { | ||||||
|                             location.reload(); |                             location.reload(); | ||||||
|                             return |                             return | ||||||
|                         } |                         } | ||||||
|              | 
 | ||||||
|                         setTimeout(function () { |                         setTimeout(function () { | ||||||
|                             initRepoStatusChecker() |                             initRepoStatusChecker() | ||||||
|                         }, 2000); |                         }, 2000); | ||||||
|  | @ -1571,6 +1571,18 @@ function initEditor() { | ||||||
|             codeMirrorEditor.setOption("tabSize", editorconfig.tab_width || 4); |             codeMirrorEditor.setOption("tabSize", editorconfig.tab_width || 4); | ||||||
|         }); |         }); | ||||||
|     }).trigger('keyup'); |     }).trigger('keyup'); | ||||||
|  | 
 | ||||||
|  |     $('#commit-button').click(function (event) { | ||||||
|  |         // A modal which asks if an empty file should be committed
 | ||||||
|  |         if ($editArea.val().length === 0) { | ||||||
|  |             $('#edit-empty-content-modal').modal({ | ||||||
|  |                 onApprove: function () { | ||||||
|  |                     $('.edit.form').submit(); | ||||||
|  |                 } | ||||||
|  |             }).modal('show'); | ||||||
|  |             event.preventDefault(); | ||||||
|  |         } | ||||||
|  |     }); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function initOrganization() { | function initOrganization() { | ||||||
|  |  | ||||||
|  | @ -39,8 +39,7 @@ | ||||||
| 						data-url="{{.Repository.APIURL}}/markdown" | 						data-url="{{.Repository.APIURL}}/markdown" | ||||||
| 						data-context="{{.RepoLink}}" | 						data-context="{{.RepoLink}}" | ||||||
| 						data-markdown-file-exts="{{.MarkdownFileExts}}" | 						data-markdown-file-exts="{{.MarkdownFileExts}}" | ||||||
| 						data-line-wrap-extensions="{{.LineWrapExtensions}}" | 						data-line-wrap-extensions="{{.LineWrapExtensions}}"> | ||||||
| 						required> |  | ||||||
| {{.FileContent}}</textarea> | {{.FileContent}}</textarea> | ||||||
| 				</div> | 				</div> | ||||||
| 				<div class="ui bottom attached tab segment markdown" data-tab="preview"> | 				<div class="ui bottom attached tab segment markdown" data-tab="preview"> | ||||||
|  | @ -53,5 +52,27 @@ | ||||||
| 			{{template "repo/editor/commit_form" .}} | 			{{template "repo/editor/commit_form" .}} | ||||||
| 		</form> | 		</form> | ||||||
| 	</div> | 	</div> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	<div class="ui small basic modal" id="edit-empty-content-modal"> | ||||||
|  | 		<div class="ui icon header"> | ||||||
|  | 			<i class="file icon"></i> | ||||||
|  |             {{.i18n.Tr "repo.editor.commit_empty_file_header"}} | ||||||
|  | 		</div> | ||||||
|  | 		<div class="center content"> | ||||||
|  | 			<p>{{.i18n.Tr "repo.editor.commit_empty_file_text"}}</p> | ||||||
|  | 		</div> | ||||||
|  | 		<div class="actions"> | ||||||
|  | 			<div class="ui red basic cancel inverted button"> | ||||||
|  | 				<i class="remove icon"></i> | ||||||
|  |                 {{.i18n.Tr "repo.editor.cancel"}} | ||||||
|  | 			</div> | ||||||
|  | 			<div class="ui green basic ok inverted button"> | ||||||
|  | 				<i class="save icon"></i> | ||||||
|  |                 {{.i18n.Tr "repo.editor.commit_changes"}} | ||||||
|  | 			</div> | ||||||
|  | 		</div> | ||||||
|  | 	</div> | ||||||
|  | 
 | ||||||
| </div> | </div> | ||||||
| {{template "base/footer" .}} | {{template "base/footer" .}} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue