def get(self, request): user = self.get_user() user_offers = user.offer_set.all() data = self.get_user_counters() if not user_offers: self.template_name = 'home.jinja2' data['body_pre_items'] = ['You have no offers. Reply C to add.'] elif data['user_views_count'] == 0: self.template_name = 'home.jinja2' data['body_pre_items'] = ['You have no views.'] else: data = { 'skip_confirmation': 'true', 'method': 'GET', 'action': '/', 'header': 'your views', 'footer': 'Reply BACK', 'label_items': [] } views_count = {} all_history = History.objects.all() for user_offer in user_offers: views_count[user_offer.skill_description[:15]] = 0 for offer_from_history in all_history: if user_offer.id == offer_from_history.accessed_offer.id: views_count[user_offer.skill_description[:15]] += 1 for k, v in views_count.items(): data['label_items'].append('{}: {}'.format(k, v)) root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def get(self, request): data = { 'header': 'history', 'footer': 'Select from history', 'body_pre_items': [], 'items': [] } user = self.get_user() user_history = user.history_set.all().order_by('-date_accessed') if user_history: for obj in user_history: data['items'].append( {'method': 'GET', 'href': '/offer/{offer_id}'.format( offer_id=obj.accessed_offer.id ), 'description': '{industry}: {offer_description}'.format( industry=obj.accessed_offer.industry.industry_name, offer_description=obj.accessed_offer.skill_description[:10] )} ) else: self.template_name = 'home.jinja2' data = self.get_user_counters() data['body_pre_items'] = ['No history to show'] root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def get(self, request, id): data = { 'offer_id': id, } root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def post(self, request, id): offer = Offer.objects.get(pk=id) user = self.get_user() if request.POST['user_action'].lower() == 'delete': offer.delete() self.template_name = 'home.jinja2' data = self.get_user_counters() data['body_pre_items'] = ['Your skill offer has been deleted.'] else: offer.skill_description = request.POST['user_action'] offer.save() self.template_name = 'offers.jinja2' data = { 'header': 'your', 'body_pre_items': ['Your skill description has been changed.'], 'items': [] } updated_user_offers = user.offer_set.all() for offer in updated_user_offers: data['items'].append({ 'user_': 'user_', 'offer_id': offer.id, 'industry': offer.industry.industry_name, 'skill_description': offer.skill_description[:10] }) root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def get(self, request): data = { 'header': 'all', 'items': [] } all_offers = Offer.objects.all() if not all_offers: self.template_name = 'home.jinja2' data = self.get_user_counters() data['body_pre_items'] = ['No offers to show'] else: user = self.get_user() user_offers = user.offer_set.all() if not user_offers: filtered_offers = all_offers else: user_offers_ids = [user_offer.id for user_offer in user_offers] filtered_offers = Offer.objects.exclude(id__in=user_offers_ids) if not filtered_offers: self.template_name = 'home.jinja2' data = self.get_user_counters() data['body_pre_items'] = ['No offers to show'] else: for offer in filtered_offers: data['items'].append({ 'offer_id': offer.id, 'industry': offer.industry.industry_name, 'skill_description': offer.skill_description[:10] }) root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def get(self, request): data = { 'action': '/email/', 'profile_field': 'email', 'body_pre': 'Enter a valid email address.' } root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def get(self, request, id): offer = Offer.objects.get(pk=id) data = { 'offer_id': id, 'skill_description': offer.skill_description } root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def get(self, request): data = { 'action': '/last_name/', 'profile_field': 'last name', 'body_pre': '150 characters or fewer.' } root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def get(self, request): user = self.get_user() data = { 'first_name': user.first_name if user.first_name else 'not set', 'last_name': user.last_name if user.last_name else 'not set', 'email': user.email if user.email else 'not set', 'country': user.country if user.country else 'not set', 'city': user.city if user.city else 'not set' } root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def get(self, request): industries = Industry.objects.all() data = {'industries': []} for industry in industries: data['industries'].append({ 'id': industry.id, 'industry_name': industry.industry_name }) root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def get(self, request): data = { 'skip_confirmation': 'true', 'method': 'GET', 'action': '/profile/', 'header': 'change location', 'footer': 'Reply with #account', 'label_items': ['To change your location details (country / city) ' 'please go to #account service'] } root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def post(self, request, id): message = request.POST['message'] user = self.get_user() offer = Offer.objects.get(pk=id) headers = { 'X-API-KEY': settings.APP_APIKEY_POC, 'Content-Type': 'application/json' } notify_url = settings.RESTD_API_URL_POC.format( endpoint='users/{}/notify' ).format(offer.user.id) user_full_name = user.get_full_name() body = { 'header': 'skillhire - {}'.format(offer.skill_description[:10]), 'body': '\n'.join([message, 'Sent by: {}'.format( user_full_name if user_full_name else user.id )]), 'footer': 'Reply #skillhire' } response = requests.post(url=notify_url, json=body, headers=headers) if response.status_code == 200: self.template_name = 'home.jinja2' data = self.get_user_counters() data['body_pre_items'] = ['Your message was sent'] else: self.template_name = 'std_menu.jinja2' message_response = 'Message not sent. Please try again later' data = { 'header': 'offer details', 'footer': 'Reply with A/BACK', 'body_pre_items': [ message_response, 'Industry: {industry_name}'.format( industry_name=offer.industry.industry_name ), offer.skill_description, ], 'items': [{ 'method': 'GET', 'href': '/message/{offer_id}'.format(offer_id=id), 'description': 'Send message to: {user}'.format( user=offer.user.get_full_name()[:20] if offer.user.get_full_name() else 'user_id {}'.format(offer.user.id) ) }] } root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def post(self, request): self.template_name = 'home.jinja2' offer_create = Offer.objects.create( user=self.get_user(), industry=Industry.objects.filter( pk=int(request.POST['industry_category']) )[0], skill_description=request.POST['skill_description'] ) offer_create.save() data = self.get_user_counters() data['body_pre_items'] = ['Offer added successfully'] root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def post(self, request): user = self.get_user() user.email = request.POST['profile_change'] user.save() self.template_name = 'profile.jinja2' data = { 'body_pre': 'Your email address was changed', 'first_name': user.first_name if user.first_name else 'not set', 'last_name': user.last_name if user.last_name else 'not set', 'email': user.email if user.email else 'not set', 'country': user.country if user.country else 'not set', 'city': user.city if user.city else 'not set' } root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def get(self, request, id): offer = Offer.objects.get(pk=id) user = self.get_user() if not offer.id in [obj.accessed_offer.id for obj in user.history_set.all()]: history_create = History.objects.create( user=user, accessed_offer=offer ) history_create.save() else: history_obj = [obj for obj in user.history_set.all() if obj.accessed_offer.id == id][0] history_obj.date_accessed = timezone.now() history_obj.save() data = { 'industry_name': offer.industry.industry_name, 'skill_description': offer.skill_description, 'offer_id': id, 'user': offer.user.get_full_name()[:20] if offer.user.get_full_name() else 'user_id {}'.format(offer.user.id) } root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def get(self, request): data = { 'header': 'your', 'items': [] } user = self.get_user() user_offers = user.offer_set.all() if user_offers: for offer in user_offers: data['items'].append({ 'user_': 'user_', 'offer_id': offer.id, 'industry': offer.industry.industry_name, 'skill_description': offer.skill_description[:10] }) else: self.template_name = 'home.jinja2' data = self.get_user_counters() data['body_pre_items'] = [ 'You have no offers. Reply C to add.' ] root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)
def get(self, request): data = self.get_user_counters() root_tag = load_template(template_file=self.template_name, **data) return self.to_response(root_tag)