forked from eatvio/eatvio_app
feat(diary): Fixed a moderation send issue. Dynamic product moderation now works
This commit is contained in:
@@ -84,6 +84,10 @@ class DiaryEditBloc extends Bloc<DiaryEditEvent, DiaryEditState> {
|
||||
commentController: currentState.commentController,
|
||||
mealTimeController: currentState.mealTimeController,
|
||||
productNameController: currentState.productNameController,
|
||||
caloriesController: currentState.caloriesController,
|
||||
proteinsController: currentState.proteinsController,
|
||||
fatsController: currentState.fatsController,
|
||||
carbsController: currentState.carbsController,
|
||||
selectedSatiety: currentState.selectedSatiety,
|
||||
selectedMood: currentState.selectedMood,
|
||||
portions: currentState.portions,
|
||||
@@ -114,6 +118,10 @@ class DiaryEditBloc extends Bloc<DiaryEditEvent, DiaryEditState> {
|
||||
TextEditingController(text: diary['comment']),
|
||||
productNameController: TextEditingController(),
|
||||
productQuantityController: TextEditingController(),
|
||||
caloriesController: TextEditingController(),
|
||||
proteinsController: TextEditingController(),
|
||||
fatsController: TextEditingController(),
|
||||
carbsController: TextEditingController(),
|
||||
diaryId: diaryId,
|
||||
diaryDate: diaryDate,
|
||||
autocompleteList: [],
|
||||
@@ -198,6 +206,10 @@ class DiaryEditBloc extends Bloc<DiaryEditEvent, DiaryEditState> {
|
||||
TextEditingController(text: diary['comment']),
|
||||
productNameController: TextEditingController(),
|
||||
productQuantityController: TextEditingController(),
|
||||
caloriesController: TextEditingController(),
|
||||
proteinsController: TextEditingController(),
|
||||
fatsController: TextEditingController(),
|
||||
carbsController: TextEditingController(),
|
||||
diaryId: diaryId,
|
||||
diaryDate: diaryDate,
|
||||
autocompleteList: [],
|
||||
@@ -691,7 +703,10 @@ class DiaryEditBloc extends Bloc<DiaryEditEvent, DiaryEditState> {
|
||||
currentState.token,
|
||||
);
|
||||
|
||||
print(response);
|
||||
if (response.statusCode == 200)
|
||||
print("Moderation success");
|
||||
else
|
||||
print("Moderation error");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -702,28 +717,31 @@ class DiaryEditBloc extends Bloc<DiaryEditEvent, DiaryEditState> {
|
||||
String fats_on_100gr,
|
||||
String carbohydrates_on_100gr,
|
||||
String? token) async {
|
||||
String url =
|
||||
'${dotenv.env['SERVER_ROOT']!}/diary/product_nutritional_values/sendToModeration';
|
||||
var serverURL = Uri.parse('${dotenv.env['SERVER_ROOT']!}');
|
||||
final Uri url = Uri.parse(
|
||||
'${dotenv.env['SERVER_ROOT']!}/diary/product_nutritional_values/sendToModeration');
|
||||
final Uri serverURL = Uri.parse('${dotenv.env['SERVER_ROOT']!}');
|
||||
String host = serverURL.host;
|
||||
final Map<String, dynamic> credentials = {
|
||||
final Map<String, String> credentials = {
|
||||
'name': name,
|
||||
'energy_on_100gr': energy_on_100gr,
|
||||
'proteins_on_100gr': proteins_on_100gr,
|
||||
'fats_on_100gr': fats_on_100gr,
|
||||
'carbohydrates_on_100gr': carbohydrates_on_100gr,
|
||||
};
|
||||
var bodyBytes = utf8.encode(json.encode(credentials));
|
||||
|
||||
var headers = {
|
||||
//'Content-Length': bodyBytes,
|
||||
'Authorization': 'Bearer $token',
|
||||
'Host': host,
|
||||
};
|
||||
|
||||
var response = await http.post(
|
||||
Uri.parse(url),
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'Content-Length': '${bodyBytes.length}',
|
||||
'Authorization': 'Bearer $token',
|
||||
'Host': host,
|
||||
},
|
||||
body: bodyBytes,
|
||||
url,
|
||||
headers: headers,
|
||||
body: credentials,
|
||||
encoding: utf8,
|
||||
);
|
||||
|
||||
if (response.statusCode == 200) {
|
||||
return response;
|
||||
} else {
|
||||
|
||||
@@ -33,6 +33,10 @@ class DiaryEditLoadedState extends DiaryEditState {
|
||||
this.productQuantityController,
|
||||
this.selectedMood,
|
||||
this.currentMeal,
|
||||
this.caloriesController,
|
||||
this.fatsController,
|
||||
this.proteinsController,
|
||||
this.carbsController,
|
||||
required this.diaryId,
|
||||
required this.selectedSatiety,
|
||||
required this.moderationExpanded,
|
||||
@@ -53,6 +57,10 @@ class DiaryEditLoadedState extends DiaryEditState {
|
||||
TextEditingController? commentController;
|
||||
TextEditingController? productNameController;
|
||||
TextEditingController? productQuantityController;
|
||||
TextEditingController? caloriesController;
|
||||
TextEditingController? fatsController;
|
||||
TextEditingController? proteinsController;
|
||||
TextEditingController? carbsController;
|
||||
int? selectedMood;
|
||||
int selectedSatiety;
|
||||
int diaryId;
|
||||
@@ -72,6 +80,10 @@ class DiaryEditLoadedState extends DiaryEditState {
|
||||
commentController,
|
||||
productNameController,
|
||||
productQuantityController,
|
||||
caloriesController,
|
||||
fatsController,
|
||||
proteinsController,
|
||||
carbsController,
|
||||
selectedMood,
|
||||
selectedSatiety,
|
||||
diaryId,
|
||||
@@ -94,6 +106,10 @@ class DiaryEditLoadedState extends DiaryEditState {
|
||||
TextEditingController? commentController,
|
||||
TextEditingController? productNameController,
|
||||
TextEditingController? productQuantityController,
|
||||
TextEditingController? caloriesController,
|
||||
TextEditingController? fatsController,
|
||||
TextEditingController? proteinsController,
|
||||
TextEditingController? carbsController,
|
||||
int? selectedMood,
|
||||
int? selectedSatiety,
|
||||
int? diaryId,
|
||||
@@ -120,6 +136,10 @@ class DiaryEditLoadedState extends DiaryEditState {
|
||||
selectedSatiety: selectedSatiety ?? this.selectedSatiety,
|
||||
diaryId: diaryId ?? this.diaryId,
|
||||
currentMeal: currentMeal ?? this.currentMeal,
|
||||
caloriesController: caloriesController ?? this.caloriesController,
|
||||
fatsController: fatsController ?? this.fatsController,
|
||||
proteinsController: proteinsController ?? this.proteinsController,
|
||||
carbsController: carbsController ?? this.carbsController,
|
||||
wakeupExpanded: wakeupExpanded ?? this.wakeupExpanded,
|
||||
moderationExpanded: moderationExpanded ?? this.moderationExpanded,
|
||||
moodExpanded: moodExpanded ?? this.moodExpanded);
|
||||
|
||||
@@ -309,13 +309,13 @@ class DiaryEditScreen extends StatelessWidget {
|
||||
optionsBuilder: buildOptions(_options),
|
||||
fieldViewBuilder: (
|
||||
BuildContext context,
|
||||
TextEditingController textEditingController,
|
||||
TextEditingController productEditingController,
|
||||
FocusNode focusNodeName,
|
||||
VoidCallback onFieldSubmitted,
|
||||
) {
|
||||
return CustomTextFormField(
|
||||
hintText: "Введите название продукта",
|
||||
controller: textEditingController,
|
||||
controller: productEditingController,
|
||||
focusNode: focusNodeName,
|
||||
onChanged: getAutocomplete(context, focusNodeQuantity),
|
||||
/*onFieldSubmitted: (String value) {
|
||||
@@ -357,7 +357,7 @@ class DiaryEditScreen extends StatelessWidget {
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 10.h),
|
||||
child: GestureDetector(
|
||||
onTap: () => openCaloriesDialog(context),
|
||||
onTap: () => openCaloriesDialog(context, state),
|
||||
child: Text("Отправить на модерацию"),
|
||||
),
|
||||
),
|
||||
@@ -449,33 +449,7 @@ class DiaryEditScreen extends StatelessWidget {
|
||||
));
|
||||
}
|
||||
|
||||
openCaloriesDialog(BuildContext context) {
|
||||
String name = '';
|
||||
String energyOn100gr = '';
|
||||
String proteinsOn100gr = '';
|
||||
String fatsOn100gr = '';
|
||||
String carbohydratesOn100gr = '';
|
||||
|
||||
void onNameChanged(String value) {
|
||||
name = value;
|
||||
}
|
||||
|
||||
void onEnergyChanged(String value) {
|
||||
energyOn100gr = value;
|
||||
}
|
||||
|
||||
void onProteinsChanged(String value) {
|
||||
proteinsOn100gr = value;
|
||||
}
|
||||
|
||||
void onFatsChanged(String value) {
|
||||
fatsOn100gr = value;
|
||||
}
|
||||
|
||||
void onCarbohydratesChanged(String value) {
|
||||
carbohydratesOn100gr = value;
|
||||
}
|
||||
|
||||
openCaloriesDialog(BuildContext context, DiaryEditLoadedState state) {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext dialogContext) {
|
||||
@@ -486,31 +460,31 @@ class DiaryEditScreen extends StatelessWidget {
|
||||
children: [
|
||||
CustomTextFormField(
|
||||
hintText: "Название",
|
||||
onChanged: onNameChanged,
|
||||
controller: state.productNameController,
|
||||
),
|
||||
SizedBox(height: 10.v),
|
||||
CustomTextFormField(
|
||||
onChanged: onEnergyChanged,
|
||||
hintText: "Энергетическая ценность на 100",
|
||||
keyboardType: TextInputType.number,
|
||||
controller: state.caloriesController,
|
||||
),
|
||||
SizedBox(height: 10.v),
|
||||
CustomTextFormField(
|
||||
hintText: "Белки на 100г",
|
||||
onChanged: onProteinsChanged,
|
||||
keyboardType: TextInputType.number,
|
||||
controller: state.proteinsController,
|
||||
),
|
||||
SizedBox(height: 10.v),
|
||||
CustomTextFormField(
|
||||
hintText: "Жиры на 100г",
|
||||
onChanged: onFatsChanged,
|
||||
keyboardType: TextInputType.number,
|
||||
controller: state.fatsController,
|
||||
),
|
||||
SizedBox(height: 10.v),
|
||||
CustomTextFormField(
|
||||
hintText: "Углеводы на 100г",
|
||||
onChanged: onCarbohydratesChanged,
|
||||
keyboardType: TextInputType.number,
|
||||
controller: state.carbsController,
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -522,11 +496,11 @@ class DiaryEditScreen extends StatelessWidget {
|
||||
TextButton(
|
||||
onPressed: triggerModeration(
|
||||
context,
|
||||
name,
|
||||
energyOn100gr,
|
||||
proteinsOn100gr,
|
||||
fatsOn100gr,
|
||||
carbohydratesOn100gr,
|
||||
state.productNameController!.text,
|
||||
state.caloriesController!.text,
|
||||
state.proteinsController!.text,
|
||||
state.fatsController!.text,
|
||||
state.carbsController!.text,
|
||||
dialogContext),
|
||||
child: Text('Отправить'),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user