refactor: add lombok to survey module
This commit is contained in:
committed by
Arnold Gálovics
parent
6ea6cb4cb1
commit
f26b7bc576
+13
-20
@@ -19,37 +19,30 @@
|
|||||||
package org.apache.fineract.infrastructure.survey.data;
|
package org.apache.fineract.infrastructure.survey.data;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Cieyou on 3/18/14.
|
* Created by Cieyou on 3/18/14.
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
public class ClientScoresOverview {
|
public class ClientScoresOverview {
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final String surveyName;
|
private String surveyName;
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final long id;
|
private long id;
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final String likelihoodCode;
|
private String likelihoodCode;
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final String likelihoodName;
|
private String likelihoodName;
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final long score;
|
private long score;
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final Double povertyLine;
|
private Double povertyLine;
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final LocalDate date;
|
private LocalDate date;
|
||||||
|
|
||||||
public ClientScoresOverview(final String likelihoodCode, final String likelihoodName, final long score, final Double povertyLine,
|
|
||||||
final LocalDate date, final long resourceId, final String surveyName) {
|
|
||||||
|
|
||||||
this.likelihoodCode = likelihoodCode;
|
|
||||||
this.likelihoodName = likelihoodName;
|
|
||||||
this.score = score;
|
|
||||||
this.povertyLine = povertyLine;
|
|
||||||
this.date = date;
|
|
||||||
this.id = resourceId;
|
|
||||||
this.surveyName = surveyName;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-18
@@ -19,30 +19,22 @@
|
|||||||
package org.apache.fineract.infrastructure.survey.data;
|
package org.apache.fineract.infrastructure.survey.data;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Cieyou on 3/11/14.
|
* Created by Cieyou on 3/11/14.
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
public class LikeliHoodPovertyLineData {
|
public class LikeliHoodPovertyLineData {
|
||||||
|
|
||||||
final long resourceId;
|
long resourceId;
|
||||||
final String likeliHoodName;
|
String likeliHoodName;
|
||||||
final String likeliHoodCode;
|
String likeliHoodCode;
|
||||||
final long enabled;
|
long enabled;
|
||||||
List<PovertyLineData> povertyLineData;
|
List<PovertyLineData> povertyLineData;
|
||||||
|
|
||||||
public LikeliHoodPovertyLineData(final long resourceId, final List<PovertyLineData> povertyLineData, final String likeliHoodName,
|
|
||||||
final String likeliHoodCode, final long enabled) {
|
|
||||||
this.resourceId = resourceId;
|
|
||||||
this.povertyLineData = povertyLineData;
|
|
||||||
this.likeliHoodName = likeliHoodName;
|
|
||||||
this.likeliHoodCode = likeliHoodCode;
|
|
||||||
this.enabled = enabled;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addPovertyLine(PovertyLineData povertyLineData) {
|
|
||||||
this.povertyLineData.add(povertyLineData);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-13
@@ -18,22 +18,20 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.fineract.infrastructure.survey.data;
|
package org.apache.fineract.infrastructure.survey.data;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Cieyou on 3/12/14.
|
* Created by Cieyou on 3/12/14.
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
public class LikelihoodData {
|
public class LikelihoodData {
|
||||||
|
|
||||||
final long resourceId;
|
long resourceId;
|
||||||
final String likeliHoodName;
|
String likeliHoodName;
|
||||||
final String likeliHoodCode;
|
String likeliHoodCode;
|
||||||
final long enabled;
|
long enabled;
|
||||||
|
|
||||||
public LikelihoodData(final long resourceId, final String likeliHoodName, final String likeliHoodCode, final long enabled) {
|
|
||||||
this.resourceId = resourceId;
|
|
||||||
this.likeliHoodName = likeliHoodName;
|
|
||||||
this.likeliHoodCode = likeliHoodCode;
|
|
||||||
this.enabled = enabled;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-12
@@ -18,21 +18,20 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.fineract.infrastructure.survey.data;
|
package org.apache.fineract.infrastructure.survey.data;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Cieyou on 3/11/14.
|
* Created by Cieyou on 3/11/14.
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
public class PovertyLineData {
|
public class PovertyLineData {
|
||||||
|
|
||||||
final Long resourceId;
|
Long resourceId;
|
||||||
final Long scoreFrom;
|
Long scoreFrom;
|
||||||
final Long scoreTo;
|
Long scoreTo;
|
||||||
final Double povertyLine;
|
Double povertyLine;
|
||||||
|
|
||||||
public PovertyLineData(final Long resourceId, final Long scoreFrom, final Long scoreTo, final Double povertyLine) {
|
|
||||||
|
|
||||||
this.resourceId = resourceId;
|
|
||||||
this.scoreTo = scoreTo;
|
|
||||||
this.scoreFrom = scoreFrom;
|
|
||||||
this.povertyLine = povertyLine;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-10
@@ -19,20 +19,18 @@
|
|||||||
package org.apache.fineract.infrastructure.survey.data;
|
package org.apache.fineract.infrastructure.survey.data;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Cieyou on 3/11/14.
|
* Created by Cieyou on 3/11/14.
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
public class PpiPovertyLineData {
|
public class PpiPovertyLineData {
|
||||||
|
|
||||||
final String ppi;
|
String ppi;
|
||||||
final List<LikeliHoodPovertyLineData> likeliHoodPovertyLineData;
|
List<LikeliHoodPovertyLineData> likeliHoodPovertyLineData;
|
||||||
|
|
||||||
public PpiPovertyLineData(final List<LikeliHoodPovertyLineData> likeliHoodPovertyLineData, final String ppi) {
|
|
||||||
|
|
||||||
this.likeliHoodPovertyLineData = likeliHoodPovertyLineData;
|
|
||||||
this.ppi = ppi;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-8
@@ -18,23 +18,26 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.fineract.infrastructure.survey.data;
|
package org.apache.fineract.infrastructure.survey.data;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
import org.apache.fineract.infrastructure.dataqueries.data.DatatableData;
|
import org.apache.fineract.infrastructure.dataqueries.data.DatatableData;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
public final class SurveyDataTableData {
|
public final class SurveyDataTableData {
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final DatatableData datatableData;
|
private DatatableData datatableData;
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final boolean enabled;
|
private boolean enabled;
|
||||||
|
|
||||||
public static SurveyDataTableData create(final DatatableData datatableData, final boolean enabled) {
|
public static SurveyDataTableData create(final DatatableData datatableData, final boolean enabled) {
|
||||||
|
|
||||||
return new SurveyDataTableData(datatableData, enabled);
|
return new SurveyDataTableData().setDatatableData(datatableData).setEnabled(enabled);
|
||||||
}
|
|
||||||
|
|
||||||
private SurveyDataTableData(final DatatableData datatableData, final boolean enabled) {
|
|
||||||
this.datatableData = datatableData;
|
|
||||||
this.enabled = enabled;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-13
@@ -23,6 +23,10 @@ import java.util.Map;
|
|||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
import org.apache.fineract.infrastructure.core.api.JsonCommand;
|
import org.apache.fineract.infrastructure.core.api.JsonCommand;
|
||||||
import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
|
import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
|
||||||
import org.apache.fineract.infrastructure.survey.api.LikelihoodApiConstants;
|
import org.apache.fineract.infrastructure.survey.api.LikelihoodApiConstants;
|
||||||
@@ -30,6 +34,10 @@ import org.apache.fineract.infrastructure.survey.data.LikelihoodStatus;
|
|||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "ppi_likelihoods_ppi")
|
@Table(name = "ppi_likelihoods_ppi")
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
public final class Likelihood extends AbstractPersistableCustom {
|
public final class Likelihood extends AbstractPersistableCustom {
|
||||||
|
|
||||||
@Column(name = "ppi_name", nullable = false)
|
@Column(name = "ppi_name", nullable = false)
|
||||||
@@ -65,17 +73,4 @@ public final class Likelihood extends AbstractPersistableCustom {
|
|||||||
public boolean isActivateCommand(final JsonCommand command) {
|
public boolean isActivateCommand(final JsonCommand command) {
|
||||||
return command.booleanPrimitiveValueOfParameterNamed(LikelihoodApiConstants.ACTIVE);
|
return command.booleanPrimitiveValueOfParameterNamed(LikelihoodApiConstants.ACTIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPpiName() {
|
|
||||||
return ppiName;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Long getId() {
|
|
||||||
return super.getId();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void disable() {
|
|
||||||
this.enabled = LikelihoodStatus.DISABLED;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+14
-9
@@ -58,8 +58,9 @@ public class PovertyLineServiceImpl implements PovertyLineService {
|
|||||||
String likelihoodCode = povertyLines.getString("code");
|
String likelihoodCode = povertyLines.getString("code");
|
||||||
|
|
||||||
if (likelihoodCode.equals(codeName)) {
|
if (likelihoodCode.equals(codeName)) {
|
||||||
povertyLineDatas.add(new PovertyLineData(povertyLines.getLong("id"), povertyLines.getLong("score_from"),
|
povertyLineDatas.add(
|
||||||
povertyLines.getLong("score_to"), povertyLines.getDouble("poverty_line")));
|
new PovertyLineData().setResourceId(povertyLines.getLong("id")).setScoreFrom(povertyLines.getLong("score_from"))
|
||||||
|
.setScoreTo(povertyLines.getLong("score_to")).setPovertyLine(povertyLines.getDouble("poverty_line")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,14 +69,16 @@ public class PovertyLineServiceImpl implements PovertyLineService {
|
|||||||
// create the likelihood object with the list of povertyLine object
|
// create the likelihood object with the list of povertyLine object
|
||||||
// belonging to it
|
// belonging to it
|
||||||
|
|
||||||
LikeliHoodPovertyLineData likeliHoodPovertyLineData = new LikeliHoodPovertyLineData(likelihoods.getLong("id"), povertyLineDatas,
|
LikeliHoodPovertyLineData likeliHoodPovertyLineData = new LikeliHoodPovertyLineData().setResourceId(likelihoods.getLong("id"))
|
||||||
likelihoods.getString("name"), likelihoods.getString("code"), likelihoods.getLong("enabled"));
|
.setPovertyLineData(povertyLineDatas).setLikeliHoodName(likelihoods.getString("name"))
|
||||||
|
.setLikeliHoodCode(likelihoods.getString("code")).setEnabled(likelihoods.getLong("enabled"));
|
||||||
|
|
||||||
listOfLikeliHoodPovertyLineData.add(likeliHoodPovertyLineData);
|
listOfLikeliHoodPovertyLineData.add(likeliHoodPovertyLineData);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PpiPovertyLineData ppiPovertyLineData = new PpiPovertyLineData(listOfLikeliHoodPovertyLineData, ppiName);
|
PpiPovertyLineData ppiPovertyLineData = new PpiPovertyLineData().setLikeliHoodPovertyLineData(listOfLikeliHoodPovertyLineData)
|
||||||
|
.setPpi(ppiName);
|
||||||
|
|
||||||
return ppiPovertyLineData;
|
return ppiPovertyLineData;
|
||||||
}
|
}
|
||||||
@@ -89,8 +92,9 @@ public class PovertyLineServiceImpl implements PovertyLineService {
|
|||||||
|
|
||||||
while (povertyLines.next()) {
|
while (povertyLines.next()) {
|
||||||
|
|
||||||
povertyLineDatas.add(new PovertyLineData(povertyLines.getLong("id"), povertyLines.getLong("score_from"),
|
povertyLineDatas
|
||||||
povertyLines.getLong("score_to"), povertyLines.getDouble("poverty_line")));
|
.add(new PovertyLineData().setResourceId(povertyLines.getLong("id")).setScoreFrom(povertyLines.getLong("score_from"))
|
||||||
|
.setScoreTo(povertyLines.getLong("score_to")).setPovertyLine(povertyLines.getDouble("poverty_line")));
|
||||||
}
|
}
|
||||||
|
|
||||||
povertyLines.first();
|
povertyLines.first();
|
||||||
@@ -98,8 +102,9 @@ public class PovertyLineServiceImpl implements PovertyLineService {
|
|||||||
// create the likelihood object with the list of povertyLine object
|
// create the likelihood object with the list of povertyLine object
|
||||||
// belonging to it
|
// belonging to it
|
||||||
|
|
||||||
return new LikeliHoodPovertyLineData(povertyLines.getLong("likelihood_id"), povertyLineDatas, povertyLines.getString("name"),
|
return new LikeliHoodPovertyLineData().setResourceId(povertyLines.getLong("id")).setPovertyLineData(povertyLineDatas)
|
||||||
povertyLines.getString("code"), povertyLines.getLong("enabled"));
|
.setLikeliHoodName(povertyLines.getString("name")).setLikeliHoodCode(povertyLines.getString("code"))
|
||||||
|
.setEnabled(povertyLines.getLong("enabled"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-9
@@ -43,13 +43,10 @@ public class ReadLikelihoodServiceImpl implements ReadLikelihoodService {
|
|||||||
List<LikelihoodData> likelihoodDatas = new ArrayList<>();
|
List<LikelihoodData> likelihoodDatas = new ArrayList<>();
|
||||||
|
|
||||||
while (likelihood.next()) {
|
while (likelihood.next()) {
|
||||||
likelihoodDatas.add(new LikelihoodData(likelihood.getLong("id"), likelihood.getString("name"), likelihood.getString("code"),
|
likelihoodDatas.add(new LikelihoodData().setResourceId(likelihood.getLong("id")).setLikeliHoodName(likelihood.getString("name"))
|
||||||
likelihood.getLong("enabled")
|
.setLikeliHoodCode(likelihood.getString("code")).setEnabled(likelihood.getLong("enabled")));
|
||||||
|
|
||||||
));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return likelihoodDatas;
|
return likelihoodDatas;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,10 +66,8 @@ public class ReadLikelihoodServiceImpl implements ReadLikelihoodService {
|
|||||||
|
|
||||||
likelihood.first();
|
likelihood.first();
|
||||||
|
|
||||||
return new LikelihoodData(likelihood.getLong("id"), likelihood.getString("name"), likelihood.getString("code"),
|
return new LikelihoodData().setResourceId(likelihood.getLong("id")).setLikeliHoodName(likelihood.getString("name"))
|
||||||
likelihood.getLong("enabled")
|
.setLikeliHoodCode(likelihood.getString("code")).setEnabled(likelihood.getLong("enabled"));
|
||||||
|
|
||||||
);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+9
-5
@@ -133,10 +133,10 @@ public class ReadSurveyServiceImpl implements ReadSurveyService {
|
|||||||
List<ClientScoresOverview> scoresOverviews = new ArrayList<>();
|
List<ClientScoresOverview> scoresOverviews = new ArrayList<>();
|
||||||
|
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
scoresOverviews.add(new ClientScoresOverview(rs.getString("code"), rs.getString("name"), rs.getLong("score"),
|
scoresOverviews.add(new ClientScoresOverview().setLikelihoodCode(rs.getString("code")).setLikelihoodName(rs.getString("name"))
|
||||||
rs.getDouble("poverty_line"), rs.getDate("date").toLocalDate(), rs.getLong("id"), surveyName));
|
.setScore(rs.getLong("score")).setPovertyLine(rs.getDouble("poverty_line")).setDate(rs.getDate("date").toLocalDate())
|
||||||
|
.setId(rs.getLong("id")).setSurveyName(surveyName));
|
||||||
}
|
}
|
||||||
|
|
||||||
return scoresOverviews;
|
return scoresOverviews;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -162,8 +162,12 @@ public class ReadSurveyServiceImpl implements ReadSurveyService {
|
|||||||
final SqlRowSet rs = this.jdbcTemplate.queryForRowSet(sql);
|
final SqlRowSet rs = this.jdbcTemplate.queryForRowSet(sql);
|
||||||
|
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
scoresOverviews.add(new ClientScoresOverview(rs.getString("code"), rs.getString("name"), rs.getLong("score"),
|
scoresOverviews.add(new ClientScoresOverview().setLikelihoodCode(rs.getString("code"))
|
||||||
rs.getDouble("poverty_line"), rs.getDate("date").toLocalDate(), rs.getLong("id"), rs.getString("surveyName")));
|
.setLikelihoodName(rs.getString("name")).setScore(rs.getLong("score")).setPovertyLine(rs.getDouble("poverty_line"))
|
||||||
|
.setDate(rs.getDate("date").toLocalDate()).setId(rs.getLong("id")).setSurveyName(rs.getString("surveyName"))
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -25,6 +25,7 @@ import org.apache.fineract.infrastructure.core.data.CommandProcessingResultBuild
|
|||||||
import org.apache.fineract.infrastructure.core.exception.PlatformDataIntegrityException;
|
import org.apache.fineract.infrastructure.core.exception.PlatformDataIntegrityException;
|
||||||
import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
|
import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
|
||||||
import org.apache.fineract.infrastructure.survey.data.LikelihoodDataValidator;
|
import org.apache.fineract.infrastructure.survey.data.LikelihoodDataValidator;
|
||||||
|
import org.apache.fineract.infrastructure.survey.data.LikelihoodStatus;
|
||||||
import org.apache.fineract.infrastructure.survey.domain.Likelihood;
|
import org.apache.fineract.infrastructure.survey.domain.Likelihood;
|
||||||
import org.apache.fineract.infrastructure.survey.domain.LikelihoodRepository;
|
import org.apache.fineract.infrastructure.survey.domain.LikelihoodRepository;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@@ -74,7 +75,7 @@ public class WriteLikelihoodServiceImpl implements WriteLikelihoodService {
|
|||||||
likelihood.getId());
|
likelihood.getId());
|
||||||
|
|
||||||
for (Likelihood aLikelihood : likelihoods) {
|
for (Likelihood aLikelihood : likelihoods) {
|
||||||
aLikelihood.disable();
|
aLikelihood.setEnabled(LikelihoodStatus.DISABLED);
|
||||||
}
|
}
|
||||||
this.repository.saveAll(likelihoods);
|
this.repository.saveAll(likelihoods);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user