Example #1
0
    def __init__(self, *args, **kwargs):
        super(AddCard, self).__init__(*args, **kwargs)

        if "group" in self.data2.keys() and not self.data2['group'] == '':
            cat_tab_choices = Advert.get_cat_tab_choices(self.data2['group'])
            if "cat_tab" in self.data2.keys():
                cat_type_choices = Advert.get_cat_type_choices(
                    self.data2['group'], self.data2['cat_tab']
                )
            else:
                cat_type_choices = ()

        else:
            cat_tab_choices = ()
            cat_type_choices = ()

        self.fields['cat_tab'] = forms.ChoiceField(
            choices=cat_tab_choices,
            # widget=StyleDropdown(value='flat'),
            widget=MultiChoicesHidden((StyleDropdown, HiddenInput)),
        )
        self.fields['cat_type'] = forms.ChoiceField(
            choices=cat_type_choices,
            # widget=StyleDropdown, 
            widget=MultiChoicesHidden((StyleDropdown, HiddenInput)),
        )

        # for field_name, obj in self.fields.iteritems():
        #     self.fields[field_name].required = False

        self.fields['cat_tab'].required = True
        self.fields['cat_type'].required = True
        for field in ['balcony_deck','house','neighbors_in_the_apartment','parking_places','wall_material','year_built','flooring']:
            self.fields[field].required = False
Example #2
0
 def get(self,advert_id,errors=None):
     ad = Advert.get_by_id(int(advert_id))
     if ad.class_name() == "TextAdvert":
         self.response.out.write(template.render('templates/advert/view-text.html',{'ad':ad}))
     elif ad.class_name() == "ImgAdvert":
         self.response.out.write(template.render('templates/advert/view-img.html',{'ad':ad}))
     else:
         self.response.set_status(500)
Example #3
0
 def get(self, advert_id, errors=None):
     ad = Advert.get_by_id(int(advert_id))
     if ad.class_name() == "TextAdvert":
         self.response.out.write(
             template.render('templates/advert/view-text.html', {'ad': ad}))
     elif ad.class_name() == "ImgAdvert":
         self.response.out.write(
             template.render('templates/advert/view-img.html', {'ad': ad}))
     else:
         self.response.set_status(500)
Example #4
0
def create_or_update(ads):
    for ad in ads:
        ad_obj = Advert.get_by_id(ad.get('id'))
        if ad_obj:
            ad_obj.update(ad)
        else:
            Advert.create(
                settlement=ad.get('settlement'),
                under_construction=ad.get('under_construction'),
                description=ad.get('description'),
                price=ad.get('price'),
                oblast_district=ad.get('oblast_district'),
                living_area=ad.get('living_area'),
                has_balcony=ad.get('has_balcony'),
                address=ad.get('address'),
                construction_year=ad.get('construction_year'),
                rooms_number=ad.get('rooms_number'),
                premise_area=ad.get('premise_area'),
                advert_id=ad.get('id'),
            )
Example #5
0
 def get(self,campaign_id):
     c = Campaign.get_by_id(int(campaign_id))
     user = users.get_current_user()
     if c:
         if c.owner == user:
             ads = Advert.all().filter('campaign',c)
             self.response.out.write(template.render('templates/campaigns/view.html',{'campaign':c,'ads':ads}))
         else:
             self.response.out.write("No tenes permisos")
     else:
         self.response.out.write("La campania no existe")
Example #6
0
    def __init__(self, *args, **kwargs):
        super(Filter, self).__init__(*args, **kwargs)
        self.fields['cat_tab'] = forms.ChoiceField(
            choices=Advert.get_cat_tab_choices(self.data['group']))
        
        self.fields['cat_type'] = forms.ChoiceField(
            widget=StyleDropdown, 
            choices=Advert.get_cat_type_choices(
                self.data['group'], self.data['cat_tab']
            )
        )
        # self.fields['action_type'] = forms.ChoiceField(
        #     widget=StyleSwitch,
        #     choices=Advert.get_action_choices()
        #     # choices=(('rent', u'Аренда'), ('sale', u'Продажа'), ('exchange', u'Обмен'))
        # )

        

        for field_name, obj in self.fields.iteritems():
            self.fields[field_name].required = False
Example #7
0
def new_advert():
    #публиковать объявления могут только зарегистрированные пользователи
    user = request.authorization.username
    if user is None:
        abort(401)  # 401 (Unauthorized - Неавторизован)

    username = User.query.filter_by(username=user).first()
    if username is None:
        abort(401)  # 401 (Unauthorized - Неавторизован)

    advert = Advert()
    title = request.json.get('title')
    advert.title = title
    body = request.json.get('body')
    advert.body = body
    advert.author = username

    db.session.add(advert)
    db.session.commit()

    json_resp = jsonify({'username': user, 'title': title, 'body': body})
    return json_resp, 201
Example #8
0
 def get(self, campaign_id):
     c = Campaign.get_by_id(int(campaign_id))
     user = users.get_current_user()
     if c:
         if c.owner == user:
             ads = Advert.all().filter('campaign', c)
             self.response.out.write(
                 template.render('templates/campaigns/view.html', {
                     'campaign': c,
                     'ads': ads
                 }))
         else:
             self.response.out.write("No tenes permisos")
     else:
         self.response.out.write("La campania no existe")
Example #9
0
def new_advert():
    '''
    Create new advert
    '''
    form = AdvertForm()
    if form.validate_on_submit():
        my_advert = Advert()
        form.populate_obj(my_advert)
        db.session.add(my_advert)
        db.session.commit()
        flash('Advert created correctly', 'success')
        try:
            # User info
            desc = my_advert.description
            return redirect(url_for('tweet',desc=desc))
        except:
            db.session.rollback()
            flash('Error generating advert.', 'danger')

    return render_template('web/new_advert.html', form=form)
Example #10
0
def do_filtering(query_params, order):
    ads_list = Advert_Users.objects(**query_params).order_by(order)

    if 'period__contains' in query_params:
        if query_params['period__contains'] == 'day':
            query_params['action_type'] = 'daily_rent'
        else:
            query_params['action_type'] = 'rent'
        del query_params['period__contains']

    if 'exchange' in query_params:
        if query_params['exchange'] == True:
            query_params['action_type'] = 'exchange'
        else:
            query_params['action_type'] = 'sale'
        del query_params['exchange'] 
        del query_params['action_type__contains'] 

    ads_list2 = Advert.objects(**query_params).order_by(order)
    return QuerySetChain(ads_list, ads_list2)
Example #11
0
def get_my_favorites(user, _to_curr='byr', order='-images_len'):
    try:
        favorites = user.favorites
    except:
        favorites = []

    query_params = {}
    query_params[ 'id__in' ] = favorites
    ads_list = Advert_Users.objects(**query_params).order_by(order)

    for ad in ads_list:
        ad.price = price_convert(ad.price, ad.currency, _to_curr)
        ad.currency = _to_curr

    ads_list2 = Advert.objects(**query_params).order_by(order)
    
    for ad in ads_list2:
        ad.price = price_convert(ad.price, ad.currency, _to_curr)
        ad.currency = _to_curr

    my_ads = list(ads_list) + list(ads_list2)

    return my_ads