Skip to content
This repository has been archived by the owner on Jul 22, 2023. It is now read-only.

Commit

Permalink
feature/frontend-new-substance-data (#1298)
Browse files Browse the repository at this point in the history
ping #1080
ping #1085

Co-authored-by: Epsilon_02 <epsilon_02+codeberg@mailbox.org>
Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1298
Reviewed-by: crapStone <crapstone@noreply.codeberg.org>
  • Loading branch information
Epsilon_02 and Epsilon_02 committed Apr 10, 2022
1 parent 42fd5b4 commit 2ef150a
Show file tree
Hide file tree
Showing 26 changed files with 146 additions and 155 deletions.
2 changes: 1 addition & 1 deletion assets/templates/first.html
Expand Up @@ -13,7 +13,7 @@
<th colspan="8">{{ document.header.documentTitle }}</th>
</tr>
<tr>
<th colspan="8">{{ document.header.organisation }}</th>
<th colspan="8">{{ document.header.organization }}</th>
</tr>
<tr>
<th colspan="8">{{ document.header.labCourse }}</th>
Expand Down
2 changes: 1 addition & 1 deletion assets/translations/de_by.json
Expand Up @@ -37,7 +37,7 @@
},
"header": {
"docTitle": "Titl vom Wisch:",
"organisation": "Organisation:",
"organization": "Organisation:",
"labCourse": "Gruppn:",
"name": "Nama:",
"place": "Blotz:",
Expand Down
2 changes: 1 addition & 1 deletion assets/translations/de_de.json
Expand Up @@ -37,7 +37,7 @@
},
"header": {
"docTitle": "Dokument Titel:",
"organisation": "Organisation:",
"organization": "Organisation:",
"labCourse": "Lab/Kurs:",
"name": "Name:",
"place": "Platz:",
Expand Down
2 changes: 1 addition & 1 deletion assets/translations/en_us.json
Expand Up @@ -37,7 +37,7 @@
},
"header": {
"docTitle": "Document title:",
"organisation": "Organization:",
"organization": "Organization:",
"labCourse": "Lab/Course:",
"name": "Name:",
"place": "Place:",
Expand Down
2 changes: 1 addition & 1 deletion assets/translations/hr_hr.json
Expand Up @@ -37,7 +37,7 @@
},
"header": {
"docTitle": "Naslov dokumenta:",
"organisation": "Organizacija:",
"organization": "Organizacija:",
"labCourse": "Laboratorij / Predavanje:",
"name": "Ime:",
"place": "Mjesto:",
Expand Down
2 changes: 1 addition & 1 deletion assets/translations/ru_ru.json
Expand Up @@ -37,7 +37,7 @@
},
"header": {
"docTitle": "Название документа:",
"organisation": "Организация:",
"organization": "Организация:",
"labCourse": "Лаборатория / Курс:",
"name": "Имя:",
"place": "Место:",
Expand Down
15 changes: 12 additions & 3 deletions crates/load_save/src/cabr2/migrations.rs
@@ -1,8 +1,8 @@
use types::{Data, SubstanceData};
use types::{Amount, Data, SubstanceData};

use crate::types::{CaBr2Document, Header};

use super::types::{CaBr2DocumentV0, DataV0, SubstanceDataV0};
use super::types::{AmountV0, CaBr2DocumentV0, DataV0, SubstanceDataV0};

impl From<CaBr2DocumentV0> for CaBr2Document {
fn from(old: CaBr2DocumentV0) -> Self {
Expand Down Expand Up @@ -48,13 +48,22 @@ impl From<SubstanceDataV0> for SubstanceData {
symbols: old.symbols.into(),
lethal_dose: old.lethal_dose.into(),
mak: old.mak.into(),
amount: old.amount,
amount: old.amount.map(|a| a.into()),
source: old.source,
checked: old.checked,
}
}
}

impl From<AmountV0> for Amount {
fn from(old: AmountV0) -> Self {
Amount {
value: old.value,
unit: old.unit,
}
}
}

impl<T> From<DataV0<Option<T>>> for Data<T> {
fn from(old: DataV0<Option<T>>) -> Self {
Data {
Expand Down
10 changes: 8 additions & 2 deletions crates/load_save/src/cabr2/types.rs
@@ -1,6 +1,6 @@
use serde::{Deserialize, Serialize};

use types::{Amount, Source};
use types::{Source, Unit};

use crate::types::CaBr2Document;

Expand Down Expand Up @@ -52,11 +52,17 @@ pub struct SubstanceDataV0 {
pub symbols: DataV0<Vec<String>>,
pub lethal_dose: DataV0<Option<String>>,
pub mak: DataV0<Option<String>>,
pub amount: Option<Amount>,
pub amount: Option<AmountV0>,
pub source: Source,
pub checked: bool,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct AmountV0 {
pub value: String,
pub unit: Unit,
}

#[derive(Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct DataV0<T> {
Expand Down
2 changes: 1 addition & 1 deletion crates/load_save/tests/assets/Knallerbsen_v1.cb2
@@ -1 +1 @@
{"version":"1","header":{"documentTitle":"Betriebsanweisungen nach EG Nr. 1272/2008","organization":"Für chemische Laboratorien des Campus Burghausen","labCourse":"Praktikum Anorganische Chemie","name":"Max Musterstudent","place":"42","assistant":"Hans Wurst","preparation":"Knallerbsen"},"substanceData":[{"name":{"originalData":["Cobalt(II)-nitrat","Kobalt(II)-nitrat","Cobaltdinitrat"]},"cas":{"originalData":["10141-05-6"]},"molecularFormula":{"originalData":["Co(NO3)2"]},"molarMass":{"originalData":["182,95 g/mol"]},"meltingPoint":{"originalData":[]},"boilingPoint":{"originalData":[]},"waterHazardClass":{"originalData":["WGK 3"]},"hPhrases":{"originalData":[[["H272","Kann Brand verstärken; Oxidationsmittel."],["H302","Gesundheitsschädlich bei Verschlucken."],["H317","Kann allergische Hautreaktionen verursachen."],["H318","Verursacht schwere Augenschäden."],["H332","Gesundheitsschädlich bei Einatmen."],["H334","Kann bei Einatmen Allergie, asthmaartige Symptome oder Atembeschwerden verursachen."],["H341","Kann vermutlich genetische Defekte verursachen."],["H350i","Kann bei Einatmen Krebs erzeugen."],["H360F","Kann die Fruchtbarkeit beeinträchtigen."],["H410","Sehr giftig für Wasserorganismen mit langfristiger Wirkung."]]]},"pPhrases":{"originalData":[[["P210","Von Hitze, heißen Oberflächen, Funken, offenen Flammen sowie anderen Zündquellen fernhalten. Nicht rauchen."],["P280","Schutzhandschuhe/Schutzkleidung/Augenschutz/Gesichtsschutz tragen."],["P301+P330+P331","BEI VERSCHLUCKEN: Mund ausspülen. KEIN Erbrechen herbeiführen."],["P302+P352","BEI BERÜHRUNG MIT DER HAUT: Mit viel Wasser und Seife waschen."],["P304+P340","BEI EINATMEN: Die Person an die frische Luft bringen und für ungehinderte Atmung sorgen."],["P305+P351+P338","BEI KONTAKT MIT DEN AUGEN: Einige Minuten lang behutsam mit Wasser spülen. Eventuell vorhandene Kontaktlinsen nach Möglichkeit entfernen. Weiter spülen."],["P310","Sofort GIFTINFORMATIONSZENTRUM oder Arzt anrufen."]]]},"signalWord":{"originalData":["Gefahr"]},"symbols":{"originalData":[["ghs03","ghs05","ghs07","ghs08","ghs09"]]},"lethalDose":{"originalData":["691 mg/kg"]},"mak":{"originalData":[]},"amount":{"value":"10","unit":{"type":"GRAM"}},"source":{"provider":"gestis","url":"https://gestis-api.dguv.de/api/article/de/005340","lastUpdated":"2022-04-07T00:47:08.984Z"},"checked":true},{"name":{"modifiedData":"Puffreis","originalData":[""]},"cas":{"originalData":[]},"molecularFormula":{"originalData":[]},"molarMass":{"modifiedData":"","originalData":[]},"meltingPoint":{"originalData":[]},"boilingPoint":{"originalData":[]},"waterHazardClass":{"modifiedData":"","originalData":[]},"hPhrases":{"originalData":[]},"pPhrases":{"originalData":[]},"signalWord":{"modifiedData":"","originalData":[]},"symbols":{"modifiedData":["ghs01","ghs06","ghs08","ghs02"],"originalData":[]},"lethalDose":{"originalData":[]},"mak":{"originalData":[]},"amount":{"value":"20","unit":{"type":"PIECES"}},"source":{"provider":"custom","url":"","lastUpdated":"2022-04-07T00:47:11.602Z"},"checked":true}],"humanAndEnvironmentDanger":["Bei anhaltender Augenreizung ärztlichen Rat einholen. Funkenerzeugung und elektrische Aufladung vermeiden."],"rulesOfConduct":["Hautschutz und Schutzkleidung mit Schutzbrille tragen."],"inCaseOfDanger":["Nach Einatmen: An die frische Luft bringen. Sofort Arzt hinzuziehen.","Nach Hautkontakt: Sofort mit Wasser abwaschen. Kontaminierte Kleidung entfernen. Sofort Arzt hinzuziehen.","Nach Verschlucken: Mund mit Wasser spülen, Wasser trinken lassen. Kein Erbrechen auslösen. Nur bei Bewusstsein!","Nach Augenkontakt: Mit Wasser spülen. Falls vorhanden nach Möglichkeit Kontaktlinsen entfernen und weiter spülen. Sofort Augenarzt hinzuziehen."],"disposal":["metallsalzhaltige, wässrige Lösungen, neutral-basisch","metallsalzhaltige, wässrige Lösungen, neutral-sauer","halogenfreier, wässriger Lösemittelabfall","halogenhaltige, wässrige organische Lösungen","Sammelbehälter für Lösemittel zum Recycling","Sammelbehälter Präparate","Feststoff-Abfall organisch","Feststoff-Abfall anorganisch"]}
{"version":"1","header":{"documentTitle":"Betriebsanweisungen nach EG Nr. 1272/2008","organization":"Für chemische Laboratorien des Campus Burghausen","labCourse":"Praktikum Anorganische Chemie","name":"Max Musterstudent","place":"42","assistant":"Hans Wurst","preparation":"Knallerbsen"},"substanceData":[{"name":{"originalData":["Cobalt(II)-nitrat","Kobalt(II)-nitrat","Cobaltdinitrat"]},"cas":{"originalData":["10141-05-6"]},"molecularFormula":{"originalData":["Co(NO3)2"]},"molarMass":{"originalData":["182,95 g/mol"]},"meltingPoint":{"originalData":[]},"boilingPoint":{"originalData":[]},"waterHazardClass":{"originalData":["WGK 3"]},"hPhrases":{"originalData":[[["H272","Kann Brand verstärken; Oxidationsmittel."],["H302","Gesundheitsschädlich bei Verschlucken."],["H317","Kann allergische Hautreaktionen verursachen."],["H318","Verursacht schwere Augenschäden."],["H332","Gesundheitsschädlich bei Einatmen."],["H334","Kann bei Einatmen Allergie, asthmaartige Symptome oder Atembeschwerden verursachen."],["H341","Kann vermutlich genetische Defekte verursachen."],["H350i","Kann bei Einatmen Krebs erzeugen."],["H360F","Kann die Fruchtbarkeit beeinträchtigen."],["H410","Sehr giftig für Wasserorganismen mit langfristiger Wirkung."]]]},"pPhrases":{"originalData":[[["P210","Von Hitze, heißen Oberflächen, Funken, offenen Flammen sowie anderen Zündquellen fernhalten. Nicht rauchen."],["P280","Schutzhandschuhe/Schutzkleidung/Augenschutz/Gesichtsschutz tragen."],["P301+P330+P331","BEI VERSCHLUCKEN: Mund ausspülen. KEIN Erbrechen herbeiführen."],["P302+P352","BEI BERÜHRUNG MIT DER HAUT: Mit viel Wasser und Seife waschen."],["P304+P340","BEI EINATMEN: Die Person an die frische Luft bringen und für ungehinderte Atmung sorgen."],["P305+P351+P338","BEI KONTAKT MIT DEN AUGEN: Einige Minuten lang behutsam mit Wasser spülen. Eventuell vorhandene Kontaktlinsen nach Möglichkeit entfernen. Weiter spülen."],["P310","Sofort GIFTINFORMATIONSZENTRUM oder Arzt anrufen."]]]},"signalWord":{"originalData":["Gefahr"]},"symbols":{"originalData":[["ghs03","ghs05","ghs07","ghs08","ghs09"]]},"lethalDose":{"originalData":["691 mg/kg"]},"mak":{"originalData":[]},"amount":{"value":"10","type":"GRAM"},"source":{"provider":"gestis","url":"https://gestis-api.dguv.de/api/article/de/005340","lastUpdated":"2022-04-07T00:47:08.984Z"},"checked":true},{"name":{"modifiedData":"Puffreis","originalData":[""]},"cas":{"originalData":[]},"molecularFormula":{"originalData":[]},"molarMass":{"modifiedData":"","originalData":[]},"meltingPoint":{"originalData":[]},"boilingPoint":{"originalData":[]},"waterHazardClass":{"modifiedData":"","originalData":[]},"hPhrases":{"originalData":[]},"pPhrases":{"originalData":[]},"signalWord":{"modifiedData":"","originalData":[]},"symbols":{"modifiedData":["ghs01","ghs06","ghs08","ghs02"],"originalData":[]},"lethalDose":{"originalData":[]},"mak":{"originalData":[]},"amount":{"value":"20","type":"PIECES"},"source":{"provider":"custom","url":"","lastUpdated":"2022-04-07T00:47:11.602Z"},"checked":true}],"humanAndEnvironmentDanger":["Bei anhaltender Augenreizung ärztlichen Rat einholen. Funkenerzeugung und elektrische Aufladung vermeiden."],"rulesOfConduct":["Hautschutz und Schutzkleidung mit Schutzbrille tragen."],"inCaseOfDanger":["Nach Einatmen: An die frische Luft bringen. Sofort Arzt hinzuziehen.","Nach Hautkontakt: Sofort mit Wasser abwaschen. Kontaminierte Kleidung entfernen. Sofort Arzt hinzuziehen.","Nach Verschlucken: Mund mit Wasser spülen, Wasser trinken lassen. Kein Erbrechen auslösen. Nur bei Bewusstsein!","Nach Augenkontakt: Mit Wasser spülen. Falls vorhanden nach Möglichkeit Kontaktlinsen entfernen und weiter spülen. Sofort Augenarzt hinzuziehen."],"disposal":["metallsalzhaltige, wässrige Lösungen, neutral-basisch","metallsalzhaltige, wässrige Lösungen, neutral-sauer","halogenfreier, wässriger Lösemittelabfall","halogenhaltige, wässrige organische Lösungen","Sammelbehälter für Lösemittel zum Recycling","Sammelbehälter Präparate","Feststoff-Abfall organisch","Feststoff-Abfall anorganisch"]}

0 comments on commit 2ef150a

Please sign in to comment.