~jan0sch/smederee
Showing details for patch b9daa911e96ce098afb0d2907daeffe088982717.
diff -rN -u old-smederee/modules/hub/src/main/resources/messages_en.properties new-smederee/modules/hub/src/main/resources/messages_en.properties --- old-smederee/modules/hub/src/main/resources/messages_en.properties 2025-02-02 16:57:40.971188289 +0000 +++ new-smederee/modules/hub/src/main/resources/messages_en.properties 2025-02-02 16:57:40.971188289 +0000 @@ -17,6 +17,14 @@ form.create-repo.name=Name form.create-repo.name.placeholder=Please enter a repository name. form.create-repo.name.help=A repository name must start with a letter or number and must contain only alphanumeric ASCII characters as well as minus or underscore signs. It must be between 2 and 64 characters long. +form.create-repo.is-private=Private Repository +form.create-repo.is-private.help=A private repository can only be accessed by the owner and accounts which have been given permissions to do so. +form.create-repo.description=Description +form.create-repo.description.placeholder= +form.create-repo.description.help=An optional short description of you repo / project. +form.create-repo.website=Website +form.create-repo.website.placeholder=https://example.com +form.create-repo.website.help=An optional URI pointing to the website of your project. form.login.button.submit=Login form.login.password=Password form.login.password.placeholder=Please enter your password here. diff -rN -u old-smederee/modules/hub/src/main/scala/de/smederee/hub/NewVcsRepositoryForm.scala new-smederee/modules/hub/src/main/scala/de/smederee/hub/NewVcsRepositoryForm.scala --- old-smederee/modules/hub/src/main/scala/de/smederee/hub/NewVcsRepositoryForm.scala 2025-02-02 16:57:40.971188289 +0000 +++ new-smederee/modules/hub/src/main/scala/de/smederee/hub/NewVcsRepositoryForm.scala 2025-02-02 16:57:40.971188289 +0000 @@ -65,7 +65,12 @@ Uri .fromString(s) .toOption - .fold(FormFieldError("Invalid website URI!").invalidNec)(uri => Option(uri).validNec) + .fold(FormFieldError("Invalid website URI!").invalidNec) { uri => + uri.scheme match { + case Some(Uri.Scheme.http) | Some(Uri.Scheme.https) => Option(uri).validNec + case _ => FormFieldError("Invalid website URI!").invalidNec + } + } ) .leftMap(es => NonEmptyChain.of(Map(fieldWebsite -> es.toList))) (name, privateFlag, description, website).mapN { diff -rN -u old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/createRepository.scala.html new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/createRepository.scala.html --- old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/createRepository.scala.html 2025-02-02 16:57:40.971188289 +0000 +++ new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/createRepository.scala.html 2025-02-02 16:57:40.971188289 +0000 @@ -26,6 +26,24 @@ <small class="pure-form-message" id="@{fieldName}.help">@Messages("form.create-repo.name.help")</small> @renderFormErrors(fieldName, formErrors) </div> + <div class="pure-control-group"> + <label for="@{fieldIsPrivate}">@Messages("form.create-repo.is-private")</label> + <input id="@{fieldIsPrivate}" name="@{fieldIsPrivate}" type="checkbox" value="true" @if(formData.get(fieldIsPrivate).map(_ === "true").getOrElse(false)){ checked="" } else { }> + <span class="pure-form-message-inline" id="@{fieldIsPrivate}.help">@Messages("form.create-repo.is-private.help")</span> + @renderFormErrors(fieldIsPrivate, formErrors) + </div> + <div class="pure-control-group"> + <label for="@{fieldDescription}">@Messages("form.create-repo.description")</label> + <textarea class="pure-input-1-2" id="@{fieldDescription}" name="@{fieldDescription}" placeholder="@Messages("form.create-repo.description.placeholder")" maxlength="254" rows="3">@{formData.get(fieldDescription)}</textarea> + <span class="pure-form-message" id="@{fieldDescription}.help">@Messages("form.create-repo.description.help")</span> + @renderFormErrors(fieldDescription, formErrors) + </div> + <div class="pure-control-group"> + <label for="@{fieldWebsite}">@Messages("form.create-repo.website")</label> + <input id="@{fieldWebsite}" name="@{fieldWebsite}" maxlength="128" placeholder="https://example.com" type="text" value="@{formData.get(fieldWebsite)}"> + <span class="pure-form-message" id="@{fieldWebsite}.help">@Messages("form.create-repo.website.help")</span> + @renderFormErrors(fieldWebsite, formErrors) + </div> @csrfToken(csrf) <div class="pure-controls"> <button type="submit" class="pure-button">@Messages("form.create-repo.button.submit")</button>