def create_tool(slug, title, abbrev, description): try: tool = Tool.objects.get(tool_slug=slug) print " Updating Tool: " + slug tool.title = title tool.abbrev = abbrev tool.description = description updated_editor = editor except ObjectDoesNotExist: print " Creating Tool: " + slug tool = Tool(tool_slug=slug, title=title, abbrev=abbrev, description=description, updated_editor=editor) tool.save() return tool
def form_valid(self, form): f = form.save(commit=False) f.owner = self.request.user f.slug = slugify_unique(f.name) while Integration.objects.filter(slug=f.slug).exists(): f.slug = slugify_unique(f.name) if form.cleaned_data['bundle_code']: bundle_code = form.cleaned_data['bundle_code'] url = 'https://tpi.bb.pearsoncmg.com/highlander/api/v1/bundles/{}?direct=true'.format(bundle_code) req = requests.get(url) data = json.loads(req.text) bundle_links = data['basicLtiLinkBundle']['links'] bundle = [] for link in bundle_links: title = link['title'] custom_params = [] for param in link['customParameters']: param_name = param['name'] param_value = param['value'] custom_params.append( '{}={}'.format(param_name, param_value)) bundle.append({ 'title': title, 'custom_params': custom_params}) bundle_tool = Tool() bundle_tool.owner = self.request.user bundle_tool.vendor = Vendor.objects.get(name='Pearson') bundle_tool.is_bundle = True bundle_tool.bundle_data = json.dumps(bundle, indent=4) bundle_tool.launch_url = bundle_links[0]['launchUrl'] bundle_tool.name = '[bundle] ' + form.cleaned_data['bundle_name'] bundle_tool.key = form.cleaned_data['bundle_key'] bundle_tool.secret = form.cleaned_data['bundle_secret'] bundle_tool.protocol = 'LTI 1' bundle_tool.tool_type = 'Provider' bundle_tool.save() f.tool_provider = bundle_tool f.save() return super(IntegrationCreate,self).form_valid(form)
def save(self, force_insert=False, force_update=False, commit=True): zeros = len(self.cleaned_data['start_index']) - 1 if not self.cleaned_data['price']: price = self.cleaned_data['model'].price service_interval = self.cleaned_data['model'].service_interval else: price = self.cleaned_data['price'] service_interval = self.cleaned_data['service_interval'] for n in range(int(self.cleaned_data['start_index']), self.cleaned_data['end_index']+1): name = (self.cleaned_data['prefix'] + self.get_zeros(n, zeros) + str(n)) tool = Tool(name = name, price = price, service_interval = service_interval, model = self.cleaned_data['model'], invoice_number = self.cleaned_data['invoice_number'], secondary_name = self.cleaned_data['secondary_name'], buy_date = self.cleaned_data['buy_date'], container = self.cleaned_data['container']) tool.save() event = Event(event_type = "Oprettelse", tool = tool) event.save()