merge conflict resolved.

main_design2.0
Sikander Saleem 2 years ago
parent 47b863c479
commit 1ee58eeed9

@ -1,46 +1,46 @@
{
"login" : "تسجيل الدخول",
"enterCredsToLogin" : "أدخل بياناتك الخاصة لتسجيل الدخول",
"forgotPassword" : "نسيت كلمة السر؟",
"login": "تسجيل الدخول",
"enterCredsToLogin": "أدخل بياناتك الخاصة لتسجيل الدخول",
"forgotPassword": "نسيت كلمة السر؟",
"password": "كلمة السر",
"username" : "اسم المستخدم",
"requiredField" : "الحقل مطلوب",
"passwordLengthMessage" : "يجب أن تتكون كلمة السر من 6 خانات على الأقل",
"overview" : "نظرة عامة",
"myRequests" : "طلباتي",
"myAssets" : "أجهزتي",
"username": "اسم المستخدم",
"requiredField": "الحقل مطلوب",
"passwordLengthMessage": "يجب أن تتكون كلمة السر من 6 خانات على الأقل",
"overview": "نظرة عامة",
"myRequests": "طلباتي",
"myAssets": "أجهزتي",
"contactUs": "اتصل بنا",
"welcome" : "مرحبا،",
"openWhatsapp" : "الإنتقال الى الواتس اب",
"callUs" : "إتصل بنا",
"liveChat" : "محادثة حية",
"gasRefillRequest" : "طلب إعادة تعبئة غاز",
"transferRequest" : "طلب نقل",
"serviceRequest" : "طلب خدمة",
"newServiceRequest" : "طلب خدمة جديدة",
"newGasRefillRequest" : "طلب إعادة تعبئة غاز جديد",
"newTransferRequest" : "طلب نقل جديد",
"submitRequest" : "تأكيد الطلب",
"select" : "إختر",
"gasType" : "نوع الغاز",
"quantity" : "الكمية",
"cylinderType" : "نوع الأسطوانة",
"cylinderSize" : "حجم الأسطوانة",
"department" : "القسم",
"httpError" : "خطأ فشل الطلب",
"tryAgain" : "أعد المحاولة",
"destinationSite" : "موقع الوجهة",
"welcome": "مرحبا،",
"openWhatsapp": "الإنتقال الى الواتس اب",
"callUs": "إتصل بنا",
"liveChat": "محادثة حية",
"gasRefillRequest": "طلب إعادة تعبئة غاز",
"transferRequest": "طلب نقل",
"serviceRequest": "طلب خدمة",
"newServiceRequest": "طلب خدمة جديدة",
"newGasRefillRequest": "طلب إعادة تعبئة غاز جديد",
"newTransferRequest": "طلب نقل جديد",
"submitRequest": "تأكيد الطلب",
"select": "إختر",
"gasType": "نوع الغاز",
"quantity": "الكمية",
"cylinderType": "نوع الأسطوانة",
"cylinderSize": "حجم الأسطوانة",
"department": "القسم",
"httpError": "خطأ فشل الطلب",
"tryAgain": "أعد المحاولة",
"destinationSite": "موقع الوجهة",
"add": "أضف",
"site" : "الموقع",
"site": "الموقع",
"onlyNumbers": "يسمح بإدخال الأرقام فقط",
"youHaveToSelect" : "يجب عليك إختيار",
"building" : "المبنى",
"floor" : "الطابق",
"youHaveToAddRequests" : "يجب إضافة طلبات",
"createdSuccessfully" : "إكتمل الطلب بنجاح",
"failedToCompleteRequest" : "فشل إتمام الطلب",
"assetNo" : "رقم الجهاز",
"manufacture" : "صناعة",
"model" : "الطراز",
"serialNumber" : "الرقم التسلسلي"
"youHaveToSelect": "يجب عليك إختيار",
"building": "المبنى",
"floor": "الطابق",
"youHaveToAddRequests": "يجب إضافة طلبات",
"createdSuccessfully": "إكتمل الطلب بنجاح",
"failedToCompleteRequest": "فشل إتمام الطلب",
"assetNo": "رقم الجهاز",
"manufacture": "صناعة",
"model": "الطراز",
"serialNumber": "الرقم التسلسلي"
}

