예제 #1
0
def make_product(domain, name, code):
    p = Product()
    p.domain = domain
    p.name = name
    p.code = code.lower()
    p.save()
    return p
예제 #2
0
def product_edit(request, domain, prod_id=None):
    if prod_id:
        try:
            product = Product.get(prod_id)
        except ResourceNotFound:
            raise Http404
    else:
        product = Product(domain=domain)

    if request.method == "POST":
        form = ProductForm(product, request.POST)
        if form.is_valid():
            form.save()
            messages.success(request, 'Product saved!')
            return HttpResponseRedirect(
                reverse('commtrack_product_list', kwargs={'domain': domain}))
    else:
        form = ProductForm(product)

    context = {
        'domain': domain,
        'product': product,
        'form': form,
    }

    template = "commtrack/manage/product.html"
    return render(request, template, context)
예제 #3
0
def make_product(domain, name, code, program_id):
    p = Product()
    p.domain = domain
    p.name = name
    p.code = code.lower()
    p.program_id = program_id
    p.save()
    return p
예제 #4
0
    def createProducts(self):
        with open(os.path.join(self.datapath, 'sample_product_1.json')) as f:
            lmis_product_1 = json.loads(f.read())

        with open(os.path.join(self.datapath, 'sample_product_2.json')) as f:
            lmis_product_2 = json.loads(f.read())

        lmis_product_1['program_id'] =  self.program._id
        lmis_product_2['program_id'] =  self.program._id

        product_1 = Product(lmis_product_1)
        product_2 = Product(lmis_product_2)
        product_1.save()
        product_2.save()

        self.products = []
        self.products.append(product_1)
        self.products.append(product_2)
예제 #5
0
def sync_ilsgateway_product(domain, ilsgateway_product):
    product = Product.get_by_code(domain, ilsgateway_product.sms_code)
    product_dict = {
        'domain': domain,
        'name': ilsgateway_product.name,
        'code': ilsgateway_product.sms_code,
        'unit': str(ilsgateway_product.units),
        'description': ilsgateway_product.description,
    }
    if product is None:
        product = Product(**product_dict)
        product.save()
    else:
        if apply_updates(product, product_dict):
            product.save()
    return product
예제 #6
0
def sync_openlmis_product(domain, program, lmis_product):
    product = get_product(domain, lmis_product)
    product_dict = {
        'domain': domain,
        'name': lmis_product.name,
        'code': lmis_product.code,
        'unit': str(lmis_product.unit),
        'description': lmis_product.description,
        'category': lmis_product.category,
        'program_id': program._id,

    }
    if product is None:
        product = Product(**product_dict)
        product.save()
    else:
        if apply_updates(product, product_dict):
            product.save()
    return product
예제 #7
0
 def product(self):
     return Product(domain=self.domain)