implemented selector for document state

This commit is contained in:
2025-07-10 20:38:13 +02:00
parent b52ace49db
commit 48dfabaaf3
8 changed files with 76 additions and 19 deletions

View File

@@ -9,13 +9,17 @@ import java.util.regex.Pattern;
public class Constants {
private Constants(){}
public static final Pattern POST_CODE = compile("(.*\\w+.*)\n(.*\\d+.*)\n(\\d{5}) (\\w+)",DOTALL);
public static final String COMPANIES = "companies";
public static final String COMPANY = "company";
public static final String CONFIG_DATABASE = "umbrella.modules.document.database";
public static final String CONTACTS = "contacts";
public static final String CUSTOMERS = "customers";
public static final String ERROR_ADDRESS_MISSING = "{0} address does not contain street address / post code / city";
public static final String PROJECT_ID = "project_id";
public static final String FIELD_AMOUNT = "amount";
@@ -75,6 +79,9 @@ public class Constants {
public static final String PATH_POSITIONS = "positions";
public static final String PATH_SEND = "send";
public static final String PATH_TYPES = "types";
public static final String PROJECT_ID = "project_id";
public static final String STATES = "states";
public static final String TABLE_COMPANY_SETTINGS = "company_settings";
public static final String TABLE_CUSTOMER_SETTINGS = "company_customer_settings";
@@ -84,7 +91,4 @@ public class Constants {
public static final String TABLE_PRICES = "customer_prices";
public static final String TABLE_TEMPLATES = "templates";
public static final String COMPANIES = "companies";
public static final String COMPANY = "company";
public static final String CUSTOMERS = "customers";
}

View File

@@ -28,8 +28,11 @@ import de.srsoftware.umbrella.documents.model.*;
import java.io.IOException;
import java.time.LocalDate;
import java.util.HashMap;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.json.JSONArray;
import org.json.JSONObject;
@@ -92,6 +95,7 @@ public class DocumentApi extends BaseHandler {
case COMPANIES -> getCompanies(ex,user.get(),token.orElse(null));
case CONTACTS -> getContacts(ex,user.get(),token.orElse(null));
case PATH_TYPES -> getDocTypes(ex);
case STATES -> getDocStates(ex);
case null -> super.doGet(path,ex);
default -> {
try {
@@ -136,6 +140,11 @@ public class DocumentApi extends BaseHandler {
return sendContent(ex,getLegacyContacts(ex,user,token));
}
private boolean getDocStates(HttpExchange ex) throws IOException {
var map = Stream.of(Document.State.values()).collect(Collectors.toMap(Document.State::code, Document.State::name));
return sendContent(ex,map);
}
private boolean getDocTypes(HttpExchange ex) throws UmbrellaException, IOException {
var types = db.listTypes();
var map = types.values().stream().collect(Collectors.toMap(Type::id, Type::name));