This is an automated email from the git hooks/post-receive script. New commit to branch bow-v2-go in repository bow. See https://gitlab.nuiton.org/chorem/bow.git commit 53df46493c2f16860289292a84f28785173229a6 Author: Benjamin <poussin@codelutin.com> Date: Thu May 28 23:54:19 2020 +0200 ajout de la config du nombre de tag dans le cloud --- pkg/repository/database.go | 13 +++--- .../components/preferences/MaxTagInCloudEditor.vue | 49 ++++++++++++++++++++++ web/src/views/Preferences.vue | 6 ++- 3 files changed, 60 insertions(+), 8 deletions(-) diff --git a/pkg/repository/database.go b/pkg/repository/database.go index 5bc1612..a8bb644 100644 --- a/pkg/repository/database.go +++ b/pkg/repository/database.go @@ -266,7 +266,8 @@ func (q *query) exec(currentUser model.BowUser, minRow int64, maxRow int64, argu QueryString fait une requete qui ne retourne qu'une seul ligne et retourne du string (qui peut ĂȘtre du json) */ func (q *query) QueryString(currentUser model.BowUser, arguments ...interface{}) (string, error) { - log.Println("[DB] begin tx") + txid, _ := utils.GenUUID() + log.Println(txid, "[DB] begin tx") tx, err := db.Begin(context.Background()) if err != nil { return "", utils.NewHTTPError500(err, currentUser) @@ -274,7 +275,7 @@ func (q *query) QueryString(currentUser model.BowUser, arguments ...interface{}) defer tx.Rollback(context.Background()) if q.presql != "" { - log.Println("[DB] exec pre query", q.presql) + log.Println(txid, "[DB] exec pre query", q.presql) _, err = db.Exec(context.Background(), q.presql, pgx.QuerySimpleProtocol(true)) if err != nil { return "", utils.NewHTTPError500(err, currentUser) @@ -282,14 +283,14 @@ func (q *query) QueryString(currentUser model.BowUser, arguments ...interface{}) } if !q.asNobody { - log.Println("[DB] change role to", currentUser.ID) + log.Println(txid, "[DB] change role to", currentUser.ID) _, err = db.Exec(context.Background(), fmt.Sprintf(`SET ROLE "%[1]s";`, currentUser.ID)) if err != nil { return "", utils.NewHTTPError500(err, currentUser) } } - log.Println("[DB] exec query", q.sql) + log.Println(txid, "[DB] exec query", q.sql) row := db.QueryRow(context.Background(), q.sql, arguments...) var pgjson pgtype.JSON @@ -299,14 +300,14 @@ func (q *query) QueryString(currentUser model.BowUser, arguments ...interface{}) } if q.postsql != "" { - log.Println("[DB] exec post query", q.postsql) + log.Println(txid, "[DB] exec post query", q.postsql) _, err = db.Exec(context.Background(), q.postsql, pgx.QuerySimpleProtocol(true)) if err != nil { return "", utils.NewHTTPError500(err, currentUser) } } - log.Println("[DB] commit tx") + log.Println(txid, "[DB] commit tx") err = tx.Commit(context.Background()) if err != nil { return "", utils.NewHTTPError500(err, currentUser) diff --git a/web/src/components/preferences/MaxTagInCloudEditor.vue b/web/src/components/preferences/MaxTagInCloudEditor.vue new file mode 100644 index 0000000..da43fc1 --- /dev/null +++ b/web/src/components/preferences/MaxTagInCloudEditor.vue @@ -0,0 +1,49 @@ +<template> + <div class="maxtagincloud-editor"> + <label for="maxtagincloud">Cloud's tag</label><input id="maxtagincloud" class="maxtagincloud" v-model="maxtagincloud" /> + <span class="errorMsg">{{ errorMsg }}</span> + </div> +</template> + +<script> +import { Component, Vue } from 'vue-property-decorator' + +@Component({ + name: 'MaxTagInCloudEditor', + components: {} +}) +class MaxTagInCloudEditor extends Vue { + errorMsg = '' + + get maxtagincloud() { + return this.user.maxtagincloud + } + + set maxtagincloud(value) { + let newMaxTagInCloud = parseInt(value) + this.$fetch.put('/users/current/maxtagincloud', {maxtagincloud: newMaxTagInCloud}).then( + () => { + let newUser = {...this.user} + newUser.maxtagincloud = newMaxTagInCloud + this.saveUser(newUser) + + this.errorMsg = 'saved' + }, + (err) => { + console.log('ko', err) + this.errorMsg = err.cause + } + ) + } + +} + +export default MaxTagInCloudEditor +</script> + +<style scoped lang="less"> +.maxtagincloud-editor { + display: flex; + flex-direction: row; +} +</style> diff --git a/web/src/views/Preferences.vue b/web/src/views/Preferences.vue index 4a766c3..66ef911 100644 --- a/web/src/views/Preferences.vue +++ b/web/src/views/Preferences.vue @@ -2,7 +2,8 @@ <div class="preferences"> <div>{{ errorMsg }}</div> <a :href="bookmarkletAdd">bookmarklet add</a> - <MaxResultEditor :user="user"></MaxResultEditor> + <MaxResultEditor></MaxResultEditor> + <MaxTagInCloudEditor></MaxTagInCloudEditor> <Actions :actions="user.actions"></Actions> <TagsEditor></TagsEditor> </div> @@ -12,12 +13,13 @@ // @ is an alias to /src import { Component, Vue } from 'vue-property-decorator' import MaxResultEditor from '@/components/preferences/MaxResultEditor' +import MaxTagInCloudEditor from '@/components/preferences/MaxTagInCloudEditor' import Actions from '@/components/preferences/Actions' import TagsEditor from '@/components/preferences/TagsEditor' @Component({ name: 'Preferences', - components: {MaxResultEditor, Actions, TagsEditor} + components: {MaxTagInCloudEditor, MaxResultEditor, Actions, TagsEditor} }) class Preferences extends Vue { errorMsg = '' -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.