From cbd66acc1a3fee498423f2225e5ddb92aeb431b6 Mon Sep 17 00:00:00 2001 From: Christophe Ninucci Date: Fri, 8 Dec 2023 07:40:17 +0100 Subject: [PATCH 1/3] - delete migration file --- go.mod | 1 - migrations/231012_0_add_index_in_logs.sql | 1 - 2 files changed, 2 deletions(-) delete mode 100644 migrations/231012_0_add_index_in_logs.sql diff --git a/go.mod b/go.mod index 3a6e72fe..10c741aa 100644 --- a/go.mod +++ b/go.mod @@ -124,5 +124,4 @@ require ( ) // replace github.com/signaux-faibles/libwekan => ../libwekan - //replace github.com/signaux-faibles/goSirene => ../goSirene diff --git a/migrations/231012_0_add_index_in_logs.sql b/migrations/231012_0_add_index_in_logs.sql deleted file mode 100644 index 38c9dd76..00000000 --- a/migrations/231012_0_add_index_in_logs.sql +++ /dev/null @@ -1 +0,0 @@ ---CREATE INDEX ON v_log((tokencontent ->> 'email'),(tokencontent ->> 'segment')); From f6d0bf682ab2e1a78f4f12b34c3566b2eecff127 Mon Sep 17 00:00:00 2001 From: Christophe Ninucci Date: Fri, 8 Dec 2023 17:21:35 +0100 Subject: [PATCH 2/3] =?UTF-8?q?-=20fixe=20l'ajout=20de=20membre=20=C3=A0?= =?UTF-8?q?=20la=20cr=C3=A9ation=20d'une=20carte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/core/kanban.go | 2 +- pkg/kanban/createCard.go | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/pkg/core/kanban.go b/pkg/core/kanban.go index c39d1962..20401197 100644 --- a/pkg/core/kanban.go +++ b/pkg/core/kanban.go @@ -20,7 +20,7 @@ type KanbanService interface { ExportFollowsForUser(ctx context.Context, params KanbanSelectCardsForUserParams, db *pgxpool.Pool, roles []string) (KanbanExports, error) SelectKanbanExportsWithSiret(ctx context.Context, siret string, username string, db *pgxpool.Pool, roles []string) (KanbanExports, error) GetUser(username libwekan.Username) (libwekan.User, bool) - CreateCard(ctx context.Context, params KanbanNewCardParams, username libwekan.Username, assignees []libwekan.Username, db *pgxpool.Pool) (KanbanCard, error) + CreateCard(ctx context.Context, params KanbanNewCardParams, username libwekan.Username, membersUsernames []libwekan.Username, db *pgxpool.Pool) (KanbanCard, error) UnarchiveCard(ctx context.Context, cardID libwekan.CardID, username libwekan.Username) error SelectBoardsForUsername(username libwekan.Username) []libwekan.ConfigBoard ClearBoardIDs(boardIDs []libwekan.BoardID, user libwekan.User) []libwekan.BoardID diff --git a/pkg/kanban/createCard.go b/pkg/kanban/createCard.go index 6a591adf..f86311d0 100644 --- a/pkg/kanban/createCard.go +++ b/pkg/kanban/createCard.go @@ -13,12 +13,12 @@ import ( ) // CreateCard permet la création d'une carte dans la base de données wekan -func (service wekanService) CreateCard(ctx context.Context, params core.KanbanNewCardParams, username libwekan.Username, assignees []libwekan.Username, db *pgxpool.Pool) (core.KanbanCard, error) { +func (service wekanService) CreateCard(ctx context.Context, params core.KanbanNewCardParams, username libwekan.Username, membersUsernames []libwekan.Username, db *pgxpool.Pool) (core.KanbanCard, error) { user, ok := GetUser(username) if !ok { return core.KanbanCard{}, core.ForbiddenError{Reason: "l'utilisateur n'est pas enregistré dans wekan"} } - assigneesUsers := utils.Convert(assignees, func(username libwekan.Username) libwekan.User { + members := utils.Convert(membersUsernames, func(username libwekan.Username) libwekan.User { user, _ := GetUser(username) return user }) @@ -42,12 +42,19 @@ func (service wekanService) CreateCard(ctx context.Context, params core.KanbanNe return core.KanbanCard{}, err } - card, err := buildCard(board, list.ID, swimlane.ID, params.Description, params.Siret, user, assigneesUsers, etablissement, params.Labels) + card, err := buildCard(board, list.ID, swimlane.ID, params.Description, params.Siret, user, etablissement, params.Labels) if err != nil { return core.KanbanCard{}, err } kanbanCard := wekanCardToKanbanCard(username)(card) - return kanbanCard, wekan.InsertCard(ctx, card) + err = wekan.InsertCard(ctx, card) + if err != nil { + return core.KanbanCard{}, err + } + for _, member := range members { + wekan.EnsureMemberInCard(ctx, card, member, member) + } + return kanbanCard, nil } func buildCard( @@ -57,14 +64,13 @@ func buildCard( description string, siret core.Siret, user libwekan.User, - assignees []libwekan.User, etablissement core.EtablissementData, labels []libwekan.BoardLabelName, ) (libwekan.Card, error) { card := libwekan.BuildCard(configBoard.Board.ID, listID, swimlaneID, etablissement.RaisonSociale, description, user.ID) // le créateur de la carte est assigné automatiquement - card.Assignees = utils.Convert(assignees, func(user libwekan.User) libwekan.UserID { return user.ID }) + card.Assignees = []libwekan.UserID{} activiteField := buildActiviteField(configBoard, etablissement.CodeActivite, etablissement.LibelleActivite) effectifField := buildEffectifField(configBoard, etablissement.Effectif) From 9917e58c741276bf9cbc1ba138632ce84a9dd785 Mon Sep 17 00:00:00 2001 From: Christophe Ninucci Date: Mon, 11 Dec 2023 08:22:10 +0100 Subject: [PATCH 3/3] - traite l'historique des assignee (mal) --- pkg/kanban/cardFromCardID.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkg/kanban/cardFromCardID.go b/pkg/kanban/cardFromCardID.go index f35025ed..eec1257d 100644 --- a/pkg/kanban/cardFromCardID.go +++ b/pkg/kanban/cardFromCardID.go @@ -4,7 +4,6 @@ import ( "context" "datapi/pkg/core" "datapi/pkg/utils" - "fmt" "github.com/signaux-faibles/libwekan" ) @@ -26,20 +25,18 @@ func wekanToKanbanJoinActivities(wekanActivities []libwekan.Activity) []core.Kan var kanbanActivities []core.KanbanActivity var mapActivity = make(map[libwekan.UserID]core.KanbanActivity) for _, wekanActivity := range wekanActivities { - if wekanActivity.ActivityType == "joinMember" { + if wekanActivity.ActivityType == "joinMember" || wekanActivity.ActivityType == "joinAssignee" { from := wekanActivity.ModifiedAt mapActivity[wekanActivity.MemberID] = core.KanbanActivity{ MemberID: wekanActivity.MemberID, From: &from, } - } else if wekanActivity.ActivityType == "unjoinMember" { + } else if wekanActivity.ActivityType == "unjoinMember" || wekanActivity.ActivityType == "unjoinAssignee" { activity := mapActivity[wekanActivity.MemberID] to := wekanActivity.ModifiedAt activity.To = &to kanbanActivities = append(kanbanActivities, activity) delete(mapActivity, wekanActivity.MemberID) - } else { - fmt.Println(wekanActivity, "ignoré") } } for _, activity := range mapActivity {