Team functionality (#459)
* add api enpoints for adding, removing, updating user to workspace and leaving workspace * feat: updates client site workspace settings * refactor and add domain setting ui in modal * move workspace user functionality to its own component * adds tests * fix linting * updates select input to FlatSelectInput * moves workspace user role edit to seperated component * move user adding to its own component * adds check to usure users exist before checking is admin * fix loading users * feat: invite user to team functionality * fix token coulmn * fix self host mode changes * tests for user invite * Refactor back-end * Rename variables * Improve some styling elements + refactor workspace settings * More styling * More UI polishing * More UI fixes * PHP linting * Implemented most of the logic for team-functionnality * Fix user avatar URL * WIP remove users on cancellation * Finished pricing for team functionality * Fix tests * Fix linting * Added pricing_enabled helper * Fix pricing_enabled shortcut * Debug CI * Disable pricing when testing --------- Co-authored-by: LL-Etiane <lukongleinyuyetiane@gmail.com> Co-authored-by: Lukong Etiane <83535251+LL-Etiane@users.noreply.github.com> Co-authored-by: Julien Nahum <julien@nahum.net>
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
:form="form"
|
||||
label="Email"
|
||||
:required="true"
|
||||
:disabled="disableEmail"
|
||||
placeholder="Your email address"
|
||||
/>
|
||||
|
||||
@@ -135,6 +136,7 @@ export default {
|
||||
agree_terms: false,
|
||||
appsumo_license: null,
|
||||
}),
|
||||
disableEmail:false
|
||||
}),
|
||||
|
||||
computed: {
|
||||
@@ -167,12 +169,26 @@ export default {
|
||||
) {
|
||||
this.form.appsumo_license = this.$route.query.appsumo_license
|
||||
}
|
||||
|
||||
if (this.$route.query?.invite_token) {
|
||||
if (this.$route.query?.email) {
|
||||
this.form.email = this.$route.query?.email
|
||||
this.disableEmail = true
|
||||
}
|
||||
this.form.invite_token = this.$route.query?.invite_token
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
async register() {
|
||||
// Register the user.
|
||||
const data = await this.form.post("/register")
|
||||
let data
|
||||
try {
|
||||
// Register the user.
|
||||
data = await this.form.post("/register")
|
||||
} catch (err) {
|
||||
useAlert().error(err.response?._data?.message)
|
||||
return false
|
||||
}
|
||||
|
||||
// Log in the user.
|
||||
const tokenData = await this.form.post("/login")
|
||||
@@ -216,7 +232,13 @@ export default {
|
||||
if (this.isQuick) {
|
||||
this.$emit("afterQuickLogin")
|
||||
} else {
|
||||
this.$router.push({name: "forms-create"})
|
||||
// If is invite just redirect to home
|
||||
if (this.form.invite_token) {
|
||||
useAlert().success("You have successfully accepted the invite and joined this workspace.")
|
||||
this.$router.push({name: "home"})
|
||||
} else {
|
||||
this.$router.push({name: "forms-create"})
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user