tab name changes, aypos button, removed area related tabs

This commit is contained in:
2025-07-28 23:34:22 +03:00
parent a58e010561
commit 259a4804ff
13 changed files with 55 additions and 193 deletions

View File

@@ -14,7 +14,7 @@ public class CORSConfig {
public CorsFilter corsFilter() { public CorsFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration(); CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true); config.setAllowCredentials(true);
config.addAllowedOrigin("http://localhost:8080"); config.addAllowedOrigin("http://localhost:3000");
config.addAllowedHeader("*"); config.addAllowedHeader("*");
config.addAllowedOriginPattern("*"); config.addAllowedOriginPattern("*");
config.addAllowedMethod(CorsConfiguration.ALL); config.addAllowedMethod(CorsConfiguration.ALL);

View File

@@ -7,8 +7,8 @@
SKIP_PREFLIGHT_CHECK=true SKIP_PREFLIGHT_CHECK=true
# Vite environment variables # Vite environment variables
REACT_APP_API_BASE_URL=https://bgreen.blc-css.com/api/v1 REACT_APP_API_BASE_URL=http://localhost:8080/api/v1
REACT_APP_API_WEBSOCKET_BASE_URL=https://bgreen.blc-css.com REACT_APP_API_WEBSOCKET_BASE_URL=http://localhost:8080
REACT_APP_DEFAULT_EMAIL=info@blc-css.com REACT_APP_DEFAULT_EMAIL=info@blc-css.com

View File

@@ -48,7 +48,7 @@ const VerticalMenuHeader = (props) => {
<ul className="nav navbar-nav flex-row"> <ul className="nav navbar-nav flex-row">
<li className="nav-item mr-auto"> <li className="nav-item mr-auto">
<NavLink to="/" className="navbar-brand"> <NavLink to="/" className="navbar-brand">
<h2 className="brand-text mb-0">SECAPSoft</h2> <h2 className="brand-text mb-0">Bgreen</h2>
</NavLink> </NavLink>
</li> </li>
<li className="nav-item nav-toggle"> <li className="nav-item nav-toggle">

View File

@@ -3,7 +3,7 @@
//Template config options //Template config options
const themeConfig = { const themeConfig = {
app: { app: {
appName: "SECAPSoft", appName: "Bgreen",
}, },
layout: { layout: {
isRTL: false, isRTL: false,

View File

@@ -71,11 +71,11 @@
}, },
"DataInput": { "DataInput": {
"area": "Area", "area": "Area ",
"report": "Report ", "report": "Report ",
"reports": "Reports ", "reports": "Raw Data",
"data": "Data", "data": "Data ",
"datas": "Datas", "datas": "Data ",
"dataInput": "Data Input", "dataInput": "Data Input",
"year": "Year", "year": "Year",
"month": "Month", "month": "Month",
@@ -87,13 +87,14 @@
"update": "Update Data", "update": "Update Data",
"showDeleted": "Show Deleted Reports", "showDeleted": "Show Deleted Reports",
"result": "Result", "result": "Result",
"directToAllDatas": "See All Datas", "directToAllDatas": "See All Data",
"addNewData": "Add New Data", "addNewData": "Add New Data",
"failUploadExcel": "An error occurred while uploading the file!" "failUploadExcel": "File upload failed!"
}, },
"Graphics": { "Graphics": {
"graphics": "Graphics" "graphics": "Reports",
"reports": "Reports"
}, },
"EmissionSources": { "EmissionSources": {
@@ -279,7 +280,7 @@
}, },
"DataCenters": { "DataCenters": {
"dataCenter": "Data Center" "title": "Data Centers"
}, },
"DataCenter": { "DataCenter": {

View File

@@ -72,7 +72,7 @@
"DataInput": { "DataInput": {
"area": "Bölge ", "area": "Bölge ",
"report": "Rapor ", "report": "Rapor ",
"reports": "Raporlar ", "reports": "Raw Data",
"data": "Veri ", "data": "Veri ",
"datas": "Veriler ", "datas": "Veriler ",
"dataInput": "Veri Girişi", "dataInput": "Veri Girişi",
@@ -92,7 +92,8 @@
}, },
"Graphics": { "Graphics": {
"graphics": "Grafikler" "graphics": "Raporlar",
"reports": "Raporlar"
}, },
"EmissionSources": { "EmissionSources": {
@@ -290,5 +291,21 @@
"createSuccess": "Veri merkezi başarıyla oluşturuldu", "createSuccess": "Veri merkezi başarıyla oluşturuldu",
"deleteSuccess": "Veri merkezi başarıyla silindi", "deleteSuccess": "Veri merkezi başarıyla silindi",
"searchPlaceholder": "Veri merkezlerinde ara..." "searchPlaceholder": "Veri merkezlerinde ara..."
},
"DataCenters": {
"title": "Veri Merkezleri",
"create": "Veri Merkezi Ekle",
"name": "İsim",
"namePlaceholder": "Veri merkezi ismini girin",
"externalId": "Harici ID",
"externalIdPlaceholder": "Harici ID girin",
"number": "Numara",
"numberPlaceholder": "Numara girin",
"url": "URL",
"urlPlaceholder": "URL girin",
"createSuccess": "Veri merkezi başarıyla oluşturuldu",
"deleteSuccess": "Veri merkezi başarıyla silindi",
"searchPlaceholder": "Veri merkezlerinde ara..."
} }
} }

View File

@@ -49,7 +49,7 @@ export default [
permissionCheck("paginate_roles_get")) && [ permissionCheck("paginate_roles_get")) && [
{ {
id: "Organizations", id: "Organizations",
title: "Organizations.organizations", title: "DataCenters.title",
icon: <Home size={20} />, icon: <Home size={20} />,
navLink: "/organizasyonlar", navLink: "/organizasyonlar",
display: permissionCheck("paginate_organizations_get") ? "" : "none", display: permissionCheck("paginate_organizations_get") ? "" : "none",
@@ -79,14 +79,14 @@ export default [
}, },
{ {
id: "Datas", id: "Datas",
title: "DataInput.reports", title: "Raw Data",
icon: <BarChart2 size={20} />, icon: <BarChart2 size={20} />,
navLink: "/raporlar", navLink: "/raporlar",
display: permissionCheck("paginate_datasets_get") ? "" : "none", display: permissionCheck("paginate_datasets_get") ? "" : "none",
}, },
{ {
id: "Graphics", id: "Graphics",
title: "Graphics.graphics", title: "Reports",
icon: <Layers size={20} />, icon: <Layers size={20} />,
navLink: "/grafikler", navLink: "/grafikler",
display: permissionCheck("show_graphics") ? "" : "none", display: permissionCheck("show_graphics") ? "" : "none",
@@ -138,64 +138,10 @@ export default [
}, },
{ {
id: "DataCenter", id: "DataCenter",
title: "Data Center", title: "Data Centers",
icon: <Zap size={20} />, icon: <Zap size={20} />,
navLink: "/verimerkezi", navLink: "/verimerkezi",
}, },
{
id: "Areas",
title: "Areas.areas",
icon: <List size={20} />,
display:
permissionCheck("paginate_areas_get") ||
permissionCheck("paginate_countries_get") ||
permissionCheck("paginate_cities_get") ||
permissionCheck("paginate_districts_get") ||
permissionCheck("paginate_neighborhoods_get")
? ""
: "none",
children: (permissionCheck("paginate_areas_get") ||
permissionCheck("paginate_countries_get") ||
permissionCheck("paginate_cities_get") ||
permissionCheck("paginate_districts_get") ||
permissionCheck("paginate_neighborhoods_get")) && [
{
id: "Areas",
title: "Areas.areas",
icon: <ArrowRight size={20} />,
navLink: "/alanlar",
display: permissionCheck("paginate_areas_get") ? "" : "none",
},
{
id: "Countries",
title: "Areas.countries",
icon: <ArrowRight size={20} />,
navLink: "/ulkeler",
display: permissionCheck("paginate_countries_get") ? "" : "none",
},
{
id: "Cities",
title: "Areas.cities",
icon: <ArrowRight size={20} />,
navLink: "/iller",
display: permissionCheck("paginate_cities_get") ? "" : "none",
},
{
id: "Districts",
title: "Areas.districts",
icon: <ArrowRight size={20} />,
navLink: "/ilceler",
display: permissionCheck("paginate_districts_get") ? "" : "none",
},
{
id: "Neighborhoods",
title: "Areas.neighborhoods",
icon: <ArrowRight size={20} />,
navLink: "/mahalleler",
display: permissionCheck("paginate_neighborhoods_get") ? "" : "none",
},
],
},
{ {
id: "Survey", id: "Survey",
title: "Survey.survey", title: "Survey.survey",

View File

@@ -49,7 +49,7 @@ export default [
permissionCheck("paginate_roles_get")) && [ permissionCheck("paginate_roles_get")) && [
{ {
id: "DataCenters", id: "DataCenters",
title: "DataCenter.title", title: "DataCenters.title",
icon: <Zap size={20} />, icon: <Zap size={20} />,
navLink: "/organizasyonlar", navLink: "/organizasyonlar",
display: permissionCheck("paginate_datacenters_get") ? "" : "none", display: permissionCheck("paginate_datacenters_get") ? "" : "none",
@@ -79,14 +79,14 @@ export default [
}, },
{ {
id: "Datas", id: "Datas",
title: "DataInput.reports", title: "Raw Data",
icon: <BarChart2 size={20} />, icon: <BarChart2 size={20} />,
navLink: "/raporlar", navLink: "/raporlar",
display: permissionCheck("paginate_datasets_get") ? "" : "none", display: permissionCheck("paginate_datasets_get") ? "" : "none",
}, },
{ {
id: "Graphics", id: "Graphics",
title: "Grafikler", title: "Reports",
icon: <Layers size={20} />, icon: <Layers size={20} />,
navLink: "/grafikler", navLink: "/grafikler",
display: permissionCheck("show_graphics") ? "" : "none", display: permissionCheck("show_graphics") ? "" : "none",
@@ -138,64 +138,10 @@ export default [
}, },
{ {
id: "DataCenter", id: "DataCenter",
title: "Data Center", title: "DataCenters",
icon: <Zap size={20} />, icon: <Zap size={20} />,
navLink: "/verimerkezi", navLink: "/verimerkezi",
}, },
{
id: "Areas",
title: "Areas.areas",
icon: <List size={20} />,
display:
permissionCheck("paginate_areas_get") ||
permissionCheck("paginate_countries_get") ||
permissionCheck("paginate_cities_get") ||
permissionCheck("paginate_districts_get") ||
permissionCheck("paginate_neighborhoods_get")
? ""
: "none",
children: (permissionCheck("paginate_areas_get") ||
permissionCheck("paginate_countries_get") ||
permissionCheck("paginate_cities_get") ||
permissionCheck("paginate_districts_get") ||
permissionCheck("paginate_neighborhoods_get")) && [
{
id: "Areas",
title: "Areas.areas",
icon: <ArrowRight size={20} />,
navLink: "/alanlar",
display: permissionCheck("paginate_areas_get") ? "" : "none",
},
{
id: "Countries",
title: "Areas.countries",
icon: <ArrowRight size={20} />,
navLink: "/ulkeler",
display: permissionCheck("paginate_countries_get") ? "" : "none",
},
{
id: "Cities",
title: "Areas.cities",
icon: <ArrowRight size={20} />,
navLink: "/iller",
display: permissionCheck("paginate_cities_get") ? "" : "none",
},
{
id: "Districts",
title: "Areas.districts",
icon: <ArrowRight size={20} />,
navLink: "/ilceler",
display: permissionCheck("paginate_districts_get") ? "" : "none",
},
{
id: "Neighborhoods",
title: "Areas.neighborhoods",
icon: <ArrowRight size={20} />,
navLink: "/mahalleler",
display: permissionCheck("paginate_neighborhoods_get") ? "" : "none",
},
],
},
{ {
id: "Survey", id: "Survey",
title: "Survey.survey", title: "Survey.survey",

View File

@@ -9,8 +9,8 @@ const notificationsReducer = (state = initialState, action) => {
case "GET_QUICKNOTIFICATIONS": case "GET_QUICKNOTIFICATIONS":
return { return {
...state, ...state,
getQuickNotifications: action.payload.getQuickNotifications, getQuickNotifications: action.payload.getQuickNotifications || [],
totalForQuick: action.payload.getQuickNotifications.filter( totalForQuick: (action.payload.getQuickNotifications || []).filter(
(notification) => notification.read === false (notification) => notification.read === false
).length, ).length,
}; };
@@ -25,7 +25,7 @@ const notificationsReducer = (state = initialState, action) => {
case "GET_ALLNOTIFICATION": case "GET_ALLNOTIFICATION":
return { return {
...state, ...state,
notifications: action.payload.getAllNotifications, notifications: action.payload.getAllNotifications || [],
}; };
case "GET_NOTIFICATIONREMOVE": case "GET_NOTIFICATIONREMOVE":

View File

@@ -33,7 +33,7 @@ const DataCenter = () => {
minWidth: "100px", minWidth: "100px",
}, },
{ {
name: "Data Center", name: "Data Centers",
selector: (row) => row.dataCenter, selector: (row) => row.dataCenter,
sortable: true, sortable: true,
minWidth: "200px", minWidth: "200px",

View File

@@ -30,7 +30,6 @@ import { default as SweetAlert } from "sweetalert2";
import withReactContent from "sweetalert2-react-content"; import withReactContent from "sweetalert2-react-content";
import { getDataCenters, createDataCenter, updateDataCenter, deleteDataCenter } from "../redux/actions/dataCenter"; import { getDataCenters, createDataCenter, updateDataCenter, deleteDataCenter } from "../redux/actions/dataCenter";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { getAreas } from "../redux/actions/areas";
import { getSectors, getSectorById, getSubSectorById, getConsuptionUnits } from "../redux/actions/datas"; import { getSectors, getSectorById, getSubSectorById, getConsuptionUnits } from "../redux/actions/datas";
import { getAllEmissionSources } from "../redux/actions/emissionSources"; import { getAllEmissionSources } from "../redux/actions/emissionSources";
import { permissionCheck } from "../components/permission-check"; import { permissionCheck } from "../components/permission-check";
@@ -105,7 +104,6 @@ const DataCenterManagement = () => {
name: "", name: "",
externalId: "", externalId: "",
number: "", number: "",
areaId: null,
address: "", address: "",
latitude: null, latitude: null,
longitude: null, longitude: null,
@@ -122,10 +120,8 @@ const DataCenterManagement = () => {
const [mapPosition, setMapPosition] = useState(null); const [mapPosition, setMapPosition] = useState(null);
const dataCenterStore = useSelector((state) => state.dataCenter); const dataCenterStore = useSelector((state) => state.dataCenter);
const areasStore = useSelector((state) => state.areas);
const datasStore = useSelector((state) => state.datas); const datasStore = useSelector((state) => state.datas);
const emissionSourceStore = useSelector((state) => state.emissionSources); const emissionSourceStore = useSelector((state) => state.emissionSources);
const [areasOptions, setAreasOptions] = useState([]);
const [sectorsOptions, setSectorsOptions] = useState([]); const [sectorsOptions, setSectorsOptions] = useState([]);
const [subSectorsOptions, setSubSectorsOptions] = useState([]); const [subSectorsOptions, setSubSectorsOptions] = useState([]);
const [emissionSourcesOptions, setEmissionSourcesOptions] = useState([]); const [emissionSourcesOptions, setEmissionSourcesOptions] = useState([]);
@@ -154,14 +150,7 @@ const DataCenterManagement = () => {
minWidth: "200px", minWidth: "200px",
}, },
{ {
name: t("DataCenter.city"), name: "Dashboard",
selector: (row) => row.area?.cityNames,
sortable: true,
minWidth: "150px",
cell: (row) => <span>{row.area?.cityNames || "-"}</span>,
},
{
name: "AYPOS",
selector: (row) => row.ayposURL, selector: (row) => row.ayposURL,
sortable: false, sortable: false,
minWidth: "150px", minWidth: "150px",
@@ -173,7 +162,7 @@ const DataCenterManagement = () => {
size="sm" size="sm"
onClick={() => window.open(row.ayposURL, '_blank')} onClick={() => window.open(row.ayposURL, '_blank')}
> >
AYPOS Dashboard
</Button> </Button>
) : ( ) : (
<span>-</span> <span>-</span>
@@ -225,19 +214,9 @@ const DataCenterManagement = () => {
useEffect(() => { useEffect(() => {
dispatch(getDataCenters()); dispatch(getDataCenters());
dispatch(getAreas());
dispatch(getSectors()); dispatch(getSectors());
}, [dispatch]); }, [dispatch]);
useEffect(() => {
setAreasOptions(
areasStore?.areas?.map((area) => ({
value: area?.id,
label: area?.tag,
}))
);
}, [areasStore]);
useEffect(() => { useEffect(() => {
setSectorsOptions( setSectorsOptions(
datasStore?.sectors?.map((sector) => ({ datasStore?.sectors?.map((sector) => ({
@@ -334,7 +313,6 @@ const DataCenterManagement = () => {
name: row.dataCenter, name: row.dataCenter,
externalId: row.externalId, externalId: row.externalId,
number: row.number, number: row.number,
areaId: row.area?.id,
address: row.address, address: row.address,
latitude: row.latitude, latitude: row.latitude,
longitude: row.longitude, longitude: row.longitude,
@@ -432,7 +410,6 @@ const DataCenterManagement = () => {
name: "", name: "",
externalId: "", externalId: "",
number: "", number: "",
areaId: null,
address: "", address: "",
latitude: null, latitude: null,
longitude: null, longitude: null,
@@ -638,28 +615,6 @@ const DataCenterManagement = () => {
/> />
</FormGroup> </FormGroup>
</Col> </Col>
<Col sm="12">
<FormGroup>
<Label for="area">{t("DataCenter.area")}</Label>
<Select
id="area"
name="area"
placeholder={t("DataCenter.selectArea")}
options={areasOptions}
value={areasOptions?.find(
(option) => option.value === selectedDataCenter.areaId
)}
onChange={(option) =>
setSelectedDataCenter({
...selectedDataCenter,
areaId: option?.value,
})
}
isClearable
filterOption={customFilterForSelect}
/>
</FormGroup>
</Col>
<Col sm="12"> <Col sm="12">
<FormGroup> <FormGroup>
<Label for="address">{t("DataCenter.address")}</Label> <Label for="address">{t("DataCenter.address")}</Label>

View File

@@ -701,7 +701,7 @@ const Graphics = () => {
<div style={{ marginTop: "2%", marginBottom: "2%" }}> <div style={{ marginTop: "2%", marginBottom: "2%" }}>
<Card> <Card>
<CardHeader className="border-bottom"> <CardHeader className="border-bottom">
<CardTitle tag="h4">Grafikler</CardTitle> <CardTitle tag="h4">Reports</CardTitle>
<Button <Button
className="ml-2" className="ml-2"
color="primary" color="primary"

View File

@@ -642,16 +642,13 @@ const Map = () => {
</p> </p>
)} )}
{dc.ayposURL && ( {dc.ayposURL && (
<div className="mt-2"> <Button
<Button className="w-100 mb-1"
color="primary" color="primary"
size="sm" onClick={() => window.open(dc.ayposURL, '_blank')}
className="w-100" >
onClick={() => window.open(dc.ayposURL, '_blank')} Dashboard
> </Button>
AYPOS
</Button>
</div>
)} )}
</div> </div>
</Popup> </Popup>