@ -206,44 +206,48 @@
"pickFromFiles" : "اختر من الملفات",
"requiredFile" : "الملف مطلوب",
"pickFile" : "اختر ملف",
"login" : "تسجيل الدخول",
"enterCredsToLogin" : "أدخل بياناتك الخاصة لتسجيل الدخول",
"forgotPassword" : "نسيت كلمة السر؟",
"password": "كلمة السر",
"username" : "اسم المستخدم",
"requiredField" : "الحقل مطلوب",
"passwordLengthMessage" : "يجب أن تتكون كلمة السر من 6 خانات على الأقل",
"overview" : "نظرة عامة",
"myRequests" : "طلباتي",
"myAssets" : "ممتلكاتي",
"contactUs": "اتصل بنا",
"welcome" : "مرحبا،",
"openWhatsapp" : "الإنتقال الى الواتس اب",
"callUs" : "إتصل بنا",
"liveChat" : "محادثة حية",
"gasRefillRequest" : "طلب إعادة تعبئة غاز",
"transferRequest" : "طلب نقل",
"serviceRequest" : "طلب خدمة",
"newServiceRequest" : "طلب خدمة جديدة",
"newGasRefillRequest" : "طلب إعادة تعبئة غاز جديد",
"newTransferRequest" : "طلب نقل جديد",
"submitRequest" : "تأكيد الطلب",
"select" : "إختر",
"gasType" : "نوع الغاز",
"quantity" : "الكمية",
"cylinderType" : "نوع الأسطوانة",
"cylinderSize" : "حجم الأسطوانة",
"department" : "القسم",
"httpError" : "خطأ فشل الطلب",
"tryAgain" : "أعد المحاولة",
"destinationSite" : "موقع الوجهة",
"add": "أضف",
"site" : "الموقع",
"onlyNumbers": "يسمح بإدخال الأرقام فقط",
"youHaveToSelect" : "يجب عليك إختيار",
"building" : "المبنى",
"floor" : "الطابق",
"youHaveToAddRequests" : "يجب إضافة طلبات",
"createdSuccessfully" : "إكتمل الطلب بنجاح",
"failedToCompleteRequest" : "فشل إتمام الطلب"
"login" : "تسجيل الدخول",
"enterCredsToLogin" : "أدخل بياناتك الخاصة لتسجيل الدخول",
"forgotPassword" : "نسيت كلمة السر؟",
"password": "كلمة السر",
"username" : "اسم المستخدم",
"requiredField" : "الحقل مطلوب",
"passwordLengthMessage" : "يجب أن تتكون كلمة السر من 6 خانات على الأقل",
"overview" : "نظرة عامة",
"myRequests" : "طلباتي",
"myAssets" : "ممتلكاتي",
"contactUs": "اتصل بنا",
"welcome" : "مرحبا،",
"openWhatsapp" : "الإنتقال الى الواتس اب",
"callUs" : "إتصل بنا",
"liveChat" : "محادثة حية",
"gasRefillRequest" : "طلب إعادة تعبئة غاز",
"transferRequest" : "طلب نقل",
"serviceRequest" : "طلب خدمة",
"newServiceRequest" : "طلب خدمة جديدة",
"newGasRefillRequest" : "طلب إعادة تعبئة غاز جديد",
"newTransferRequest" : "طلب نقل جديد",
"submitRequest" : "تأكيد الطلب",
"select" : "إختر",
"gasType" : "نوع الغاز",
"quantity" : "الكمية",
"cylinderType" : "نوع الأسطوانة",
"cylinderSize" : "حجم الأسطوانة",
"department" : "القسم",
"httpError" : "خطأ فشل الطلب",
"tryAgain" : "أعد المحاولة",
"destinationSite" : "موقع الوجهة",
"add": "أضف",
"site" : "الموقع",
"onlyNumbers": "يسمح بإدخال الأرقام فقط",
"youHaveToSelect" : "يجب عليك إختيار",
"building" : "المبنى",
"floor" : "الطابق",
"youHaveToAddRequests" : "يجب إضافة طلبات",
"createdSuccessfully" : "إكتمل الطلب بنجاح",
"failedToCompleteRequest" : "فشل إتمام الطلب",
"assetNo" : "رقم الجهاز",
"manufacture" : "صناعة",
"model" : "الطراز",
"serialNumber" : "الرقم التسلسلي"
}

