def add_to_portfolio(request, company_id): event_date = str(date.today()) event_name = 'add_to_porftolio' event_parameter = str(company_id) do_not_insert = False succeeded = False try: port_data_raw_temp = stock_portfolio.objects.values('current_portfolio', 'event_id').order_by('-event_id') if len(port_data_raw_temp) == 0: current_portfolio = str(company_id) event_id = 0 else: port_data_raw = port_data_raw_temp[0] if (str(company_id) in port_data_raw['current_portfolio'].split(',')): return_value = 'You passed parameter ' + str(company_id) + ' , it is already in the portfolio! Didnt add.' do_not_insert = True succeeded = True else: current_portfolio = port_data_raw['current_portfolio'] event_id = int(port_data_raw['event_id']) + 1 current_portfolio = current_portfolio + str(',' + str(company_id)) temp_portfolio_raw = current_portfolio.split(',') temp_portfolio = [] for j in temp_portfolio_raw: temp_portfolio.append(int(j)) temp_portfolio.sort() current_portfolio = '' for i in temp_portfolio: current_portfolio = current_portfolio + str(i) + ',' current_portfolio = current_portfolio[:-1] try: if do_not_insert == False: event = stock_portfolio( event_id = event_id, event_date = event_date, event_name = event_name, event_parameter = event_parameter, current_portfolio = current_portfolio) event.save() succeeded = True return_value = 'You passed parameter ' + str(company_id) + ' , insertion was successful' except: return_value = 'Insertion failed, no idea why.' except: return_value = 'Unknown error. Probably erroneous input, exception: ' + str(sys.exc_info()[0]) return_values = {} return_values['status'] = str(succeeded) return_values['message'] = return_value return HttpResponse(json.dumps(return_values), content_type = "application/javascript")
def remove_from_portfolio(request, company_id): port_data_raw_temp = stock_portfolio.objects.values('current_portfolio', 'event_id').order_by('-event_id')[0] event_id = port_data_raw_temp['event_id'] current_portfolio = port_data_raw_temp['current_portfolio'] event_date = str(date.today()) event_name = 'remove company from portfolio' event_parameter = str(company_id) return_values = {} temp_portfolio = current_portfolio.split(',') port_string = '' return_values['status'] = 'false' return_values['message'] = 'Successulfully added new event, but nothing to remove' for i in temp_portfolio: if i == company_id: #status_string = "did not add " + str(company_id) return_values['status'] = 'true' return_values['message'] = "Successfully added new event, removed " + str(company_id) continue port_string = port_string + str(i) + ',' current_portfolio = port_string[:-1] try: event = stock_portfolio( event_id = event_id + 1, event_date = event_date, event_name = event_name, event_parameter = event_parameter, current_portfolio = current_portfolio) event.save() except: return_values['message'] = "Failed to remove the company, " + str(company_id) return_values['status'] = 'error' return HttpResponse(json.dumps(return_values), content_type = 'application/javascript')