Skip to content

Commit 2f0a551

Browse files
Merge pull request #11 from dynamiatools/3.x
New account region parameters
2 parents 7d61429 + c0d31e1 commit 2f0a551

File tree

10 files changed

+104
-24
lines changed

10 files changed

+104
-24
lines changed

README.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
[![Release and Deploy](https://github.com/dynamiatools/module-saas/actions/workflows/release.yml/badge.svg)](https://github.com/dynamiatools/module-saas/actions/workflows/release.yml)
55

66
# SaaS Module
7-
87
This [DynamiaTools](https://www.dynamia.tools) extension allow you to create modules with multi tenant support por SaaS applications. Its manage accounts,
98
payments, account status, data isolation by account and more
109

@@ -26,24 +25,24 @@ Add the following dependencies to project classpath
2625
<dependency>
2726
<groupId>tools.dynamia.modules</groupId>
2827
<artifactId>tools.dynamia.modules.saas</artifactId>
29-
<version>3.1.3</version>
28+
<version>3.2.2</version>
3029
</dependency>
3130
```
3231

3332
```xml
3433
<dependency>
3534
<groupId>tools.dynamia.modules</groupId>
3635
<artifactId>tools.dynamia.modules.saas.ui</artifactId>
37-
<version>3.1.3</version>
36+
<version>3.2.2</version>
3837
</dependency>
3938

4039
```
4140

4241
**Gradle**
4342

4443
```groovy
45-
compile 'tools.dynamia.modules:tools.dynamia.modules.saas:3.1.3'
46-
compile 'tools.dynamia.modules:tools.dynamia.modules.saas.ui:3.1.3'
44+
compile 'tools.dynamia.modules:tools.dynamia.modules.saas:3.2.2'
45+
compile 'tools.dynamia.modules:tools.dynamia.modules.saas.ui:3.2.2'
4746
```
4847

4948
## Usage
@@ -82,7 +81,7 @@ For your modules you only require the API dependency
8281
<dependency>
8382
<groupId>tools.dynamia.modules</groupId>
8483
<artifactId>tools.dynamia.modules.saas.api</artifactId>
85-
<version>3.1.3</version>
84+
<version>3.2.2</version>
8685
</dependency>
8786
```
8887

sources/api/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@
2626
<parent>
2727
<groupId>tools.dynamia.modules</groupId>
2828
<artifactId>tools.dynamia.modules.saas.parent</artifactId>
29-
<version>3.2.1</version>
29+
<version>3.2.2</version>
3030
</parent>
3131
<artifactId>tools.dynamia.modules.saas.api</artifactId>
3232

3333
<name>DynamiaModules - SaaS API</name>
3434
<url>https://www.dynamia.tools/modules/saas</url>
35-
<version>3.2.1</version>
35+
<version>3.2.2</version>
3636

3737
<build>
3838
<plugins>

sources/core/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
<parent>
2323
<groupId>tools.dynamia.modules</groupId>
2424
<artifactId>tools.dynamia.modules.saas.parent</artifactId>
25-
<version>3.2.1</version>
25+
<version>3.2.2</version>
2626
</parent>
2727
<artifactId>tools.dynamia.modules.saas</artifactId>
28-
<version>3.2.1</version>
28+
<version>3.2.2</version>
2929
<name>DynamiaModules - SaaS Core</name>
3030
<url>https://www.dynamia.tools/modules/saas</url>
3131

@@ -49,12 +49,12 @@
4949
<dependency>
5050
<groupId>tools.dynamia.modules</groupId>
5151
<artifactId>tools.dynamia.modules.saas.api</artifactId>
52-
<version>3.2.1</version>
52+
<version>3.2.2</version>
5353
</dependency>
5454
<dependency>
5555
<groupId>tools.dynamia.modules</groupId>
5656
<artifactId>tools.dynamia.modules.saas.jpa</artifactId>
57-
<version>3.2.1</version>
57+
<version>3.2.2</version>
5858
</dependency>
5959
<dependency>
6060
<groupId>junit</groupId>

sources/core/src/main/java/tools/dynamia/modules/saas/domain/AccountRegion.java

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package tools.dynamia.modules.saas.domain;
22

3-
import jakarta.persistence.Entity;
4-
import jakarta.persistence.FetchType;
5-
import jakarta.persistence.ManyToOne;
6-
import jakarta.persistence.Table;
3+
import jakarta.persistence.*;
74
import jakarta.validation.constraints.NotNull;
85
import tools.dynamia.domain.jpa.SimpleEntity;
6+
import tools.dynamia.domain.query.QueryConditions;
7+
import tools.dynamia.domain.query.QueryParameters;
8+
import tools.dynamia.domain.util.DomainUtils;
99

10+
import java.util.ArrayList;
11+
import java.util.List;
1012
import java.util.Locale;
1113
import java.util.TimeZone;
1214

@@ -28,6 +30,10 @@ public class AccountRegion extends SimpleEntity {
2830
private String currency;
2931
private String timeZone = TimeZone.getDefault().getDisplayName();
3032
private String locale = Locale.getDefault().getDisplayName();
33+
private String invoiceType;
34+
35+
@OneToMany(mappedBy = "region", cascade = CascadeType.ALL, orphanRemoval = true)
36+
private List<AccountRegionParameter> parameters = new ArrayList<>();
3137

3238
public String getName() {
3339
return name;
@@ -106,4 +112,28 @@ public String toString() {
106112
return name;
107113
}
108114

115+
public String getInvoiceType() {
116+
return invoiceType;
117+
}
118+
119+
public void setInvoiceType(String invoiceType) {
120+
this.invoiceType = invoiceType;
121+
}
122+
123+
public List<AccountRegionParameter> getParameters() {
124+
return parameters;
125+
}
126+
127+
public void setParameters(List<AccountRegionParameter> parameters) {
128+
this.parameters = parameters;
129+
}
130+
131+
public AccountRegionParameter findParameter(String name) {
132+
if (getId() == null) {
133+
return parameters.stream().filter(p -> p.getName().equals(name)).findFirst().orElse(null);
134+
} else {
135+
return DomainUtils.lookupCrudService().findSingle(AccountRegionParameter.class, QueryParameters.with("region", this)
136+
.add("name", QueryConditions.eq(name)));
137+
}
138+
}
109139
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package tools.dynamia.modules.saas.domain;
2+
3+
import jakarta.persistence.Column;
4+
import jakarta.persistence.Entity;
5+
import jakarta.persistence.ManyToOne;
6+
import jakarta.persistence.Table;
7+
import jakarta.validation.constraints.NotNull;
8+
import tools.dynamia.domain.Descriptor;
9+
import tools.dynamia.domain.jpa.SimpleEntity;
10+
11+
@Entity
12+
@Table(name = "saas_regions_parameters")
13+
@Descriptor(fields = {"name", "value"}, viewParams = "columns: 1")
14+
public class AccountRegionParameter extends SimpleEntity {
15+
16+
@ManyToOne
17+
private AccountRegion region;
18+
@NotNull
19+
private String name;
20+
@Column(length = 2000)
21+
@NotNull
22+
@Descriptor(params = {"multiline: true", "height: 100px"})
23+
private String value;
24+
25+
public AccountRegion getRegion() {
26+
return region;
27+
}
28+
29+
public void setRegion(AccountRegion region) {
30+
this.region = region;
31+
}
32+
33+
public String getName() {
34+
return name;
35+
}
36+
37+
public void setName(String name) {
38+
this.name = name;
39+
}
40+
41+
public String getValue() {
42+
return value;
43+
}
44+
45+
public void setValue(String value) {
46+
this.value = value;
47+
}
48+
}

sources/jpa/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<artifactId>tools.dynamia.modules.saas.parent</artifactId>
2424
<groupId>tools.dynamia.modules</groupId>
25-
<version>3.2.1</version>
25+
<version>3.2.2</version>
2626
</parent>
2727
<modelVersion>4.0.0</modelVersion>
2828
<name>DynamiaModules - SaaS JPA</name>
@@ -33,7 +33,7 @@
3333
<dependency>
3434
<groupId>tools.dynamia.modules</groupId>
3535
<artifactId>tools.dynamia.modules.saas.api</artifactId>
36-
<version>3.2.1</version>
36+
<version>3.2.2</version>
3737
</dependency>
3838
<dependency>
3939
<groupId>tools.dynamia</groupId>

sources/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<modelVersion>4.0.0</modelVersion>
2222
<groupId>tools.dynamia.modules</groupId>
2323
<artifactId>tools.dynamia.modules.saas.parent</artifactId>
24-
<version>3.2.1</version>
24+
<version>3.2.2</version>
2525
<packaging>pom</packaging>
2626
<name>DynamiaModules - SaaS</name>
2727
<description>DynamiaTools extension to create SaaS applications with accounts control and multi tenants in same

sources/remote/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<artifactId>tools.dynamia.modules.saas.parent</artifactId>
2424
<groupId>tools.dynamia.modules</groupId>
25-
<version>3.2.1</version>
25+
<version>3.2.2</version>
2626
</parent>
2727
<modelVersion>4.0.0</modelVersion>
2828

@@ -35,7 +35,7 @@
3535
<dependency>
3636
<groupId>tools.dynamia.modules</groupId>
3737
<artifactId>tools.dynamia.modules.saas.jpa</artifactId>
38-
<version>3.2.1</version>
38+
<version>3.2.2</version>
3939
</dependency>
4040
<!-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api -->
4141
<dependency>

sources/ui/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
<parent>
2323
<groupId>tools.dynamia.modules</groupId>
2424
<artifactId>tools.dynamia.modules.saas.parent</artifactId>
25-
<version>3.2.1</version>
25+
<version>3.2.2</version>
2626
</parent>
2727
<artifactId>tools.dynamia.modules.saas.ui</artifactId>
28-
<version>3.2.1</version>
28+
<version>3.2.2</version>
2929
<name>DynamiaModules - SaaS UI</name>
3030
<url>https://www.dynamia.tools/modules/saas</url>
3131

sources/ui/src/main/resources/META-INF/descriptors/AccountRegionForm.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ fields:
1010
paymentProvider:
1111
mainAccount:
1212
currency:
13+
invoiceType:
1314
timeZone:
1415
component: timezonebox
1516
locale:
16-
component: localebox
17+
component: localebox
18+
parameters:
19+
component: crudview

0 commit comments

Comments
 (0)