@ -206,44 +206,48 @@
"pickFromFiles" : "Pick From Files",
"requiredFile" : "File Required",
"pickFile" : "Pick File",
"login" : "Login",
"enterCredsToLogin" : "Enter your credential to login",
"forgotPassword" : "Forgot Password?",
"password" : "Password",
"username" : "Username",
"requiredField" : "Required Field",
"passwordLengthMessage" : "Password must has at least 6 characters",
"overview" : "Overview",
"myRequests" : "My Request",
"myAssets" : "My Assets",
"contactUs": "Contact Us",
"welcome" : "Welcome,",
"openWhatsapp" : "Open WhatsApp",
"callUs" : "Call Us",
"liveChat" : "Live Chat",
"gasRefillRequest" : "Gas Refill Request",
"transferRequest" : "Transfer Request",
"serviceRequest" : "Service Request",
"newServiceRequest" : "New Service Request",
"newGasRefillRequest" : "New Gas Refill Request",
"newTransferRequest" : "New Transfer Request",
"submitRequest" : "Submit Request",
"select" : "Select",
"gasType": "Gas Type",
"quantity" : "Quantity",
"cylinderType" : "Cylinder Type",
"cylinderSize" : "Cylinder Size",
"department" : "Department",
"httpError" : "Error Request Failed",
"tryAgain" : "Try Again",
"destinationSite" : "Destination Site",
"add": "Add",
"site" : "Site",
"onlyNumbers": "Only Numbers Allowed",
"youHaveToSelect" : "You have to select",
"building" : "Building",
"floor" : "Floor",
"youHaveToAddRequests" : "You have to add requests",
"createdSuccessfully" : "Created successfully",
"failedToCompleteRequest" : "Failed to complete request"
"login" : "Login",
"enterCredsToLogin" : "Enter your credential to login",
"forgotPassword" : "Forgot Password?",
"password" : "Password",
"username" : "Username",
"requiredField" : "Required Field",
"passwordLengthMessage" : "Password must has at least 6 characters",
"overview" : "Overview",
"myRequests" : "My Request",
"myAssets" : "My Assets",
"contactUs": "Contact Us",
"welcome" : "Welcome,",
"openWhatsapp" : "Open WhatsApp",
"callUs" : "Call Us",
"liveChat" : "Live Chat",
"gasRefillRequest" : "Gas Refill Request",
"transferRequest" : "Transfer Request",
"serviceRequest" : "Service Request",
"newServiceRequest" : "New Service Request",
"newGasRefillRequest" : "New Gas Refill Request",
"newTransferRequest" : "New Transfer Request",
"submitRequest" : "Submit Request",
"select" : "Select",
"gasType": "Gas Type",
"quantity" : "Quantity",
"cylinderType" : "Cylinder Type",
"cylinderSize" : "Cylinder Size",
"department" : "Department",
"httpError" : "Error Request Failed",
"tryAgain" : "Try Again",
"destinationSite" : "Destination Site",
"add": "Add",
"site" : "Site",
"onlyNumbers": "Only Numbers Allowed",
"youHaveToSelect" : "You have to select",
"building" : "Building",
"floor" : "Floor",
"youHaveToAddRequests" : "You have to add requests",
"createdSuccessfully" : "Created successfully",
"failedToCompleteRequest" : "Failed to complete request",
"assetNo" : "Asset No.",
"manufacture" : "Manufacture",
"model" : "Model",
"serialNumber" : "Serial Number"
}

@ -1,11 +1,9 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/api/device_transfer_provider.dart';
import 'package:test_sa/controllers/localization/localization.dart';
import 'package:test_sa/controllers/providers/api/asset_transfer_provider.dart';
import 'package:test_sa/controllers/providers/api/user_provider.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/models/device/device_transfer.dart';
import 'package:test_sa/models/device/asset_transfer.dart';
import 'package:test_sa/views/app_style/colors.dart';
import 'package:test_sa/views/app_style/sizing.dart';

