Compare commits
5 Commits
50be85a1c3
...
eb48ff7dc0
Author | SHA1 | Date | |
---|---|---|---|
eb48ff7dc0 | |||
fcfd9857d5 | |||
c5f96a9d9d | |||
c1a0b4017f | |||
04ebe59afe |
@ -42,7 +42,9 @@ steps:
|
||||
repo: shibaobun/memex
|
||||
purge: true
|
||||
compress: true
|
||||
platforms: linux/amd64,linux/arm/v7
|
||||
platforms:
|
||||
- linux/amd64
|
||||
- linux/arm64
|
||||
username:
|
||||
from_secret: docker_username
|
||||
password:
|
||||
@ -59,7 +61,9 @@ steps:
|
||||
repo: shibaobun/memex
|
||||
purge: true
|
||||
compress: true
|
||||
platforms: linux/amd64,linux/arm/v7
|
||||
platforms:
|
||||
- linux/amd64
|
||||
- linux/arm64
|
||||
username:
|
||||
from_secret: docker_username
|
||||
password:
|
||||
|
@ -28,14 +28,13 @@ import { LiveSocket } from 'phoenix_live_view'
|
||||
import topbar from 'topbar'
|
||||
import Date from './date'
|
||||
import DateTime from './datetime'
|
||||
import MaintainAttrs from './maintain_attrs'
|
||||
|
||||
const csrfTokenElement = document.querySelector("meta[name='csrf-token']")
|
||||
let csrfToken
|
||||
if (csrfTokenElement) { csrfToken = csrfTokenElement.getAttribute('content') }
|
||||
const liveSocket = new LiveSocket('/live', Socket, {
|
||||
params: { _csrf_token: csrfToken },
|
||||
hooks: { Date, DateTime, MaintainAttrs }
|
||||
hooks: { Date, DateTime }
|
||||
})
|
||||
|
||||
// Show progress bar on live navigation and form submits
|
||||
|
@ -1,22 +0,0 @@
|
||||
// maintain user adjusted attributes, like textbox length on phoenix liveview
|
||||
// update. https://github.com/phoenixframework/phoenix_live_view/issues/1011
|
||||
|
||||
export default {
|
||||
attrs () {
|
||||
if (this.el && this.el.getAttribute('data-attrs')) {
|
||||
return this.el.getAttribute('data-attrs').split(', ')
|
||||
} else {
|
||||
return []
|
||||
}
|
||||
},
|
||||
beforeUpdate () {
|
||||
if (this.el) {
|
||||
this.prevAttrs = this.attrs().map(name => [name, this.el.getAttribute(name)])
|
||||
}
|
||||
},
|
||||
updated () {
|
||||
if (this.el) {
|
||||
this.prevAttrs.forEach(([name, val]) => this.el.setAttribute(name, val))
|
||||
}
|
||||
}
|
||||
}
|
@ -1,5 +1,9 @@
|
||||
# v0.1.11
|
||||
- Update dependencies
|
||||
- ee cummings even more
|
||||
- Improve tests
|
||||
- Change invite path slightly
|
||||
- Build in arm64 and amd64
|
||||
|
||||
# v0.1.10
|
||||
- Improve accessibility
|
||||
|
@ -4,7 +4,6 @@ defmodule MemexWeb.CoreComponents do
|
||||
"""
|
||||
use Phoenix.Component
|
||||
use MemexWeb, :verified_routes
|
||||
|
||||
import MemexWeb.{Gettext, HTMLHelpers}
|
||||
alias Memex.{Accounts, Accounts.Invite, Accounts.User}
|
||||
alias Memex.Contexts.Context
|
||||
|
@ -1,7 +1,6 @@
|
||||
<div
|
||||
id={"show-context-content-#{@context.id}"}
|
||||
class="input input-primary h-128 min-h-128 inline-block whitespace-pre-wrap overflow-x-hidden overflow-y-auto"
|
||||
phx-hook="MaintainAttrs"
|
||||
phx-update="ignore"
|
||||
readonly
|
||||
phx-no-format
|
||||
|
@ -1,7 +1,6 @@
|
||||
<div
|
||||
id={"show-note-content-#{@note.id}"}
|
||||
class="input input-primary h-128 min-h-128 inline-block whitespace-pre-wrap overflow-x-hidden overflow-y-auto"
|
||||
phx-hook="MaintainAttrs"
|
||||
phx-update="ignore"
|
||||
readonly
|
||||
phx-no-format
|
||||
|
@ -1,7 +1,6 @@
|
||||
<div
|
||||
id={"show-step-content-#{@step.id}"}
|
||||
class="input input-primary h-32 min-h-32 inline-block whitespace-pre-wrap overflow-x-hidden overflow-y-auto"
|
||||
phx-hook="MaintainAttrs"
|
||||
phx-update="ignore"
|
||||
readonly
|
||||
phx-no-format
|
||||
|
@ -1,6 +1,6 @@
|
||||
<div class="mx-auto pb-8 max-w-2xl flex flex-col justify-center items-center space-y-4">
|
||||
<h1 class="title text-primary-400 text-xl">
|
||||
<%= dgettext("actions", "Reset password") %>
|
||||
<%= dgettext("actions", "reset password") %>
|
||||
</h1>
|
||||
|
||||
<.form
|
||||
@ -26,7 +26,7 @@
|
||||
) %>
|
||||
<%= error_tag(f, :password_confirmation, "col-span-3") %>
|
||||
|
||||
<%= submit(dgettext("actions", "Reset password"),
|
||||
<%= submit(dgettext("actions", "reset password"),
|
||||
class: "mx-auto btn btn-primary col-span-3"
|
||||
) %>
|
||||
</.form>
|
||||
|
@ -19,7 +19,6 @@
|
||||
<%= textarea(f, :content,
|
||||
id: "context-form-content",
|
||||
class: "input input-primary h-64 min-h-64",
|
||||
phx_hook: "MaintainAttrs",
|
||||
phx_update: "ignore",
|
||||
placeholder: gettext("use [[note-slug]] to link to a note"),
|
||||
aria_label: gettext("use [[note-slug]] to link to a note")
|
||||
|
@ -35,7 +35,7 @@
|
||||
</form>
|
||||
</:code_actions>
|
||||
<.link
|
||||
patch={~p"/invites/#{invite}/edit"}
|
||||
patch={~p"/invites/edit/#{invite}"}
|
||||
class="text-primary-400 link"
|
||||
aria-label={
|
||||
dgettext("actions", "edit invite for %{invite_name}", invite_name: invite.name)
|
||||
|
@ -19,7 +19,6 @@
|
||||
<%= textarea(f, :content,
|
||||
id: "note-form-content",
|
||||
class: "input input-primary h-64 min-h-64",
|
||||
phx_hook: "MaintainAttrs",
|
||||
phx_update: "ignore",
|
||||
placeholder: gettext("content"),
|
||||
aria_label: gettext("content")
|
||||
|
@ -19,7 +19,6 @@
|
||||
<%= textarea(f, :description,
|
||||
id: "pipeline-form-description",
|
||||
class: "input input-primary h-64 min-h-64",
|
||||
phx_hook: "MaintainAttrs",
|
||||
phx_update: "ignore",
|
||||
placeholder: gettext("description"),
|
||||
aria_label: gettext("description")
|
||||
|
@ -13,7 +13,6 @@
|
||||
:if={@pipeline.description}
|
||||
id="show-pipeline-description"
|
||||
class="input input-primary h-32 min-h-32"
|
||||
phx-hook="MaintainAttrs"
|
||||
phx-update="ignore"
|
||||
readonly
|
||||
phx-no-format
|
||||
|
@ -19,7 +19,6 @@
|
||||
<%= textarea(f, :content,
|
||||
id: "step-form-content",
|
||||
class: "input input-primary h-64 min-h-64",
|
||||
phx_hook: "MaintainAttrs",
|
||||
phx_update: "ignore",
|
||||
placeholder: gettext("use [[context-slug]] to link to a context"),
|
||||
aria_label: gettext("use [[context-slug]] to link to a context")
|
||||
|
@ -95,7 +95,7 @@ defmodule MemexWeb.Router do
|
||||
live_session :admin, on_mount: [{MemexWeb.UserAuth, :ensure_admin}] do
|
||||
live "/invites", InviteLive.Index, :index
|
||||
live "/invites/new", InviteLive.Index, :new
|
||||
live "/invites/:id/edit", InviteLive.Index, :edit
|
||||
live "/invites/edit/:id", InviteLive.Index, :edit
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -16,12 +16,6 @@ msgstr ""
|
||||
msgid "Resend confirmation instructions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:3
|
||||
#: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/controllers/user_settings_html/edit.html.heex:15
|
||||
#: lib/memex_web/controllers/user_settings_html/edit.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -50,8 +44,8 @@ msgstr ""
|
||||
#: lib/memex_web/live/note_live/index.html.heex:50
|
||||
#: lib/memex_web/live/note_live/show.html.heex:34
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:52
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:42
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:113
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:41
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:112
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "delete"
|
||||
msgstr ""
|
||||
@ -66,8 +60,8 @@ msgstr ""
|
||||
#: lib/memex_web/live/note_live/index.html.heex:40
|
||||
#: lib/memex_web/live/note_live/show.html.heex:24
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:40
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:32
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:102
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:31
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:101
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "edit"
|
||||
msgstr ""
|
||||
@ -114,16 +108,16 @@ msgstr ""
|
||||
msgid "register"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:43
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:32
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:30
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:43
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:43
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "save"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:128
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "add step"
|
||||
msgstr ""
|
||||
@ -168,12 +162,12 @@ msgid "delete %{note_slug}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:49
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:40
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "delete %{pipeline_slug}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:111
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "delete %{step_title}"
|
||||
msgstr ""
|
||||
@ -198,7 +192,7 @@ msgstr ""
|
||||
msgid "edit %{pipeline_slug}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:100
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "edit %{step_title}"
|
||||
msgstr ""
|
||||
@ -208,12 +202,18 @@ msgstr ""
|
||||
msgid "edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:90
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:89
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "move %{step_title} down"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:74
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:73
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "move %{step_title} up"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:3
|
||||
#: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "reset password"
|
||||
msgstr ""
|
||||
|
@ -16,12 +16,6 @@ msgstr ""
|
||||
msgid "Resend confirmation instructions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:3
|
||||
#: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/controllers/user_settings_html/edit.html.heex:15
|
||||
#: lib/memex_web/controllers/user_settings_html/edit.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -50,8 +44,8 @@ msgstr ""
|
||||
#: lib/memex_web/live/note_live/index.html.heex:50
|
||||
#: lib/memex_web/live/note_live/show.html.heex:34
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:52
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:42
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:113
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:41
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:112
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "delete"
|
||||
msgstr ""
|
||||
@ -66,8 +60,8 @@ msgstr ""
|
||||
#: lib/memex_web/live/note_live/index.html.heex:40
|
||||
#: lib/memex_web/live/note_live/show.html.heex:24
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:40
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:32
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:102
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:31
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:101
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "edit"
|
||||
msgstr ""
|
||||
@ -114,16 +108,16 @@ msgstr ""
|
||||
msgid "register"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:43
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:32
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:30
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:43
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:43
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "save"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:128
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "add step"
|
||||
msgstr ""
|
||||
@ -168,12 +162,12 @@ msgid "delete %{note_slug}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:49
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:40
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "delete %{pipeline_slug}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:111
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "delete %{step_title}"
|
||||
msgstr ""
|
||||
@ -198,7 +192,7 @@ msgstr ""
|
||||
msgid "edit %{pipeline_slug}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:100
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "edit %{step_title}"
|
||||
msgstr ""
|
||||
@ -208,12 +202,18 @@ msgstr ""
|
||||
msgid "edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:90
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:89
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "move %{step_title} down"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:74
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:73
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "move %{step_title} up"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:3
|
||||
#: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:29
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "reset password"
|
||||
msgstr ""
|
||||
|
@ -19,7 +19,7 @@ msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/show.html.heex:15
|
||||
#: lib/memex_web/live/note_live/show.html.heex:15
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:23
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Visibility: %{visibility}"
|
||||
msgstr ""
|
||||
@ -45,8 +45,8 @@ msgstr ""
|
||||
msgid "confirm new password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:23
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:24
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "content"
|
||||
msgstr ""
|
||||
@ -243,20 +243,20 @@ msgstr ""
|
||||
msgid "report bugs or request features"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:45
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:45
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:45
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:31
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "saving..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:39
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:40
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:41
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:39
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:40
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:41
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:39
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:40
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "select privacy"
|
||||
msgstr ""
|
||||
@ -272,12 +272,12 @@ msgstr ""
|
||||
msgid "settings"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:31
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:32
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:33
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:31
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:32
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:33
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:31
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:32
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "tag1,tag2"
|
||||
msgstr ""
|
||||
@ -334,8 +334,8 @@ msgid "no contexts found"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/components/pipelines_table_component.ex:48
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:23
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:24
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "description"
|
||||
msgstr ""
|
||||
@ -409,8 +409,8 @@ msgstr ""
|
||||
msgid "home"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:23
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:24
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "use [[note-slug]] to link to a note"
|
||||
msgstr ""
|
||||
@ -436,7 +436,7 @@ msgstr ""
|
||||
msgid "what is this?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:60
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{position}. %{title}"
|
||||
msgstr ""
|
||||
@ -461,12 +461,12 @@ msgstr ""
|
||||
msgid "add step to %{slug}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:54
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:53
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "no steps"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:49
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "steps:"
|
||||
msgstr ""
|
||||
@ -477,8 +477,8 @@ msgstr ""
|
||||
msgid "title"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:23
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:24
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "use [[context-slug]] to link to a context"
|
||||
msgstr ""
|
||||
|
@ -70,8 +70,8 @@ msgstr ""
|
||||
#: lib/memex_web/live/note_live/index.html.heex:47
|
||||
#: lib/memex_web/live/note_live/show.html.heex:31
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:47
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:39
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:110
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:38
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:109
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure?"
|
||||
msgstr ""
|
||||
|
@ -17,7 +17,7 @@ msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/show.html.heex:15
|
||||
#: lib/memex_web/live/note_live/show.html.heex:15
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:23
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Visibility: %{visibility}"
|
||||
msgstr ""
|
||||
@ -43,8 +43,8 @@ msgstr ""
|
||||
msgid "confirm new password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:23
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:24
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "content"
|
||||
msgstr ""
|
||||
@ -241,20 +241,20 @@ msgstr ""
|
||||
msgid "report bugs or request features"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:45
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:45
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:45
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:31
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "saving..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:39
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:40
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:41
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:39
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:40
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:41
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:39
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:40
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "select privacy"
|
||||
msgstr ""
|
||||
@ -270,12 +270,12 @@ msgstr ""
|
||||
msgid "settings"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:31
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:32
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:33
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:31
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:32
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:33
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:31
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:32
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "tag1,tag2"
|
||||
msgstr ""
|
||||
@ -332,8 +332,8 @@ msgid "no contexts found"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/components/pipelines_table_component.ex:48
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:23
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:24
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "description"
|
||||
msgstr ""
|
||||
@ -407,8 +407,8 @@ msgstr ""
|
||||
msgid "home"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:23
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:24
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "use [[note-slug]] to link to a note"
|
||||
msgstr ""
|
||||
@ -434,7 +434,7 @@ msgstr ""
|
||||
msgid "what is this?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:60
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{position}. %{title}"
|
||||
msgstr ""
|
||||
@ -459,12 +459,12 @@ msgstr ""
|
||||
msgid "add step to %{slug}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:54
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:53
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "no steps"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:49
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "steps:"
|
||||
msgstr ""
|
||||
@ -475,8 +475,8 @@ msgstr ""
|
||||
msgid "title"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:23
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:24
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "use [[context-slug]] to link to a context"
|
||||
msgstr ""
|
||||
|
@ -17,12 +17,6 @@ msgstr ""
|
||||
msgid "Resend confirmation instructions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:3
|
||||
#: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Reset password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/controllers/user_settings_html/edit.html.heex:15
|
||||
#: lib/memex_web/controllers/user_settings_html/edit.html.heex:43
|
||||
#, elixir-autogen, elixir-format
|
||||
@ -51,8 +45,8 @@ msgstr ""
|
||||
#: lib/memex_web/live/note_live/index.html.heex:50
|
||||
#: lib/memex_web/live/note_live/show.html.heex:34
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:52
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:42
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:113
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:41
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:112
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "delete"
|
||||
msgstr ""
|
||||
@ -67,8 +61,8 @@ msgstr ""
|
||||
#: lib/memex_web/live/note_live/index.html.heex:40
|
||||
#: lib/memex_web/live/note_live/show.html.heex:24
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:40
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:32
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:102
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:31
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:101
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "edit"
|
||||
msgstr ""
|
||||
@ -115,16 +109,16 @@ msgstr ""
|
||||
msgid "register"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:43
|
||||
#: lib/memex_web/live/invite_live/form_component.html.heex:32
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:30
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:43
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:43
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:29
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "save"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:128
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:127
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "add step"
|
||||
msgstr ""
|
||||
@ -169,12 +163,12 @@ msgid "delete %{note_slug}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:49
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:40
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:39
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "delete %{pipeline_slug}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:111
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:110
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "delete %{step_title}"
|
||||
msgstr ""
|
||||
@ -199,7 +193,7 @@ msgstr ""
|
||||
msgid "edit %{pipeline_slug}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:100
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:99
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "edit %{step_title}"
|
||||
msgstr ""
|
||||
@ -209,12 +203,18 @@ msgstr ""
|
||||
msgid "edit invite for %{invite_name}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:90
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:89
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "move %{step_title} down"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:74
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:73
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "move %{step_title} up"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:3
|
||||
#: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:29
|
||||
#, elixir-autogen, elixir-format, fuzzy
|
||||
msgid "reset password"
|
||||
msgstr ""
|
||||
|
@ -18,7 +18,7 @@ msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/show.html.heex:15
|
||||
#: lib/memex_web/live/note_live/show.html.heex:15
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:23
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:22
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "Visibility: %{visibility}"
|
||||
msgstr ""
|
||||
@ -44,8 +44,8 @@ msgstr ""
|
||||
msgid "confirm new password"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:23
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:24
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "content"
|
||||
msgstr ""
|
||||
@ -242,20 +242,20 @@ msgstr ""
|
||||
msgid "report bugs or request features"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:45
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:45
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:45
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:31
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:44
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:30
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "saving..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:39
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:40
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:41
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:39
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:40
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:41
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:39
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:40
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:41
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "select privacy"
|
||||
msgstr ""
|
||||
@ -271,12 +271,12 @@ msgstr ""
|
||||
msgid "settings"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:31
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:32
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:33
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:31
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:32
|
||||
#: lib/memex_web/live/note_live/form_component.html.heex:33
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:31
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:32
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:33
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "tag1,tag2"
|
||||
msgstr ""
|
||||
@ -333,8 +333,8 @@ msgid "no contexts found"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/components/pipelines_table_component.ex:48
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:23
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:24
|
||||
#: lib/memex_web/live/pipeline_live/form_component.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "description"
|
||||
msgstr ""
|
||||
@ -408,8 +408,8 @@ msgstr ""
|
||||
msgid "home"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:23
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:24
|
||||
#: lib/memex_web/live/context_live/form_component.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "use [[note-slug]] to link to a note"
|
||||
msgstr ""
|
||||
@ -435,7 +435,7 @@ msgstr ""
|
||||
msgid "what is this?"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:60
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:59
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "%{position}. %{title}"
|
||||
msgstr ""
|
||||
@ -460,12 +460,12 @@ msgstr ""
|
||||
msgid "add step to %{slug}"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:54
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:53
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "no steps"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:49
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:48
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "steps:"
|
||||
msgstr ""
|
||||
@ -476,8 +476,8 @@ msgstr ""
|
||||
msgid "title"
|
||||
msgstr ""
|
||||
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:23
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:24
|
||||
#: lib/memex_web/live/step_live/form_component.html.heex:25
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "use [[context-slug]] to link to a context"
|
||||
msgstr ""
|
||||
|
@ -71,8 +71,8 @@ msgstr ""
|
||||
#: lib/memex_web/live/note_live/index.html.heex:47
|
||||
#: lib/memex_web/live/note_live/show.html.heex:31
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:47
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:39
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:110
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:38
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:109
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure?"
|
||||
msgstr ""
|
||||
|
@ -70,8 +70,8 @@ msgstr ""
|
||||
#: lib/memex_web/live/note_live/index.html.heex:47
|
||||
#: lib/memex_web/live/note_live/show.html.heex:31
|
||||
#: lib/memex_web/live/pipeline_live/index.html.heex:47
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:39
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:110
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:38
|
||||
#: lib/memex_web/live/pipeline_live/show.html.heex:109
|
||||
#, elixir-autogen, elixir-format
|
||||
msgid "are you sure?"
|
||||
msgstr ""
|
||||
|
@ -26,8 +26,8 @@ defmodule MemexWeb.UserConfirmationControllerTest do
|
||||
conn = post(conn, ~p"/users/confirm", %{user: %{email: user.email}})
|
||||
assert redirected_to(conn) == ~p"/"
|
||||
|
||||
conn.assigns.flash["info"] =~
|
||||
"If your email is in our system and it has not been confirmed yet, you will receive an email with instructions shortly."
|
||||
assert conn.assigns.flash["info"] =~
|
||||
"if your email is in our system and it has not been confirmed yet, you will receive an email with instructions shortly."
|
||||
|
||||
assert Repo.get_by!(Accounts.UserToken, user_id: user.id).context == "confirm"
|
||||
end
|
||||
@ -38,16 +38,16 @@ defmodule MemexWeb.UserConfirmationControllerTest do
|
||||
conn = post(conn, ~p"/users/confirm", %{user: %{email: user.email}})
|
||||
assert redirected_to(conn) == ~p"/"
|
||||
|
||||
conn.assigns.flash["info"] =~
|
||||
"If your email is in our system and it has not been confirmed yet, you will receive an email with instructions shortly."
|
||||
assert conn.assigns.flash["info"] =~
|
||||
"if your email is in our system and it has not been confirmed yet, you will receive an email with instructions shortly."
|
||||
end
|
||||
|
||||
test "does not send confirmation token if email is invalid", %{conn: conn} do
|
||||
conn = post(conn, ~p"/users/confirm", %{user: %{email: "unknown@example.com"}})
|
||||
assert redirected_to(conn) == ~p"/"
|
||||
|
||||
conn.assigns.flash["info"] =~
|
||||
"If your email is in our system and it has not been confirmed yet, you will receive an email with instructions shortly."
|
||||
assert conn.assigns.flash["info"] =~
|
||||
"if your email is in our system and it has not been confirmed yet, you will receive an email with instructions shortly."
|
||||
|
||||
assert Repo.all(Accounts.UserToken) == []
|
||||
end
|
||||
@ -62,9 +62,7 @@ defmodule MemexWeb.UserConfirmationControllerTest do
|
||||
|
||||
conn = get(conn, ~p"/users/confirm/#{token}")
|
||||
assert redirected_to(conn) == ~p"/"
|
||||
|
||||
conn.assigns.flash["info"] =~ "#{user.email} confirmed successfully"
|
||||
|
||||
assert conn.assigns.flash["info"] =~ "#{user.email} confirmed successfully"
|
||||
assert Accounts.get_user!(user.id).confirmed_at
|
||||
refute get_session(conn, :user_token)
|
||||
assert Repo.all(Accounts.UserToken) == []
|
||||
@ -72,7 +70,7 @@ defmodule MemexWeb.UserConfirmationControllerTest do
|
||||
# When not logged in
|
||||
conn = get(conn, ~p"/users/confirm/#{token}")
|
||||
assert redirected_to(conn) == ~p"/"
|
||||
conn.assigns.flash["error"] =~ "User confirmation link is invalid or it has expired"
|
||||
assert conn.assigns.flash["error"] =~ "user confirmation link is invalid or it has expired"
|
||||
|
||||
# When logged in
|
||||
conn =
|
||||
@ -85,10 +83,9 @@ defmodule MemexWeb.UserConfirmationControllerTest do
|
||||
end
|
||||
|
||||
test "does not confirm email with invalid token", %{conn: conn, user: user} do
|
||||
conn = get(conn, ~p"/users/confirm/#{"oops"}")
|
||||
conn = get(conn, ~p"/users/confirm/oops")
|
||||
assert redirected_to(conn) == ~p"/"
|
||||
conn.assigns.flash["error"] =~ "User confirmation link is invalid or it has expired"
|
||||
|
||||
assert conn.assigns.flash["error"] =~ "user confirmation link is invalid or it has expired"
|
||||
refute Accounts.get_user!(user.id).confirmed_at
|
||||
end
|
||||
end
|
||||
|
@ -32,6 +32,12 @@ defmodule MemexWeb.UserRegistrationControllerTest do
|
||||
}
|
||||
|
||||
assert redirected_to(conn) =~ ~p"/"
|
||||
|
||||
# Now do a logged in request and assert on the menu
|
||||
conn = get(conn, ~p"/")
|
||||
response = html_response(conn, 200)
|
||||
# user's email is recorded as admin
|
||||
assert response =~ email
|
||||
end
|
||||
|
||||
test "render errors for invalid data", %{conn: conn} do
|
||||
|
@ -26,8 +26,8 @@ defmodule MemexWeb.UserResetPasswordControllerTest do
|
||||
conn = post(conn, ~p"/users/reset_password", %{user: %{email: user.email}})
|
||||
assert redirected_to(conn) == ~p"/"
|
||||
|
||||
conn.assigns.flash["info"] =~
|
||||
"If your email is in our system, you will receive instructions to reset your password shortly."
|
||||
assert conn.assigns.flash["info"] =~
|
||||
"if your email is in our system, you will receive instructions to reset your password shortly."
|
||||
|
||||
assert Repo.get_by!(Accounts.UserToken, user_id: user.id).context == "reset_password"
|
||||
end
|
||||
@ -36,8 +36,8 @@ defmodule MemexWeb.UserResetPasswordControllerTest do
|
||||
conn = post(conn, ~p"/users/reset_password", %{user: %{email: "unknown@example.com"}})
|
||||
assert redirected_to(conn) == ~p"/"
|
||||
|
||||
conn.assigns.flash["info"] =~
|
||||
"If your email is in our system, you will receive instructions to reset your password shortly."
|
||||
assert conn.assigns.flash["info"] =~
|
||||
"if your email is in our system, you will receive instructions to reset your password shortly."
|
||||
|
||||
assert Repo.all(Accounts.UserToken) == []
|
||||
end
|
||||
@ -55,13 +55,13 @@ defmodule MemexWeb.UserResetPasswordControllerTest do
|
||||
|
||||
test "renders reset password", %{conn: conn, token: token} do
|
||||
conn = get(conn, ~p"/users/reset_password/#{token}")
|
||||
assert html_response(conn, 200) =~ "Reset password"
|
||||
assert html_response(conn, 200) =~ "reset password"
|
||||
end
|
||||
|
||||
test "does not render reset password with invalid token", %{conn: conn} do
|
||||
conn = get(conn, ~p"/users/reset_password/#{"oops"}")
|
||||
conn = get(conn, ~p"/users/reset_password/oops")
|
||||
assert redirected_to(conn) == ~p"/"
|
||||
conn.assigns.flash["error"] =~ "Reset password link is invalid or it has expired"
|
||||
assert conn.assigns.flash["error"] =~ "reset password link is invalid or it has expired"
|
||||
end
|
||||
end
|
||||
|
||||
@ -86,7 +86,7 @@ defmodule MemexWeb.UserResetPasswordControllerTest do
|
||||
|
||||
assert redirected_to(conn) == ~p"/users/log_in"
|
||||
refute get_session(conn, :user_token)
|
||||
conn.assigns.flash["info"] =~ "Password reset successfully"
|
||||
assert conn.assigns.flash["info"] =~ "password reset successfully"
|
||||
assert Accounts.get_user_by_email_and_password(user.email, "new valid password")
|
||||
end
|
||||
|
||||
@ -100,15 +100,15 @@ defmodule MemexWeb.UserResetPasswordControllerTest do
|
||||
})
|
||||
|
||||
response = html_response(conn, 200)
|
||||
assert response =~ "Reset password"
|
||||
assert response =~ "reset password"
|
||||
assert response =~ "should be at least 12 character(s)"
|
||||
assert response =~ "does not match password"
|
||||
end
|
||||
|
||||
test "does not reset password with invalid token", %{conn: conn} do
|
||||
conn = put(conn, ~p"/users/reset_password/#{"oops"}")
|
||||
conn = put(conn, ~p"/users/reset_password/oops")
|
||||
assert redirected_to(conn) == ~p"/"
|
||||
conn.assigns.flash["error"] =~ "Reset password link is invalid or it has expired"
|
||||
assert conn.assigns.flash["error"] =~ "reset password link is invalid or it has expired"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -83,14 +83,14 @@ defmodule MemexWeb.UserSessionControllerTest do
|
||||
conn = conn |> log_in_user(current_user) |> delete(~p"/users/log_out")
|
||||
assert redirected_to(conn) == ~p"/"
|
||||
refute get_session(conn, :user_token)
|
||||
conn.assigns.flash["info"] =~ "logged out successfully"
|
||||
assert conn.assigns.flash["info"] =~ "logged out successfully"
|
||||
end
|
||||
|
||||
test "succeeds even if the user is not logged in", %{conn: conn} do
|
||||
conn = delete(conn, ~p"/users/log_out")
|
||||
assert redirected_to(conn) == ~p"/"
|
||||
refute get_session(conn, :user_token)
|
||||
conn.assigns.flash["info"] =~ "logged out successfully"
|
||||
assert conn.assigns.flash["info"] =~ "logged out successfully"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -39,8 +39,7 @@ defmodule MemexWeb.UserSettingsControllerTest do
|
||||
|
||||
assert redirected_to(new_password_conn) == ~p"/users/settings"
|
||||
assert get_session(new_password_conn, :user_token) != get_session(conn, :user_token)
|
||||
new_password_conn.assigns.flash["info"] =~ "password updated successfully"
|
||||
|
||||
assert new_password_conn.assigns.flash["info"] =~ "password updated successfully"
|
||||
assert Accounts.get_user_by_email_and_password(current_user.email, "new valid password")
|
||||
end
|
||||
|
||||
@ -60,7 +59,6 @@ defmodule MemexWeb.UserSettingsControllerTest do
|
||||
assert response =~ "should be at least 12 character(s)"
|
||||
assert response =~ "does not match password"
|
||||
assert response =~ "is not valid"
|
||||
|
||||
assert get_session(old_password_conn, :user_token) == get_session(conn, :user_token)
|
||||
end
|
||||
end
|
||||
@ -72,13 +70,13 @@ defmodule MemexWeb.UserSettingsControllerTest do
|
||||
put(conn, ~p"/users/settings", %{
|
||||
action: "update_email",
|
||||
current_password: valid_user_password(),
|
||||
user: %{"email" => unique_user_email()}
|
||||
user: %{email: unique_user_email()}
|
||||
})
|
||||
|
||||
assert redirected_to(conn) == ~p"/users/settings"
|
||||
|
||||
conn.assigns.flash["info"] =~
|
||||
"a link to confirm your email change has been sent to the new address."
|
||||
assert conn.assigns.flash["info"] =~
|
||||
"a link to confirm your email change has been sent to the new address."
|
||||
|
||||
assert Accounts.get_user_by_email(current_user.email)
|
||||
end
|
||||
@ -86,9 +84,9 @@ defmodule MemexWeb.UserSettingsControllerTest do
|
||||
test "does not update email on invalid data", %{conn: conn} do
|
||||
conn =
|
||||
put(conn, ~p"/users/settings", %{
|
||||
"action" => "update_email",
|
||||
"current_password" => "invalid",
|
||||
"user" => %{"email" => "with spaces"}
|
||||
action: "update_email",
|
||||
current_password: "invalid",
|
||||
user: %{email: "with spaces"}
|
||||
})
|
||||
|
||||
response = html_response(conn, 200)
|
||||
@ -118,19 +116,19 @@ defmodule MemexWeb.UserSettingsControllerTest do
|
||||
%{conn: conn, current_user: current_user, token: token, email: email} do
|
||||
conn = get(conn, ~p"/users/settings/confirm_email/#{token}")
|
||||
assert redirected_to(conn) == ~p"/users/settings"
|
||||
conn.assigns.flash["info"] =~ "email changed successfully"
|
||||
assert conn.assigns.flash["info"] =~ "email changed successfully"
|
||||
refute Accounts.get_user_by_email(current_user.email)
|
||||
assert Accounts.get_user_by_email(email)
|
||||
|
||||
conn = get(conn, ~p"/users/settings/confirm_email/#{token}")
|
||||
assert redirected_to(conn) == ~p"/users/settings"
|
||||
conn.assigns.flash["error"] =~ "email change link is invalid or it has expired"
|
||||
assert conn.assigns.flash["error"] =~ "email change link is invalid or it has expired"
|
||||
end
|
||||
|
||||
test "does not update email with invalid token", %{conn: conn, current_user: current_user} do
|
||||
conn = get(conn, ~p"/users/settings/confirm_email/#{"oops"}")
|
||||
conn = get(conn, ~p"/users/settings/confirm_email/oops")
|
||||
assert redirected_to(conn) == ~p"/users/settings"
|
||||
conn.assigns.flash["error"] =~ "email change link is invalid or it has expired"
|
||||
assert conn.assigns.flash["error"] =~ "email change link is invalid or it has expired"
|
||||
assert Accounts.get_user_by_email(current_user.email)
|
||||
end
|
||||
|
||||
|
@ -22,7 +22,6 @@ defmodule MemexWeb.InviteLiveTest do
|
||||
|
||||
test "lists all invites", %{conn: conn, invite: invite} do
|
||||
{:ok, _index_live, html} = live(conn, ~p"/invites")
|
||||
|
||||
assert html =~ "invites"
|
||||
assert html =~ invite.name
|
||||
end
|
||||
@ -52,7 +51,7 @@ defmodule MemexWeb.InviteLiveTest do
|
||||
|> element(~s/a[aria-label="edit invite for #{invite.name}"]/)
|
||||
|> render_click() =~ "edit invite"
|
||||
|
||||
assert_patch(index_live, ~p"/invites/#{invite}/edit")
|
||||
assert_patch(index_live, ~p"/invites/edit/#{invite}")
|
||||
|
||||
assert index_live
|
||||
|> form("#invite-form")
|
||||
|
Loading…
Reference in New Issue
Block a user