Handle 'invalid element name' error in project list ui

When invalid filenames are found during project-copy, the somewhat obscure (and non-localised) 'invalid element name' error is returned. Add a special case to handle this particular error and display something more descriptive to the user.

Added a modal error handler for when this error is generated by clicking the 'copy' icon in the project list, instead of using the 'more' dropdown which opens a modal copy dialog

bug: overleaf/sharelatex#908
Signed-off-by: Simon Detheridge <s@sd.ai>
This commit is contained in:
Simon Detheridge
2018-10-09 17:23:43 +01:00
parent 56dcbefb5b
commit 32149e652f
3 changed files with 43 additions and 16 deletions
+17 -3
View File
@@ -98,7 +98,7 @@ script(type='text/ng-template', id='renameProjectModalTemplate')
) &times;
h3 #{translate("rename_project")}
.modal-body
.alert.alert-danger(ng-show="state.error.message") {{ state.error.message}}
.alert.alert-danger(ng-show="state.error.message") {{state.error.message}}
.alert.alert-danger(ng-show="state.error && !state.error.message") #{translate("generic_something_went_wrong")}
form(name="renameProjectForm", novalidate)
input.form-control(
@@ -127,7 +127,7 @@ script(type='text/ng-template', id='cloneProjectModalTemplate')
) &times;
h3 #{translate("copy_project")}
.modal-body
.alert.alert-danger(ng-show="state.error.message") {{ state.error.message}}
.alert.alert-danger(ng-show="state.error.message") {{state.error.message === "invalid element name" ? translate("invalid_element_name") : state.error.message}}
.alert.alert-danger(ng-show="state.error && !state.error.message") #{translate("generic_something_went_wrong")}
form(name="cloneProjectForm", novalidate)
.form-group
@@ -161,7 +161,7 @@ script(type='text/ng-template', id='newProjectModalTemplate')
) &times;
h3 #{translate("new_project")}
.modal-body
.alert.alert-danger(ng-show="state.error.message") {{ state.error.message}}
.alert.alert-danger(ng-show="state.error.message") {{state.error.message}}
.alert.alert-danger(ng-show="state.error && !state.error.message") #{translate("generic_something_went_wrong")}
form(novalidate, name="newProjectForm")
input.form-control(
@@ -262,6 +262,20 @@ script(type="text/ng-template", id="uploadProjectModalTemplate")
.modal-footer
button.btn.btn-default(ng-click="cancel()") #{translate("cancel")}
script(type="text/ng-template", id="showErrorModalTemplate")
.modal-header
button.close(
type="button"
data-dismiss="modal"
ng-click="cancel()"
) &times;
h3 #{translate("generic_something_went_wrong")}
.modal-body
.alert.alert-danger(ng-show="error.message") {{error.message === "invalid element name" ? translate("invalid_element_name") : error.message}}
.alert.alert-danger(ng-show="error && !error.message") #{translate("generic_something_went_wrong")}
.modal-footer
button.btn.btn-default(ng-click="cancel()") #{translate("cancel")}
script(type="text/ng-template", id="userProfileModalTemplate")
.modal-header
button.close(