@ -127,7 +127,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
return Scaffold(
key: _scaffoldKey,
appBar: const DefaultAppBar(title: TranslationKeys.newServiceRequest),
appBar: DefaultAppBar(title: context.translation.newServiceRequest),
body: SafeArea(
child: LoadingManager(
isLoading: _isLoading,
@ -252,7 +252,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
ATextFormField(
controller: _reviewCommentController,
initialValue: _serviceRequest.reviewComment,
hintText: _subtitle.comment,
hintText: context.translation.comment,
style: Theme.of(context).textTheme.titleMedium,
textInputType: TextInputType.multiline,
onSaved: (value) {
@ -262,7 +262,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
),
12.height,
MultiFilesPicker(
label: _subtitle.deviceFiles,
label: context.translation.deviceFiles,
files: _deviceImages,
enabled: widget.serviceRequest == null ? true : false,
),
@ -275,11 +275,11 @@ class CreateRequestPageState extends State<CreateRequestPage> {
ATextFormField(
controller: _maintenanceController,
initialValue: _serviceRequest.callComments,
hintText: _subtitle.maintenanceIssue,
hintText: context.translation.maintenanceIssue,
prefixIconData: FontAwesomeIcons.triangleExclamation,
style: Theme.of(context).textTheme.titleLarge,
textInputType: TextInputType.multiline,
validator: (value) => widget.serviceRequest != null || Validator.hasValue(value) ? null : _subtitle.maintenanceIssueRequired,
validator: (value) => widget.serviceRequest != null || Validator.hasValue(value) ? null : context.translation.maintenanceIssueRequired,
onSaved: (value) {
_serviceRequest.callComments = value;
},
@ -302,7 +302,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
ATextFormField(
controller: _commentController,
initialValue: _serviceRequest.comments,
hintText: _subtitle.comment,
hintText: context.translation.comment,
style: Theme.of(context).textTheme.titleMedium,
textInputType: TextInputType.multiline,
onSaved: (value) {
@ -316,7 +316,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
onPressed: () async {
if (!_formKey.currentState.validate()) return;
if (_asset?.id == null) {
Fluttertoast.showToast(msg: _subtitle.pickDevice);
Fluttertoast.showToast(msg: context.translation.pickDevice);
return;
}
if (_serviceRequest.firstAction?.name == "Need a visit" && _dateTime == null) {
@ -361,17 +361,17 @@ class CreateRequestPageState extends State<CreateRequestPage> {
setState(() {});
if (status >= 200 && status < 300) {
Fluttertoast.showToast(
msg: _subtitle.requestCompleteSuccessfully,
msg: context.translation.successfulRequestMessage,
);
Navigator.of(context).pop();
} else {
String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle);
String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: context.translation);
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
content: Text(errorMessage),
));
}
},
label: TranslationKeys.submitRequest),
label: context.translation.submitRequest),
],
),
).paddingOnly(start: 16, end: 16, bottom: 24, top: 16),

@ -5,6 +5,7 @@ import 'package:test_sa/controllers/localization/localization.dart';
import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
import 'package:test_sa/controllers/providers/api/user_provider.dart';
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/string_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart';

@ -21,8 +21,8 @@ class PickAsset extends StatelessWidget {
children: [
AppTextFormField(
enable: false,
labelText: TranslationKeys.device,
initialValue: context.translate(TranslationKeys.site),
labelText: context.translation.device,
initialValue: context.translation.site,
suffixIcon: "qr".toSvgAsset(height: 24, fit: BoxFit.fitHeight).paddingOnly(end: 16),
).onPress(() async {
Device device = await Navigator.of(context).pushNamed(SingleDevicePicker.id) as Device;
@ -34,15 +34,15 @@ class PickAsset extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
context.translate(TranslationKeys.myAssets).heading5(context),
context.translation.myAssets.heading5(context),
8.height,
"${context.translate(TranslationKeys.assetNo)}: ${device.assetNumber}".bodyText(context),
"${context.translate(TranslationKeys.manufacture)}: ${device.modelDefinition?.manufacturerName}".bodyText(context),
"${context.translate(TranslationKeys.model)}: ${device.modelDefinition?.modelName}".bodyText(context),
"${context.translate(TranslationKeys.serialNumber)}: ${device.assetNumber}".bodyText(context),
"${context.translation.assetNo}: ${device.assetNumber}".bodyText(context),
"${context.translation.manufacture}: ${device.modelDefinition?.manufacturerName}".bodyText(context),
"${context.translation.model}: ${device.modelDefinition?.modelName}".bodyText(context),
"${context.translation.serialNumber}: ${device.assetNumber}".bodyText(context),
const Divider().defaultStyle(context),
"${context.translate(TranslationKeys.department)}: ${device.department?.departmentName}".bodyText(context),
"${context.translate(TranslationKeys.site)}: ${device.site?.custName}".bodyText(context),
"${context.translation.department}: ${device.department?.departmentName}".bodyText(context),
"${context.translation.site}: ${device.site?.custName}".bodyText(context),
],
).paddingAll(16),
),

Loading…
Cancel
Save