def post(self, request, *args, **kwargs): msg = '' form = CheckAddNewSubPlanForm(data=request.POST or None) pname = request.POST['pname'] pname = pname.strip() pdesc = request.POST['pdesc'] pdesc = pdesc.strip() price = request.POST['price'] valid_for = request.POST['valid_for'] pname_ar = request.POST['pname_ar'] pname_ar = pname_ar.strip() pdesc_ar = request.POST['pdesc_ar'] pdesc_ar = pdesc_ar.strip() if not pname_ar or pname_ar == "": tdata = [] tdata.append(pname) tres = translate_text_ar(tdata) pname_ar = tres[0].text if not pdesc_ar or pdesc_ar == "": tdata = [] tdata.append(pdesc) tres = translate_text_ar(tdata) pdesc_ar = tres[0].text # pwrapper=request.POST.getlist('p') # for p in pwrapper: # pass if form.is_valid(): sp = SubscriptionPlan( plan_name=pname, plan_name_ar=pname_ar, plan_desc=pdesc, plan_desc_ar=pdesc_ar, price=price, valid_for=valid_for, ) sp.save() msg = 'Plan saved successfully' return render( request, 'subscription_plan_management/add_new_subscription.html', { 'form': form, 'msg': msg }) context = {} context['pname'] = pname context['pname_ar'] = pname_ar context['pdesc'] = pdesc context['pdesc_ar'] = pdesc_ar context['price'] = price context['valid_for'] = valid_for return render( request, 'subscription_plan_management/add_new_subscription.html', { 'context': context, 'form': form })
def get_user(self,instance): tdata=[] tdata.append(instance.user.first_name) tres=translate_text_ar(tdata) if instance.user.last_name: tdata.append(instance.user.last_name) tres=translate_text_ar(tdata) return tres[0].text+' '+tres[1].text return tres[0].text
def post(self, request, *args, **kwargs): id = self.kwargs['pk'] msg = '' form = CheckAddNewSubPlanForm(data=request.POST or None) pname = request.POST['pname'] pname = pname.strip() pdesc = request.POST['pdesc'] pdesc = pdesc.strip() pname_ar = request.POST['pname_ar'] pname_ar = pname_ar.strip() pdesc_ar = request.POST['pdesc_ar'] pdesc_ar = pdesc_ar.strip() price = request.POST['price'] valid_for = request.POST['valid_for'] if not pname_ar or pname_ar == "": tdata = [] tdata.append(pname) tres = translate_text_ar(tdata) pname_ar = tres[0].text if not pdesc_ar or pdesc_ar == "": tdata = [] tdata.append(pdesc) tres = translate_text_ar(tdata) pdesc_ar = tres[0].text if form.is_valid(): sp = SubscriptionPlan.objects.filter(id=id).first() sp.plan_name = pname sp.plan_name_ar = pname_ar sp.plan_desc = pdesc sp.plan_desc_ar = pdesc_ar sp.price = price sp.valid_for = valid_for sp.save() msg = 'Plan saved successfully' return render( request, 'subscription_plan_management/subscription_plan_edit.html', { 'context': sp, 'form': form, 'msg': msg }) context = {} context['plan_name'] = pname context['plan_desc'] = pdesc context['plan_name_ar'] = pname_ar context['plan_desc_ar'] = pdesc_ar context['price'] = price context['valid_for'] = valid_for return render( request, 'subscription_plan_management/subscription_plan_edit.html', { 'context': context, 'form': form })
def create(self, validated_data): name = validated_data['name'] email = validated_data['email'] complaint = validated_data['complaint'] user = self.context['user'].ruser tdata = [] tdata.append(name) tdata.append(email) tdata.append(complaint) tres = translate_text_ar(tdata) cc = CustomerComplaint( name=name, email=email, complaint=complaint, user=user, ar_name=name, ar_email=email, # ar_name=tres[0].text, # ar_email=tres[1].text, ar_complaint=tres[2].text, ) cc.save() if user.language_pref == '2': validated_data['complaint'] = cc.ar_complaint else: validated_data['complaint'] = cc.complaint return validated_data
def clean(self): pname = self.data['pname'] pdesc = self.data['pdesc'] price = self.data['price'] valid_for = self.data['valid_for'] pname_ar = self.data['pname_ar'] pdesc_ar = self.data['pdesc_ar'] if not pname_ar or pname_ar == "": tdata = [] tdata.append(pname) tres = translate_text_ar(tdata) pname_ar = tres[0].text if not pdesc_ar or pdesc_ar == "": tdata = [] tdata.append(pdesc) tres = translate_text_ar(tdata) pdesc_ar = tres[0].text if not pname or pname == "": raise forms.ValidationError('Please provide plan name') if not pdesc or pdesc == "": raise forms.ValidationError('Please provide plan description') if not price or price == "": raise forms.ValidationError('Please provide price') if not pname_ar or pname_ar == "": raise forms.ValidationError('Please provide plan name in Arabic') if not pdesc_ar or pdesc_ar == "": raise forms.ValidationError( 'Please provide plan description in Arabic') price = price.split('.') if len(price) > 2: raise forms.ValidationError('Please provide a valid price') pr = '' for i in price: pr = pr + i if not pr.isdigit(): raise forms.ValidationError('Please provide a valid price') if len(pr) > 10: raise forms.ValidationError( 'Price is too high. Total 10 digits are possible including decimal.' ) if len(price) == 2: if len(price[1]) > 2: raise forms.ValidationError('Please provide a valid price')
def post(self, request, *args, **kwargs): id = self.kwargs['id'] cat = ServiceType.objects.filter(id=id).first() form = EditCategoryForm(data=request.POST or None, ) x = 0 if form.is_valid(): type = request.POST['catname'] type = type.strip() type_ar = request.POST['catname_ar'] print(type_ar) type_ar = type_ar.strip() if not type_ar or type_ar == "": tdata = [] tdata.append(type) tres = translate_text_ar(tdata) type_ar = tres[0].text icon = request.FILES.get('caticon') # print(icon.name) # print(icon.size) # print(icon.content_type) # print(icon.name.split('.')[-1]) if icon: if icon.size > 1024000: x = 1 if icon.name.split('.')[-1].lower() not in ('png', 'jpg', 'jpeg'): x = 1 if x == 1: return render(request, 'category_management/edit_category.html', { 'form': form, 'x': x }) if icon: cat.type = type cat.type_ar = type_ar cat.icon = icon cat.save() else: cat.type = type cat.type_ar = type_ar cat.save() x = 2 return render(request, 'category_management/edit_category.html', { 'form': form, 'x': x, 'cat': cat }) return render(request, 'category_management/edit_category.html', { 'form': form, 'cat': cat })
def post(self, request, *args, **kwargs): form = CreateCategoryForm(data=request.POST or None, ) x = 0 if form.is_valid(): type = request.POST['catname'] type = type.strip() type_ar = request.POST['catname_ar'] type_ar = type_ar.strip() if not type_ar or type_ar == "": tdata = [] tdata.append(type) tres = translate_text_ar(tdata) type_ar = tres[0].text icon = request.FILES.get('caticon') # print(icon.name) # print(icon.size) # print(icon.content_type) # print(icon.name.split('.')[-1]) if icon: if icon.size > 1024000: x = 1 if icon.name.split('.')[-1].lower() not in ('png', 'jpg', 'jpeg'): x = 1 if x == 1: return render(request, 'category_management/add_category.html', { 'form': form, 'x': x }) if icon: st = ServiceType( type=type, type_ar=type_ar, icon=icon, ) st.save() else: st = ServiceType( type=type, type_ar=type_ar, ) st.save() x = 2 return render(request, 'category_management/add_category.html', { 'form': form, 'x': x }) return render(request, 'category_management/add_category.html', {'form': form})
def clean(self): type = self.data['catname'] type_ar = self.data['catname_ar'] is_edit = self.data['myhiddenfield'] if not type or type == "": raise forms.ValidationError('Please provide model name') if not type_ar or type_ar == "": tdata = [] tdata.append(type) tres = translate_text_ar(tdata) type_ar = tres[0].text st = VehicleModle.objects.filter(id=is_edit).first() if not st: raise forms.ValidationError('This model id does not exists')
def create(self, validated_data): garage_id=self.context['id'] rating=validated_data['rating'] review=validated_data['review'] ruser=self.context['request'].user.ruser garage=Garage.objects.filter(id=garage_id).first() if '.' in rating: rating=rating.split('.')[0] tdata=[] tdata.append(review) tres=translate_text_ar(tdata) review=UserReview( garage=garage, user=ruser, rating=int(rating), review=review, ar_review=review, # ar_review=tres[0].text, ) review.save() a=UserReview.objects.filter(garage=garage).aggregate(Sum('rating')) b=UserReview.objects.filter(garage=garage).count() garage.garage_rating=a['rating__sum']/b garage.save() cm=CategoryManager.objects.filter(garage=garage).values('category') st=ServiceType.objects.filter(id__in=cm) scm=SubCategoryManager.objects.filter(garage=garage).values('subcategory') sst=ServiceSubType.objects.filter(id__in=scm) for s in st: s.category_rating=(s.category_rating+1)/2 s.save() # for ss in sst: # ss.subcategory_rating=(ss.subcategory_rating+1)/2 # ss.save() if ruser.language_pref=='2': validated_data['review']=review.ar_review else: validated_data['review']=review.review validated_data['rating']=review.rating return validated_data
def clean(self): type = self.data['catname'] type_ar = self.data['catname_ar'] if not type or type == "": raise forms.ValidationError('Please provide model name') if not type_ar or type_ar == "": tdata = [] tdata.append(type) tres = translate_text_ar(tdata) type_ar = tres[0].text st_obj = VehicleModle.objects.filter(model_name=type).first() if st_obj: raise forms.ValidationError('This model already exists') st_obj_ar = VehicleModle.objects.filter(model_name_ar=type_ar).first() if st_obj_ar: raise forms.ValidationError('This model already exists in arabic')
def post(self, request, *args, **kwargs): arr = request.POST.getlist('arr[]') tres = translate_text_ar(arr) data = {} count = 0 for t in tres: data[count] = t.text count += 1 # data = json.dumps(tres) return Response( { 'message': 'Data translated successfully', 'success': 'True', 'data': data, }, status=200, )
def clean(self): type = self.data['catname'] type_ar = self.data['catname_ar'] if not type or type == "": raise forms.ValidationError('Please provide category name') if not type_ar or type_ar == "": tdata = [] tdata.append(type) tres = translate_text_ar(tdata) type_ar = tres[0].text st_obj = ServiceType.objects.filter(type=type).first() if st_obj: raise forms.ValidationError('This category already exists') st_obj_ar = ServiceType.objects.filter(type=type_ar).first() if st_obj_ar: raise forms.ValidationError('This arabic category already exists')
def create(self, validated_data): country = validated_data['country'] city = validated_data['city'] user = self.context['request'].user ruser = RegisteredUser.objects.filter(user=user).first() ruser.country = country ruser.city = city ruser.save() #---------------Arabic Save()---------------------------- tdata = [] tdata.append(country) tdata.append(city) tres = translate_text_ar(tdata) ruser.ar_country = tdata[0].text ruser.ar_city = tdata[1].text ruser.save() #-------------------------------------------------------- return validated_data
def clean(self): type = self.data['sty'] subtype = self.data['catname'] # type_ar=self.data['sty_ar'] subtype_ar = self.data['catname_ar'] if not subtype or subtype == "": raise forms.ValidationError('Please provide subcategory name') if not subtype_ar or subtype_ar == "": tdata = [] tdata.append(subtype) tres = translate_text_ar(tdata) subtype_ar = tres[0].text if not type or type == "": raise forms.ValidationError('Please select category') if type: st_obj = ServiceType.objects.filter(type=type).first() sst_obj = ServiceSubType.objects.filter(type=st_obj, subtype=subtype).first() if sst_obj: raise forms.ValidationError( 'This subcategory under this category already exists')
def post(self, request, *args, **kwargs): id = self.kwargs['pk'] comp = CustomerComplaint.objects.filter(id=id).first() ruser = comp.user status = request.POST['sty'] comp_email = request.POST['comp_email'] user_email = request.POST['user_email'] reply_message = request.POST['reply_message'] reply_message_ar = request.POST['reply_message_ar'] if not reply_message_ar or reply_message_ar == "": tdata = [] tdata.append(reply_message) tres = translate_text_ar(tdata) reply_message_ar = tres[0].text comp.admin_message = reply_message comp.admin_message_ar = reply_message_ar comp.status = status comp.save() ''' Send confirmation email ''' uemail = comp_email current_site = get_current_site(request) if ruser.language_pref == '1' or reply_message_ar == "": subject = "Garage - Complaint status update" message = render_to_string( 'complaint_email.html', { # 'user': ruser.user, 'domain': current_site.domain, 'not_desc': "Your Garage complaint status has been updated by admin to " + status, 'reply_message': reply_message, }) if ruser.language_pref == '2': tdata = [] tdata.append(status) tres = translate_text_ar(tdata) status_ar = tres[0].text subject = "Garage" message = render_to_string( 'complaint_email.html', { # 'user': ruser.user, 'domain': current_site.domain, 'not_desc': "تم تحديث حالة شكوى Garage بواسطة المشرف إلى " + status_ar, 'reply_message': reply_message_ar, }) plain_message = strip_tags(message) email = EmailMultiAlternatives(subject, plain_message, 'Garage <webmaster@localhost>', to=[uemail]) email.attach_alternative(message, "text/html") email.send() # save notification print(user_email) print(comp_email) ruser = RegisteredUser.objects.filter(email=user_email).first() if ruser: n = Notification( title="Garage complaint status change", description= "Your garage complaint status has been changed by admin. An email has been sent to the email id from which the complaint was generated.", title_ar="تغيير حالة شكوى Garage", description_ar= "تم تغيير حالة شكوى Garage بواسطة المشرف. تم إرسال بريد إلكتروني إلى معرف البريد الإلكتروني الذي تم إنشاء الشكوى منه." ) n.save() un = UserNotification( notification=n, user=ruser, ) un.save() messages = [] messages.append( 'Status updated succesfully. An email has been sent to the complaint email id.' ) return render(request, 'complaint_management/edit_complaint.html', { 'comp': comp, 'messages': messages })
def post(self, request, *args, **kwargs): logger.debug('Find location post called') logger.debug(request.data) serializer = FindLocationSerializer(data=request.data) if serializer.is_valid(raise_exception=True): data = serializer.data geolocator = Nominatim(user_agent="_user_panel.uaccounts") # location=geolocator.reverse("52.509669, 13.376294") location = geolocator.reverse(data['lat'] + ', ' + data['lon'], language='en') if 'address' in location.raw: address = location.raw['address'] #Translate address to English # translator= Translator(to_lang="English") # translation = translator.translate(address['city']) # print(translation) country = '' state = '' city = '' street = '' postcode = '' for k in address: if k == 'country': country = address[k] elif k == 'state' or k == 'state_district': state = address[k] elif k == 'city' or k == 'city_district': city = address[k] elif k == 'postcode': address[k] = re.findall('\d+', address[k])[0] postcode = address[k] else: street = street + ' ' + address[k] + ',' if not city or city == '': if data['city']: city = data['city'] #-------------Arabic Save()----------------------------------------- tdata = [] tdata.append(postcode) tdata.append(street) tdata.append(state) tdata.append(city) tdata.append(country) tres = translate_text_ar(tdata) RegisteredUser.objects.filter(user=request.user).update( zipcode=postcode, street=street, city=city, area=state, country=country, lat=data['lat'], lon=data['lon'], ar_zipcode=tres[0].text, ar_street=tres[1].text, ar_area=tres[2].text, ar_city=tres[3].text, ar_country=tres[4].text, ) return Response( { 'message': 'location found successfully', 'success': 'True', # 'data':data, 'address': address, }, status=HTTP_200_OK, ) else: return Response( { 'message': 'location not found', 'success': 'False', }, status=HTTP_400_BAD_REQUEST, )
def post(self, request, *args, **kwargs): id = self.kwargs['id'] scat = ServiceSubType.objects.filter(id=id).first() form = EditSubCategoryForm(data=request.POST or None) st = ServiceType.objects.all() x = 0 if form.is_valid(): subtype = request.POST['catname'] subtype = subtype.strip() subtype_ar = request.POST['catname_ar'] subtype_ar = subtype_ar.strip() if not subtype_ar or subtype_ar == "": tdata = [] tdata.append(subtype) tres = translate_text_ar(tdata) subtype_ar = tres[0].text icon = request.FILES.get('caticon') # print(icon.name) # print(icon.size) # print(icon.content_type) # print(icon.name.split('.')[-1]) if icon: if icon.size > 1024000: x = 1 if icon.name.split('.')[-1].lower() not in ('png', 'jpg', 'jpeg'): x = 1 if x == 1: return render(request, 'category_management/edit_subcategory.html', { 'st': st, 'form': form, 'x': x }) type = request.POST['sty'] if type: type = ServiceType.objects.filter(type__iexact=type).first() if icon: scat.subtype = subtype scat.subtype_ar = subtype_ar scat.icon = icon scat.type = type scat.save() else: scat.subtype = subtype scat.subtype_ar = subtype_ar scat.type = type scat.save() x = 2 return render(request, 'category_management/edit_subcategory.html', { 'st': st, 'form': form, 'x': x, 'scat': scat }) return render(request, 'category_management/edit_subcategory.html', { 'st': st, 'scat': scat })
def create(self, validated_data): user = self.context['request'].user ruser = RegisteredUser.objects.filter(user=user).first() pimage = self.context['request'].FILES.get('profile_image') first_name = validated_data['name'].split(' ')[0] last_name = ' '.join(validated_data['name'].split(' ')[1:]) country_code = validated_data['country_code'] mobile = validated_data['mobile'] email = validated_data['email'] user.username = email.split('@')[0] + mobile user.first_name = first_name user.last_name = last_name user.email = email user.save() ruser.first_name = first_name ruser.last_name = last_name if pimage: ruser.profile_image = pimage ruser.country_code = country_code ruser.mobile = mobile ruser.email = email ruser.save() #---------------------Arabic save()------------------------------- tdata = [] tdata.append(first_name) tdata.append(last_name) tdata.append(country_code) tdata.append(mobile) tres = translate_text_ar(tdata) user.ar_first_name = first_name user.ar_last_name = last_name # user.ar_first_name=tres[0].text # user.ar_last_name=tres[1].text user.save() ruser.ar_country_code = country_code ruser.ar_mobile = mobile # ruser.ar_country_code=tdata[2] # ruser.ar_mobile=tdata[3] ruser.save() #----------------------------------------------------------------- validated_data['profile_image'] = ruser.profile_image if ruser.language_pref == '2': validated_data[ 'name'] = ruser.ar_first_name + ' ' + ruser.ar_last_name validated_data['country_code'] = ruser.country_code validated_data['mobile'] = ruser.mobile else: validated_data['name'] = ruser.first_name + ' ' + ruser.last_name validated_data['country_code'] = ruser.country_code validated_data['mobile'] = ruser.mobile validated_data['email'] = user.email if ruser.is_mobile_verified: validated_data['is_mobile_verified'] = "True" else: validated_data['is_mobile_verified'] = "False" if ruser.is_email_verified: validated_data['is_email_verified'] = "True" else: validated_data['is_email_verified'] = "False" return validated_data
def create(self, validated_data): social_id = '' name = validated_data['name'] email = validated_data['email'] password = validated_data['password'] user_type = validated_data['user_type'] login_type = validated_data['login_type'] mobile = validated_data['mobile'] # garage_name = validated_data['garage_name'] # is_active=True # if user_type=='2': # is_active=False # is_approved=True # if user_type=='2': is_approved = False first_name = name.split(' ')[0] last_name = ' '.join(name.split(' ')[1:]) user_obj = User( username=email.split('@')[0] + mobile, email=email, first_name=first_name, last_name=last_name, # is_active=is_active, ) user_obj.set_password(password) user_obj.save() country_code = validated_data['country_code'] mobile = validated_data['mobile'] device_type = validated_data['device_type'] device_token = validated_data['device_token'] # if login_type in ('2','3'): # if social_id: # country_code='+971' # mobile=social_id login_type = validated_data['login_type'] if login_type in ('2', '3'): social_id = validated_data['social_id'] if social_id: ruser_obj = RegisteredUser( first_name=first_name, last_name=last_name, country_code=country_code, mobile=mobile, email=email, login_type=login_type, social_id=social_id, device_type=device_type, device_token=device_token, user_type=user_type, user=user_obj, is_email_verified=True, is_mobile_verified=True, is_approved=is_approved, ) else: ruser_obj = RegisteredUser( first_name=first_name, last_name=last_name, country_code=country_code, mobile=mobile, email=email, login_type=login_type, social_id=social_id, device_type=device_type, device_token=device_token, user_type=user_type, user=user_obj, is_approved=is_approved, ) ruser_obj.save() #-----------Arabic Save()---------------------------- tdata = [] tdata.append(first_name) tdata.append(last_name) # tdata.append(about) tdata.append(mobile) tdata.append(country_code) # tdata.append(zipcode) # tdata.append(street) # tdata.append(area) # tdata.append(city) # tdata.append(country) tres = translate_text_ar(tdata) ruser_obj.ar_first_name = first_name ruser_obj.ar_last_name = last_name ruser_obj.ar_mobile = mobile ruser_obj.ar_country_code = country_code # ruser_obj.ar_first_name=tres[0].text # ruser_obj.ar_last_name=tres[1].text # ruser_obj.ar_about=tres[2].text # ruser_obj.ar_mobile=tres[2].text # ruser_obj.ar_country_code=tres[3].text # ruser_obj.ar_zipcode=tres[5].text # ruser_obj.ar_street=tres[6].text # ruser_obj.ar_area=tres[7].text # ruser_obj.ar_city=tres[8].text # ruser_obj.ar_country=tres[9].text ruser_obj.save() #------------------------------------------------------------ # if user_type=='2' and login_type=='1': # garage_obj=Garage( # name=garage_name, # user=ruser_obj, # ) # garage_obj.save() validated_data['token'] = '' if login_type in ('2', '3') and user_type == '1': payload = jwt_payload_handler(user_obj) token = jwt_encode_handler(payload) token = 'JWT ' + token validated_data['token'] = token g_obj = Garage.objects.filter(user=ruser_obj).first() if g_obj: validated_data['is_garage_created'] = 'True' else: validated_data['is_garage_created'] = 'False' t_is_approved = 'True' if ruser_obj.is_approved else 'False' validated_data['is_approved'] = t_is_approved if ruser_obj.is_mobile_verified: validated_data['is_mobile_verified'] = 'True' else: validated_data['is_mobile_verified'] = 'False' if ruser_obj.is_email_verified: validated_data['is_email_verified'] = 'True' else: validated_data['is_email_verified'] = 'False' validated_data['u_id'] = ruser_obj.id validated_data['created'] = ruser_obj.created_on return validated_data
def create(self, validated_data, *args, **kwargs): request = self.context['request'] # garage=self.context['garage'] ruser = self.context['ruser'] garage = validated_data['garage'] image1 = request.FILES.get('image1') image2 = request.FILES.get('image2') image3 = request.FILES.get('image3') image4 = request.FILES.get('image4') video1 = request.FILES.get('video1') video1_thumbnail = request.FILES.get('video1_thumbnail') video2 = request.FILES.get('video2') video2_thumbnail = request.FILES.get('video2_thumbnail') title = validated_data['title'] description = validated_data['description'] coupon = validated_data['coupon'] advertisment_license_number = validated_data[ 'advertisment_license_number'] start_date = validated_data['start_date'] end_date = validated_data['end_date'] garage_obj = Garage.objects.filter((Q(user=ruser) & Q(name=garage)) | (Q(user=ruser) & Q(ar_name=garage))).first() usub = UserSubscription.objects.filter(ruser=ruser).first() #88888888888888888888888888888888888888888888888888888888888888888888888 if usub: expires_on = usub.created_on + relativedelta( months=usub.plan.valid_for) days1 = expires_on.date() - usub.created_on.date() # days=usub.plan.valid_for*30 delta = datetime.now().date() - usub.created_on.date() if delta.days > days1.days: raise APIException400({ 'message': 'Sorry..!! Your subscription plan expired. To create new offers you must subscrib to a plan.', 'success': 'False', }) # usub.plan.valid_for # pil_image2 = VideoStream(video2).get_frame_at_sec(5).image() #----------------Arabic Conversion-------------------------------- tdata = [] tdata.append(title) tdata.append(description) tdata.append(advertisment_license_number) tres = translate_text_ar(tdata) offer = Offer( garage=garage_obj, image1=image1, image2=image2, image3=image3, image4=image4, video1=video1, video1_thumbnail=video1_thumbnail, video2=video2, video2_thumbnail=video2_thumbnail, title=title, description=description, coupon=coupon, advertisment_license_number=advertisment_license_number, start_date=start_date, end_date=end_date, ar_title=tres[0].text, ar_description=tres[1].text, ar_advertisment_license_number=tres[2].text, ) offer.save() #TRIED VIDEO THUMBNAIL # ff1='' # ff2='' # if offer.video1: # ff1 = FFmpeg(inputs={offer.video1.url: None}, outputs={"output1.png": ['-ss', '00:00:4', '-vframes', '1']}) # # pil_image1 = VideoStream(video1).get_frame_at_sec(5).image() # if offer.video2: # ff2 = FFmpeg(inputs={offer.video2.url: None}, outputs={"output2.png": ['-ss', '00:00:4', '-vframes', '1']}) # # offer.video1_thumbnail=ff1 # offer.video2_thumbnail=ff2 # offer.save() validated_data['garage'] = garage validated_data['image1'] = offer.image1 validated_data['image2'] = offer.image2 validated_data['image3'] = offer.image3 validated_data['image4'] = offer.image4 validated_data['video1'] = offer.video1 validated_data['video1_thumbnail'] = offer.video1_thumbnail validated_data['video2'] = offer.video2 validated_data['video2_thumbnail'] = offer.video2_thumbnail return validated_data
def create(self, validated_data, *args, **kwargs): request = self.context['request'] offer = self.context['offer'] image1 = request.FILES.get('image1') image2 = request.FILES.get('image2') image3 = request.FILES.get('image3') image4 = request.FILES.get('image4') video1 = request.FILES.get('video1') video1_thumbnail = request.FILES.get('video1_thumbnail') video2 = request.FILES.get('video2') video2_thumbnail = request.FILES.get('video2_thumbnail') title = validated_data['title'] description = validated_data['description'] coupon = validated_data['coupon'] advertisment_license_number = validated_data[ 'advertisment_license_number'] start_date = validated_data['start_date'] end_date = validated_data['end_date'] #------------------Arabic Conversion------------------------------- tdata = [] tdata.append(title) tdata.append(description) tdata.append(advertisment_license_number) tres = translate_text_ar(tdata) #------------------------------------------------ if image1: offer.image1 = image1 if image2: offer.image2 = image2 if image3: offer.image3 = image3 if image4: offer.image4 = image4 if video1: offer.video1 = video1 if video2: offer.video2 = video2 if video1_thumbnail: offer.video1_thumbnail = video1_thumbnail if video2_thumbnail: offer.video2_thumbnail = video2_thumbnail offer.title = title offer.description = description offer.coupon = coupon offer.advertisment_license_number = advertisment_license_number offer.start_date = start_date offer.end_date = end_date offer.ar_title = tres[0].text offer.ar_description = tres[1].text offer.ar_advertisment_license_number = tres[2].text offer.save() validated_data['garage'] = offer.garage validated_data['image1'] = offer.image1 validated_data['image2'] = offer.image2 validated_data['image3'] = offer.image3 validated_data['image4'] = offer.image4 validated_data['video1'] = offer.video1 validated_data['video1_thumbnail'] = offer.video1_thumbnail validated_data['video2'] = offer.video2 validated_data['video2_thumbnail'] = offer.video2_thumbnail return validated_data
def post(self, request, *args, **kwargs): models = VehicleModle.objects.all() is_edit = request.POST['myhiddenfield'] if not int(is_edit): form = CreateCarModelForm(data=request.POST or None, ) x = 0 if form.is_valid(): type = request.POST['catname'] type = type.strip() type_ar = request.POST['catname_ar'] type_ar = type_ar.strip() if not type_ar or type_ar == "": tdata = [] tdata.append(type) tres = translate_text_ar(tdata) type_ar = tres[0].text icon = request.FILES.get('caticon') # print(icon.name) # print(icon.size) # print(icon.content_type) # print(icon.name.split('.')[-1]) if icon: if icon.size > 1024000: x = 1 if icon.name.split('.')[-1].lower() not in ('png', 'jpg', 'jpeg'): x = 1 if x == 1: return render(request, 'category_management/add_car_model.html', { 'models': models, 'form': form, 'x': x, 'hidden_value': 0 }) if icon: st = VehicleModle( model_name=type, model_name_ar=type_ar, icon=icon, ) st.save() else: st = VehicleModle( model_name=type, model_name_ar=type_ar, ) st.save() x = 2 return render(request, 'category_management/add_car_model.html', { 'models': models, 'form': form, 'x': x, 'hidden_value': 0 }) return render(request, 'category_management/add_car_model.html', { 'models': models, 'form': form, 'hidden_value': 0 }) else: form = EditCarModelForm(data=request.POST or None, ) x = 0 if form.is_valid(): type = request.POST['catname'] type = type.strip() type_ar = request.POST['catname_ar'] type_ar = type_ar.strip() if not type_ar or type_ar == "": tdata = [] tdata.append(type) tres = translate_text_ar(tdata) type_ar = tres[0].text icon = request.FILES.get('caticon') # print(icon.name) # print(icon.size) # print(icon.content_type) # print(icon.name.split('.')[-1]) if icon: if icon.size > 1024000: x = 1 if icon.name.split('.')[-1].lower() not in ('png', 'jpg', 'jpeg'): x = 1 if x == 1: return render( request, 'category_management/add_car_model.html', { 'models': models, 'form': form, 'x': x, 'hidden_value': is_edit }) st = VehicleModle.objects.filter(id=is_edit).first() print(type) print(type_ar) if icon: st.model_name = type st.model_name_ar = type_ar st.icon = icon st.save() else: st.model_name = type st.model_name_ar = type_ar st.save() x = 9 return render(request, 'category_management/add_car_model.html', { 'models': models, 'form': form, 'x': x, 'hidden_value': 0 }) return render(request, 'category_management/add_car_model.html', { 'models': models, 'form': form, 'hidden_value': is_edit })