# Jóváhagyási rendszer példa

> Beküldött bejegyzések jóváhagyása és törlése gombbal a weboldalon, két űrlap-nélküli végponttal.

Ez a példa egy jóváhagyási rendszert épít: a látogatók űrlappal küldenek be egyedi bejegyzéstípusú tartalmat (például betegkártyát, vendégcikket), és egy adminisztrátor a weboldalon, gombokkal hagyja jóvá vagy törli őket.

A folyamat:

1. A látogató kitölti a beküldő űrlapot. A bejegyzés **Pending Review** (jóváhagyásra vár) állapotba kerül.
2. Az adminisztrátor megnyitja a függő bejegyzéseket listázó oldalt.
3. A **Jóváhagyás** gomb a bejegyzést **Published** (közzétett) állapotba teszi, a **Törlés** gomb a lomtárba küldi.

A rendszer minden egyedi bejegyzéstípussal működik, nem csak az itt használttal.

## 1. Egyedi bejegyzéstípus és megjelenítés

1. A **JetEngine → Post Types** oldalon hozz létre egy egyedi bejegyzéstípust (a példában „Patient Cards”, 14 meta mezővel). A legtöbb mező **Text**, a nem, a dohányzás, a vércsoport és a hozzájárulás **Radio** típusú.
2. Ha szükséges, vegyél fel kapcsolt orvosválasztót (egy **Post Query** a Query Builderben) és osztályozó taxonómiát.
3. Hozz létre egy dinamikus listát (listing) a bejegyzéstípushoz, egy egyedi oldalsablont, egy archívumsablont a jóváhagyott kártyákhoz, és egy oldalt, amely a jóváhagyásra váró kártyákat listázza **Listing Grid** widgettel.

## 2. Beküldő űrlap

1. A **JetFormBuilder → Add New Form** oldalon hozz létre egy űrlapot, amelynek mezői megfelelnek a bejegyzéstípus meta mezőinek.
2. A **Post Submit Actions** alatt add hozzá az **Insert/Update Post** műveletet az **+ Add New** gombbal.
3. Állítsd be: **POST TYPE** = az egyedi bejegyzéstípus, **POST STATUS** = **Pending Review**.
4. A **FIELDS MAP** részben rendeld az űrlapmezőket a meta mezőkhöz (**Post meta**, majd a meta mező neve).
5. Ha a beküldés után köszönő oldalt akarsz, adj hozzá **Redirect to page** műveletet.

## 3. Jóváhagyó űrlap és végpont

1. Hozz létre új űrlapot (például „Kártya jóváhagyása”).
2. Adj hozzá egy **Hidden Field** blokkot. A **Field Value** maradhat **Current post ID**.
3. A blokk beállításai között az **General** fülön a **FORM FIELD NAME** legyen `post_id`.
4. Az **Value** fülön kattints az adatbázis ikonra, és a **Edit Preset** ablakban állítsd be: **SOURCE** = **Post**, **GET POST ID FROM** = **Current post**, **POST PROPERTY** = **Post ID**. Kattints az **Update** gombra.
5. A **JetForm** fül **Post Submit Actions** részén add hozzá az **Insert/Update Post** műveletet: **POST TYPE** = az egyedi bejegyzéstípus, **POST STATUS** = **Published**, **Fields Map** = **Post ID (will update the post)**.
6. Frissítsd és tedd közzé az űrlapot.
7. Nyisd meg a **JetFormBuilder → Végpontok** oldalt, kattints az **Add new route** gombra, és állítsd be: **RELATED FORM** = a jóváhagyó űrlap, **ACTION TYPE** = **REST API Endpoint**, **ROUTE NAMESPACE** és **ROUTE** a címhez (például `regisztracio` és `jovahagy`).
8. A **Data Fields** panel **Sample request** fülén kattints a **Copy data for the request** gombra, és mentsd el az adatot.
9. Kattints a **Publish** gombra.

## 4. Törlő űrlap és végpont

1. Másold le a jóváhagyó űrlapot. A rejtett mezőn nem kell változtatnod.
2. Az **Insert/Update Post** műveletben a **POST STATUS** legyen **Move to Trash**.
3. Tedd közzé az űrlapot.
4. Hozz létre hozzá végpontot a **Végpontok** oldalon, más útvonallal (például `regisztracio` és `torol`), és másold ki a **Copy data for the request** adatot ennél is.

## 5. Gombok a listában

1. Nyisd meg a **JetEngine → Listing Items/Components** oldalon a függő bejegyzések listaelemét.
2. Dinamikus mezőkkel jelenítsd meg a kártya adatait (név, telefonszám, e-mail-cím).
3. Adj hozzá két gombot Elementor **Button** vagy JetElements **Button** widgettel: az egyik legyen a jóváhagyás, a másik a törlés.
4. Egy gomb beállításainál a **Submit JetFormBuilder Form** szakaszban kapcsold be az **Enable form submission** kapcsolót.
5. A **Choose route** listában válaszd ki a gomb végpontját (például `/wp-json/regisztracio/jovahagy`).
6. A **Data for the request** mezőbe illeszd be az ahhoz a végponthoz másolt adatot.
7. Ismételd meg a másik gombbal a törlő végponttal.
8. Mentsd a listaelemet.

## 6. Az eredmény

- Egy újonnan beküldött kártya a szerkesztőfelületen **Pending** állapotban látszik.
- A függő kártyákat listázó oldalon minden kártya mellett ott van a két gomb.
- A jóváhagyó gomb megnyomása után a kártya **Published** lesz, és megjelenik a „Form successfully submitted.” üzenet.
- A törlő gomb a kártyát a lomtárba küldi.
