mirror of
https://github.com/IT4Change/gradido.git
synced 2026-02-06 09:56:05 +00:00
Merge branch 'master' into dlt_deferred_transfer
This commit is contained in:
commit
2cea5a025f
32
.github/workflows/test_mariadb.yml
vendored
32
.github/workflows/test_mariadb.yml
vendored
@ -1,32 +0,0 @@
|
||||
name: Gradido MariaDB Test CI
|
||||
|
||||
on: push
|
||||
|
||||
jobs:
|
||||
files-changed:
|
||||
name: Detect File Changes - MariaDB
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
mariadb: ${{ steps.changes.outputs.mariadb }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3.3.0
|
||||
|
||||
- name: Check for frontend file changes
|
||||
uses: dorny/paths-filter@v2.11.1
|
||||
id: changes
|
||||
with:
|
||||
token: ${{ github.token }}
|
||||
filters: .github/file-filters.yml
|
||||
list-files: shell
|
||||
|
||||
build_test:
|
||||
if: needs.files-changed.outputs.mariadb == 'true'
|
||||
name: Docker Build Test - MariaDB
|
||||
needs: files-changed
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: MariaDB | Build 'test' image
|
||||
run: docker build --target mariadb_server -t "gradido/mariadb:test" -f ./mariadb/Dockerfile ./
|
||||
56
CHANGELOG.md
56
CHANGELOG.md
@ -4,8 +4,64 @@ All notable changes to this project will be documented in this file. Dates are d
|
||||
|
||||
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
||||
|
||||
#### [2.4.1](https://github.com/gradido/gradido/compare/2.3.1...2.4.1)
|
||||
|
||||
- feat(backend): auto register new user in humhub [`#3386`](https://github.com/gradido/gradido/pull/3386)
|
||||
- feat(backend): try and catch user sync [`#3385`](https://github.com/gradido/gradido/pull/3385)
|
||||
- feat(backend): increase initialien count [`#3369`](https://github.com/gradido/gradido/pull/3369)
|
||||
- feat(frontend): monterail vue3 migration [`#3383`](https://github.com/gradido/gradido/pull/3383)
|
||||
- fix(frontend): fix postmigration fix [`#3382`](https://github.com/gradido/gradido/pull/3382)
|
||||
- feat(frontend): update text [`#3373`](https://github.com/gradido/gradido/pull/3373)
|
||||
- feat(frontend): fix postmigration fix [`#3378`](https://github.com/gradido/gradido/pull/3378)
|
||||
- feat(frontend): map feature in vue 3 [`#3376`](https://github.com/gradido/gradido/pull/3376)
|
||||
- feat(frontend): links and emails in messages [`#3377`](https://github.com/gradido/gradido/pull/3377)
|
||||
- feat(frontend): add transaction link in latest transactions [`#3375`](https://github.com/gradido/gradido/pull/3375)
|
||||
- fix(frontend): fix logout issue [`#3374`](https://github.com/gradido/gradido/pull/3374)
|
||||
- fix(frontend): post migration fixes [`#3372`](https://github.com/gradido/gradido/pull/3372)
|
||||
- feat(frontend): vue3 migration [`#3365`](https://github.com/gradido/gradido/pull/3365)
|
||||
- fix(frontend): fix index.html [`#3368`](https://github.com/gradido/gradido/pull/3368)
|
||||
- build(frontend): merged code from master [`#3367`](https://github.com/gradido/gradido/pull/3367)
|
||||
- fix(frontend): vue3 migration pre deploy setup [`#3366`](https://github.com/gradido/gradido/pull/3366)
|
||||
- fix(workflow): fix broken tests [`#3363`](https://github.com/gradido/gradido/pull/3363)
|
||||
- fix(frontend): style fixes, admin fix [`#3364`](https://github.com/gradido/gradido/pull/3364)
|
||||
- fix(frontend): gdt test [`#3361`](https://github.com/gradido/gradido/pull/3361)
|
||||
- fix(frontend): style fixes [`#3360`](https://github.com/gradido/gradido/pull/3360)
|
||||
- fix(frontend): migration feedback fixes [`#3359`](https://github.com/gradido/gradido/pull/3359)
|
||||
- fix(frontend): scss changes and fixes [`#3358`](https://github.com/gradido/gradido/pull/3358)
|
||||
- fix(frontend): migration remaining fixes [`#3356`](https://github.com/gradido/gradido/pull/3356)
|
||||
- fix(admin): fix message update [`#3354`](https://github.com/gradido/gradido/pull/3354)
|
||||
- fix(admin): fix refetch data in edit creation form [`#3353`](https://github.com/gradido/gradido/pull/3353)
|
||||
- fix(frontend): fix dropdown in transaction send and link [`#3352`](https://github.com/gradido/gradido/pull/3352)
|
||||
- fix(frontend): fix newsletter state reactivity [`#3351`](https://github.com/gradido/gradido/pull/3351)
|
||||
- fix(frontend): fix how community switch is handled [`#3350`](https://github.com/gradido/gradido/pull/3350)
|
||||
- fix(frontend): fixed after merge [`#3349`](https://github.com/gradido/gradido/pull/3349)
|
||||
- fix(frontend): fixed logout handler [`#3347`](https://github.com/gradido/gradido/pull/3347)
|
||||
- chore(frontend): main js cleanup [`#3346`](https://github.com/gradido/gradido/pull/3346)
|
||||
- feature(frontend): change env config reading [`#3345`](https://github.com/gradido/gradido/pull/3345)
|
||||
- feature(frontend): bump node in FE .nvmrc [`#3344`](https://github.com/gradido/gradido/pull/3344)
|
||||
- feat(frontend): migration setup [`#3342`](https://github.com/gradido/gradido/pull/3342)
|
||||
- fix(admin): Remove "maxAmountPerMonth" from `createContributionLink` gql. [`#3343`](https://github.com/gradido/gradido/pull/3343)
|
||||
- fix(admin): style fixes [`#3339`](https://github.com/gradido/gradido/pull/3339)
|
||||
- fix(admin): creation tab disappearing after creating creation [`#3338`](https://github.com/gradido/gradido/pull/3338)
|
||||
- fix(frontend): show updated gdd amount [`#3337`](https://github.com/gradido/gradido/pull/3337)
|
||||
- feat(admin): Add remaining fixes [`#3336`](https://github.com/gradido/gradido/pull/3336)
|
||||
- feat(admin): fix edit creation form [`#3334`](https://github.com/gradido/gradido/pull/3334)
|
||||
- feat(admin): migration of admin creation components [`#3333`](https://github.com/gradido/gradido/pull/3333)
|
||||
- feat(admin): automatic contributions updates [`#3332`](https://github.com/gradido/gradido/pull/3332)
|
||||
- feat(admin): vite config changes [`#3331`](https://github.com/gradido/gradido/pull/3331)
|
||||
- feat(admin) - fix import in node server [`#3330`](https://github.com/gradido/gradido/pull/3330)
|
||||
- fix(admin): stylelint fix [`#3329`](https://github.com/gradido/gradido/pull/3329)
|
||||
- feat(admin): setup migration environment [`#3328`](https://github.com/gradido/gradido/pull/3328)
|
||||
- fix(admin): fix contribution link [`#3326`](https://github.com/gradido/gradido/pull/3326)
|
||||
- feat(admin): geo-coordinates for community [`#3323`](https://github.com/gradido/gradido/pull/3323)
|
||||
- feat(backend): speedup listTransactions [`#3324`](https://github.com/gradido/gradido/pull/3324)
|
||||
- fix(frontend): link forwarding after using send with url parameters [`#3322`](https://github.com/gradido/gradido/pull/3322)
|
||||
|
||||
#### [2.3.1](https://github.com/gradido/gradido/compare/2.3.0...2.3.1)
|
||||
|
||||
> 11 June 2024
|
||||
|
||||
- chore(release): v2.3.1 beta [`#3321`](https://github.com/gradido/gradido/pull/3321)
|
||||
- feat(frontend): more compatible humhub auto-login link [`#3319`](https://github.com/gradido/gradido/pull/3319)
|
||||
- fix(backend): fix test which will only fail at 31. of month, or 30.05 [`#3320`](https://github.com/gradido/gradido/pull/3320)
|
||||
- feat(frontend): remove automatically logged out message [`#3318`](https://github.com/gradido/gradido/pull/3318)
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
"description": "Administration Interface for Gradido",
|
||||
"main": "index.js",
|
||||
"author": "Moriz Wahl",
|
||||
"version": "2.3.1",
|
||||
"version": "2.4.1",
|
||||
"license": "Apache-2.0",
|
||||
"private": false,
|
||||
"scripts": {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "gradido-backend",
|
||||
"version": "2.3.1",
|
||||
"version": "2.4.1",
|
||||
"description": "Gradido unified backend providing an API-Service for Gradido Transactions",
|
||||
"main": "src/index.ts",
|
||||
"repository": "https://github.com/gradido/gradido/backend",
|
||||
|
||||
5
backend/src/apis/ConnectionAgents.ts
Normal file
5
backend/src/apis/ConnectionAgents.ts
Normal file
@ -0,0 +1,5 @@
|
||||
import { Agent } from 'http'
|
||||
import { Agent as HttpsAgent } from 'https'
|
||||
|
||||
export const httpAgent = new Agent({ keepAlive: true })
|
||||
export const httpsAgent = new HttpsAgent({ keepAlive: true })
|
||||
@ -7,10 +7,12 @@ import axios from 'axios'
|
||||
import { LogError } from '@/server/LogError'
|
||||
import { backendLogger as logger } from '@/server/logger'
|
||||
|
||||
import { httpAgent, httpsAgent } from './ConnectionAgents'
|
||||
|
||||
export const apiPost = async (url: string, payload: unknown): Promise<any> => {
|
||||
logger.trace('POST', url, payload)
|
||||
try {
|
||||
const result = await axios.post(url, payload)
|
||||
const result = await axios.post(url, payload, { httpAgent, httpsAgent })
|
||||
logger.trace('POST-Response', result)
|
||||
if (result.status !== 200) {
|
||||
throw new LogError('HTTP Status Error', result.status)
|
||||
@ -27,7 +29,7 @@ export const apiPost = async (url: string, payload: unknown): Promise<any> => {
|
||||
export const apiGet = async (url: string): Promise<any> => {
|
||||
logger.trace('GET: url=' + url)
|
||||
try {
|
||||
const result = await axios.get(url)
|
||||
const result = await axios.get(url, { httpAgent, httpsAgent })
|
||||
logger.trace('GET-Response', result)
|
||||
if (result.status !== 200) {
|
||||
throw new LogError('HTTP Status Error', result.status)
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
||||
import axios from 'axios'
|
||||
|
||||
import { httpAgent, httpsAgent } from '@/apis/ConnectionAgents'
|
||||
import { CONFIG } from '@/config'
|
||||
import { LogError } from '@/server/LogError'
|
||||
import { backendLogger as logger } from '@/server/logger'
|
||||
@ -126,9 +127,10 @@ export async function createGmsUser(apiKey: string, user: GmsUser): Promise<bool
|
||||
accept: 'application/json',
|
||||
language: 'en',
|
||||
timezone: 'UTC',
|
||||
connection: 'keep-alive',
|
||||
authorization: apiKey,
|
||||
},
|
||||
httpAgent,
|
||||
httpsAgent,
|
||||
}
|
||||
try {
|
||||
const result = await axios.post(baseUrl.concat(service), user, config)
|
||||
@ -160,9 +162,10 @@ export async function updateGmsUser(apiKey: string, user: GmsUser): Promise<bool
|
||||
accept: 'application/json',
|
||||
language: 'en',
|
||||
timezone: 'UTC',
|
||||
connection: 'keep-alive',
|
||||
authorization: apiKey,
|
||||
},
|
||||
httpAgent,
|
||||
httpsAgent,
|
||||
}
|
||||
try {
|
||||
const result = await axios.patch(baseUrl.concat(service), user, config)
|
||||
@ -197,9 +200,10 @@ export async function verifyAuthToken(
|
||||
accept: 'application/json',
|
||||
language: 'en',
|
||||
timezone: 'UTC',
|
||||
connection: 'keep-alive',
|
||||
// authorization: apiKey,
|
||||
},
|
||||
httpAgent,
|
||||
httpsAgent,
|
||||
}
|
||||
try {
|
||||
const result = await axios.get(baseUrl.concat(service), config)
|
||||
|
||||
@ -20,7 +20,9 @@ export class HumHubClient {
|
||||
|
||||
// eslint-disable-next-line no-useless-constructor, @typescript-eslint/no-empty-function
|
||||
private constructor() {
|
||||
this.restClient = new RestClient('gradido-backend', CONFIG.HUMHUB_API_URL)
|
||||
this.restClient = new RestClient('gradido-backend', CONFIG.HUMHUB_API_URL, undefined, {
|
||||
keepAlive: true,
|
||||
})
|
||||
logger.info('create rest client for', CONFIG.HUMHUB_API_URL)
|
||||
}
|
||||
|
||||
|
||||
23
backend/src/apis/humhub/model/AbstractUser.ts
Normal file
23
backend/src/apis/humhub/model/AbstractUser.ts
Normal file
@ -0,0 +1,23 @@
|
||||
import { User } from '@entity/User'
|
||||
|
||||
import { PublishNameLogic } from '@/data/PublishName.logic'
|
||||
import { PublishNameType } from '@/graphql/enum/PublishNameType'
|
||||
|
||||
import { Account } from './Account'
|
||||
import { Profile } from './Profile'
|
||||
|
||||
export abstract class AbstractUser {
|
||||
public constructor(user: User) {
|
||||
this.account = new Account(user)
|
||||
this.profile = new Profile(user)
|
||||
// temp fix for prevent double usernames in humhub, if the username ist created from initials
|
||||
const publishNameLogic = new PublishNameLogic(user)
|
||||
if (publishNameLogic.isUsernameFromInitials(user.humhubPublishName as PublishNameType)) {
|
||||
this.profile.firstname = this.account.username
|
||||
this.account.username = user.gradidoID
|
||||
}
|
||||
}
|
||||
|
||||
account: Account
|
||||
profile: Profile
|
||||
}
|
||||
@ -1,19 +1,15 @@
|
||||
import { User } from '@entity/User'
|
||||
|
||||
import { Account } from './Account'
|
||||
import { Profile } from './Profile'
|
||||
import { AbstractUser } from './AbstractUser'
|
||||
|
||||
export class GetUser {
|
||||
export class GetUser extends AbstractUser {
|
||||
public constructor(user: User, id: number) {
|
||||
super(user)
|
||||
this.id = id
|
||||
this.account = new Account(user)
|
||||
this.profile = new Profile(user)
|
||||
}
|
||||
|
||||
id: number
|
||||
guid: string
|
||||
// eslint-disable-next-line camelcase
|
||||
display_name: string
|
||||
account: Account
|
||||
profile: Profile
|
||||
}
|
||||
|
||||
@ -1,16 +1,7 @@
|
||||
import { User } from '@entity/User'
|
||||
|
||||
import { Account } from './Account'
|
||||
import { AbstractUser } from './AbstractUser'
|
||||
import { Password } from './Password'
|
||||
import { Profile } from './Profile'
|
||||
|
||||
export class PostUser {
|
||||
public constructor(user: User) {
|
||||
this.account = new Account(user)
|
||||
this.profile = new Profile(user)
|
||||
}
|
||||
|
||||
account: Account
|
||||
profile: Profile
|
||||
// only add password as filed, rest the same as AbstractUser
|
||||
export class PostUser extends AbstractUser {
|
||||
password: Password
|
||||
}
|
||||
|
||||
@ -67,17 +67,25 @@ export class PublishNameLogic {
|
||||
* else return user.firstName[0,2] + user.lastName[0,2] for publishNameType = [PUBLISH_NAME_ALIAS_OR_INITALS, PUBLISH_NAME_INITIALS]
|
||||
*/
|
||||
public getUsername(publishNameType: PublishNameType): string {
|
||||
if (
|
||||
[
|
||||
PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS,
|
||||
PublishNameType.PUBLISH_NAME_INITIALS,
|
||||
].includes(publishNameType)
|
||||
) {
|
||||
return publishNameType === PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS && this.hasAlias()
|
||||
? this.filterOutInvalidChar(this.user.alias)
|
||||
: this.firstUpperCaseSecondLowerCase(this.filterOutInvalidChar(this.user.firstName)) +
|
||||
this.firstUpperCaseSecondLowerCase(this.filterOutInvalidChar(this.user.lastName))
|
||||
if (this.isUsernameFromInitials(publishNameType)) {
|
||||
return this.filterOutInvalidChar(
|
||||
this.firstUpperCaseSecondLowerCase(this.user.firstName) +
|
||||
this.firstUpperCaseSecondLowerCase(this.user.lastName),
|
||||
)
|
||||
} else if (this.isUsernameFromAlias(publishNameType)) {
|
||||
return this.filterOutInvalidChar(this.user.alias)
|
||||
}
|
||||
return this.hasAlias() ? this.user.alias : this.user.gradidoID
|
||||
return this.user.gradidoID
|
||||
}
|
||||
|
||||
public isUsernameFromInitials(publishNameType: PublishNameType): boolean {
|
||||
return (
|
||||
PublishNameType.PUBLISH_NAME_INITIALS === publishNameType ||
|
||||
(PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS === publishNameType && !this.hasAlias())
|
||||
)
|
||||
}
|
||||
|
||||
public isUsernameFromAlias(publishNameType: PublishNameType): boolean {
|
||||
return PublishNameType.PUBLISH_NAME_ALIAS_OR_INITALS === publishNameType && this.hasAlias()
|
||||
}
|
||||
}
|
||||
|
||||
@ -112,6 +112,7 @@ beforeAll(async () => {
|
||||
mutate = testEnv.mutate
|
||||
query = testEnv.query
|
||||
con = testEnv.con
|
||||
CONFIG.HUMHUB_ACTIVE = false
|
||||
await cleanDB()
|
||||
})
|
||||
|
||||
|
||||
@ -34,6 +34,7 @@ import { updateGmsUser } from '@/apis/gms/GmsClient'
|
||||
import { GmsUser } from '@/apis/gms/model/GmsUser'
|
||||
import { HumHubClient } from '@/apis/humhub/HumHubClient'
|
||||
import { GetUser } from '@/apis/humhub/model/GetUser'
|
||||
import { PostUser } from '@/apis/humhub/model/PostUser'
|
||||
import { subscribe } from '@/apis/KlicktippController'
|
||||
import { encode } from '@/auth/JWT'
|
||||
import { RIGHTS } from '@/auth/RIGHTS'
|
||||
@ -174,9 +175,9 @@ export class UserResolver {
|
||||
let humhubUserPromise: Promise<IRestResponse<GetUser>> | undefined
|
||||
const klicktippStatePromise = getKlicktippState(dbUser.emailContact.email)
|
||||
if (CONFIG.HUMHUB_ACTIVE && dbUser.humhubAllowed) {
|
||||
const publishNameLogic = new PublishNameLogic(dbUser)
|
||||
const getHumhubUser = new PostUser(dbUser)
|
||||
humhubUserPromise = HumHubClient.getInstance()?.userByUsernameAsync(
|
||||
publishNameLogic.getUsername(dbUser.humhubPublishName as PublishNameType),
|
||||
getHumhubUser.account.username,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "gradido-database",
|
||||
"version": "2.3.1",
|
||||
"version": "2.4.1",
|
||||
"description": "Gradido Database Tool to execute database migrations",
|
||||
"main": "src/index.ts",
|
||||
"repository": "https://github.com/gradido/gradido/database",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "gradido-dht-node",
|
||||
"version": "2.3.1",
|
||||
"version": "2.4.1",
|
||||
"description": "Gradido dht-node module",
|
||||
"main": "src/index.ts",
|
||||
"repository": "https://github.com/gradido/gradido/",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "gradido-dlt-connector",
|
||||
"version": "3.0.0",
|
||||
"version": "2.4.1",
|
||||
"description": "Gradido DLT-Connector",
|
||||
"main": "src/index.ts",
|
||||
"repository": "https://github.com/gradido/gradido/",
|
||||
|
||||
@ -80,10 +80,6 @@ services:
|
||||
## MARIADB ##############################################
|
||||
#########################################################
|
||||
mariadb:
|
||||
image: gradido/mariadb:test
|
||||
environment:
|
||||
- MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1
|
||||
- MARIADB_USER=root
|
||||
networks:
|
||||
- internal-net
|
||||
- external-net
|
||||
|
||||
@ -61,11 +61,9 @@ services:
|
||||
## MARIADB ##############################################
|
||||
#########################################################
|
||||
mariadb:
|
||||
build:
|
||||
context: ./mariadb
|
||||
target: mariadb_server
|
||||
image: mariadb:10.5
|
||||
environment:
|
||||
- MARIADB_ALLOW_EMPTY_PASSWORD=1
|
||||
- MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1
|
||||
- MARIADB_USER=root
|
||||
networks:
|
||||
- internal-net
|
||||
@ -92,7 +90,6 @@ services:
|
||||
- 4000:4000
|
||||
depends_on:
|
||||
- mariadb
|
||||
restart: always
|
||||
environment:
|
||||
# Envs used in Dockerfile
|
||||
# - DOCKER_WORKDIR="/app"
|
||||
@ -128,7 +125,6 @@ services:
|
||||
# - 5000:5000
|
||||
depends_on:
|
||||
- mariadb
|
||||
restart: always
|
||||
environment:
|
||||
# Envs used in Dockerfile
|
||||
# - DOCKER_WORKDIR="/app"
|
||||
@ -162,7 +158,6 @@ services:
|
||||
- external-net
|
||||
ports:
|
||||
- 6010:6010
|
||||
restart: always
|
||||
environment:
|
||||
# Envs used in Dockerfile
|
||||
# - DOCKER_WORKDIR="/app"
|
||||
@ -196,7 +191,6 @@ services:
|
||||
- 5010:5010
|
||||
depends_on:
|
||||
- mariadb
|
||||
restart: always
|
||||
environment:
|
||||
# Envs used in Dockerfile
|
||||
# - DOCKER_WORKDIR="/app"
|
||||
|
||||
@ -36,6 +36,7 @@ export default defineConfig({
|
||||
baseUrl: 'http://localhost:3000',
|
||||
chromeWebSecurity: false,
|
||||
defaultCommandTimeout: 100000,
|
||||
pageLoadTimeout: 120000,
|
||||
supportFile: 'cypress/support/index.ts',
|
||||
viewportHeight: 720,
|
||||
viewportWidth: 1280,
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "gradido-federation",
|
||||
"version": "2.3.1",
|
||||
"version": "2.4.1",
|
||||
"description": "Gradido federation module providing Gradido-Hub-Federation and versioned API for inter community communication",
|
||||
"main": "src/index.ts",
|
||||
"repository": "https://github.com/gradido/gradido/federation",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "bootstrap-vue-gradido-wallet",
|
||||
"version": "2.3.1",
|
||||
"version": "2.4.1",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "node run/server.js",
|
||||
|
||||
BIN
frontend/public/img/brand/gradido-logo_200x59.png
Normal file
BIN
frontend/public/img/brand/gradido-logo_200x59.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
BIN
frontend/public/img/brand/gradido_coin_128x128.png
Normal file
BIN
frontend/public/img/brand/gradido_coin_128x128.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
@ -23,7 +23,7 @@ import { useAuthLinks } from '@/composables/useAuthLinks'
|
||||
const { login, register } = useAuthLinks()
|
||||
|
||||
const backgroundHeader = '/img/template/gradido_background_header.png'
|
||||
const logo = '/img/brand/gradido-logo.png'
|
||||
const logo = '/img/brand/gradido-logo_200x59.png'
|
||||
const sheet = '/img/template/Blaetter.png'
|
||||
</script>
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
required
|
||||
:no-flip="true"
|
||||
type="date"
|
||||
@update:model-value="date = $event"
|
||||
@update:model-value="handleDateChange"
|
||||
>
|
||||
<template #nav-prev-year><span></span></template>
|
||||
<template #nav-next-year><span></span></template>
|
||||
@ -128,6 +128,11 @@ const [date, dateProps] = defineField('date')
|
||||
|
||||
const { meta: dataFieldMeta } = useField('date', 'required')
|
||||
|
||||
const handleDateChange = (newDate) => {
|
||||
date.value = newDate
|
||||
emit('update:model-value', { ...props.modelValue, date: newDate })
|
||||
}
|
||||
|
||||
const showMessage = computed(() => {
|
||||
if (props.maxGddThisMonth <= 0 && props.maxGddLastMonth <= 0) return true
|
||||
if (props.modelValue.date)
|
||||
|
||||
@ -122,7 +122,7 @@ describe('GdtTransactionList', () => {
|
||||
it('emits input event after currentPage changes', async () => {
|
||||
await wrapper.findComponent({ name: 'BPagination' }).vm.$emit('update:modelValue', 2)
|
||||
await nextTick()
|
||||
expect(wrapper.emitted('input')).toEqual([[2]])
|
||||
expect(wrapper.emitted('update:modelValue')).toEqual([[2]])
|
||||
})
|
||||
|
||||
describe('pagination buttons', () => {
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
</div>
|
||||
<BPagination
|
||||
v-if="transactionGdtCount > pageSize"
|
||||
:model-value="currentPage"
|
||||
v-model="currentPage"
|
||||
class="mt-3"
|
||||
pills
|
||||
size="lg"
|
||||
@ -37,7 +37,6 @@
|
||||
:total-rows="transactionGdtCount"
|
||||
align="center"
|
||||
:hide-ellipsis="true"
|
||||
@update:model-value="currentPage = $event"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
@ -61,13 +60,16 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
currentPage: this.value,
|
||||
currentPage: this.modelValue,
|
||||
link: 'https://gradido.net/' + this.$store.state.language + '/memberships/',
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
currentPage() {
|
||||
if (this.modelValue !== this.currentPage) this.$emit('input', this.currentPage)
|
||||
modelValue(newValue) {
|
||||
this.currentPage = newValue
|
||||
},
|
||||
currentPage(newValue) {
|
||||
if (this.modelValue !== newValue) this.$emit('update:modelValue', newValue)
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@ -345,7 +345,7 @@ describe('Transaction', () => {
|
||||
})
|
||||
|
||||
it('has the description gdt.contribution', () => {
|
||||
expect(wrapper.findAll('div.row').at(0).text()).toContain('gdt.contribution')
|
||||
expect(wrapper.findAll('div.row').at(0).text()).toContain('This is a comment')
|
||||
})
|
||||
|
||||
it('renders the amount of euros', () => {
|
||||
|
||||
@ -91,7 +91,7 @@ const getLinesByType = computed(() => {
|
||||
icon: 'heart',
|
||||
iconclasses: 'gradido-global-color-accent',
|
||||
iconColor: '4',
|
||||
description: t('gdt.contribution'),
|
||||
description: props.comment, // t('gdt.contribution'),
|
||||
descriptiontext: n(props.amount, 'decimal') + ' €',
|
||||
credittext: n(props.gdt, 'decimal') + ' GDT',
|
||||
}
|
||||
|
||||
@ -127,7 +127,8 @@ describe('TransactionLink.vue', () => {
|
||||
expect(wrapper.vm.decay).toBe('100')
|
||||
})
|
||||
|
||||
it('computes validLink correctly when link is valid', () => {
|
||||
it('computes validLink correctly when link is valid', async () => {
|
||||
await wrapper.setProps({ validUntil: new Date(new Date().getTime() + 1000000) })
|
||||
expect(wrapper.vm.validLink).toBe(true)
|
||||
})
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
<div class="mb-0">{{ $t('1000thanks') }}</div>
|
||||
</BCol>
|
||||
<BCol cols="3" class="text-end d-none d-sm-none d-md-inline">
|
||||
<BAvatar src="/img/brand/gradido_coin●.png" size="6rem" />
|
||||
<BAvatar src="/img/brand/gradido_coin_128x128.png" size="6rem" />
|
||||
</BCol>
|
||||
</BRow>
|
||||
<BCard ref="pageFontSize" no-body class="border-0 mt-4 gradido-custom-background">
|
||||
@ -62,7 +62,7 @@
|
||||
<BRow class="d-inline d-sm-inline d-md-none d-lg-none mb-3">
|
||||
<BCol class="text-center">
|
||||
<BAvatar
|
||||
src="/img/brand/gradido_coin●.png"
|
||||
src="/img/brand/gradido_coin_128x128.png"
|
||||
size="6rem"
|
||||
bg-variant="transparent"
|
||||
></BAvatar>
|
||||
|
||||
@ -231,7 +231,6 @@
|
||||
},
|
||||
"gdt": {
|
||||
"calculation": "Berechnung der Gradido Transform",
|
||||
"contribution": "Beitrag",
|
||||
"conversion": "Umrechnung",
|
||||
"conversion-gdt-euro": "Umrechnung Euro / Gradido Transform (GDT)",
|
||||
"credit": "Gutschrift",
|
||||
|
||||
@ -231,7 +231,6 @@
|
||||
},
|
||||
"gdt": {
|
||||
"calculation": "Calculation of Gradido Transform",
|
||||
"contribution": "Contribution",
|
||||
"conversion": "Conversion",
|
||||
"conversion-gdt-euro": "Conversion Euro / Gradido Transform (GDT)",
|
||||
"credit": "Credit",
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<div class="mb-3"></div>
|
||||
<contribution-form
|
||||
:key="computedKeyFromForm"
|
||||
:model-value="form"
|
||||
v-model="form"
|
||||
:is-this-month="isThisMonth"
|
||||
:minimal-date="minimalDate"
|
||||
:max-gdd-last-month="maxForMonths[0]"
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
#########################################################################################################
|
||||
# mariadb server
|
||||
#########################################################################################################
|
||||
FROM mariadb:10.5 as mariadb_server
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "gradido",
|
||||
"version": "2.3.1",
|
||||
"version": "2.4.1",
|
||||
"description": "Gradido",
|
||||
"main": "index.js",
|
||||
"repository": "git@github.com:gradido/gradido.git",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user