当前位置: 首页>>代码示例>>Python>>正文


Python Transaction.delete方法代码示例

本文整理汇总了Python中models.Transaction.delete方法的典型用法代码示例。如果您正苦于以下问题:Python Transaction.delete方法的具体用法?Python Transaction.delete怎么用?Python Transaction.delete使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在models.Transaction的用法示例。


在下文中一共展示了Transaction.delete方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_model_transaction

# 需要导入模块: from models import Transaction [as 别名]
# 或者: from models.Transaction import delete [as 别名]
    def test_model_transaction(self):
        "Test transaction model"
        contact_type = ContactType(name='test')
        contact_type.save()

        contact = Contact(name='test', contact_type=contact_type)
        contact.save()

        currency = Currency(code="GBP",
                            name="Pounds",
                            symbol="L",
                            is_default=True)
        currency.save()

        account = Account(
            name='test', owner=contact, balance_currency=currency)
        account.save()

        obj = Transaction(name='test',
                          account=account,
                          source=contact,
                          target=contact,
                          value=10,
                          value_currency=currency)
        obj.save()
        self.assertEquals('test', obj.name)
        self.assertNotEquals(obj.id, None)
        obj.delete()
开发者ID:tovmeod,项目名称:anaf,代码行数:30,代码来源:tests.py

示例2: post

# 需要导入模块: from models import Transaction [as 别名]
# 或者: from models.Transaction import delete [as 别名]
	def	post(self):
		action = self.request.get('action', 'list')
		if action == 'list':
			self.sendTransactionList()		
		elif action == 'update':
			# add a new or update a transaction
			tkey = self.request.get('transaction', 'None')
			if tkey == 'None':
				transaction = Transaction()
				transaction.project = self.project
			else:
				transaction = Transaction.get(tkey)
				if transaction.project.key() != self.project.key():
					raise Exception("Project/Transaction mismatch")
			# update / set fields
			transaction.date = datetime.strptime(self.request.get('date', transaction.date.isoformat()), "%Y-%m-%d")
			transaction.source = Account.get(self.request.get('source', transaction.source and transaction.source.key()))
			transaction.dest = Account.get(self.request.get('dest', transaction.dest and transaction.dest.key()))
			transaction.ammount = float(self.request.get('ammount', str(transaction.ammount)).replace(',', '.'))
			transaction.check = self.request.get('check', 'False') == 'True'
			transaction.text = self.request.get('text', transaction.text)
			transaction.user = self.user
			# a None currency means we use the base currency!
			c = self.request.get('currency', transaction.currency and transaction.currency.key())
			transaction.currency = Currency.get(c) if c != "None" else None
			# exchange source and dest, if the amount is negative
			if transaction.ammount < 0:
				tmp_src = transaction.source
				transaction.source = transaction.dest
				transaction.dest = tmp_src
				transaction.ammount = -transaction.ammount	
			# put back into data store
			transaction.put()
			# retransmit all transactions
			self.sendTransactionList()
		elif action == 'delete':
			# add a new or update a transaction
			transaction = Transaction.get(self.request.get('transaction', 'None'))
			if transaction.project.key() != self.project.key():
				raise Exception("Project/Transaction mismatch")
			transaction.delete()
			# retransmit all transactions
			self.sendTransactionList()			
		else:
			raise Exception("Unknown action '%(action)s'!" % {'action':action})
开发者ID:realthargor,项目名称:urlaubsabrechnung,代码行数:47,代码来源:TransactionsHandler.py

示例3: transaction

# 需要导入模块: from models import Transaction [as 别名]
# 或者: from models.Transaction import delete [as 别名]
def transaction( request):
    '''
    View for handling transaction start/stop

    <base_url>/transaction?Action=Start
    <base_url>/transaction?Action=Stop&TransID=<ID>
    '''
    
    # Validate the request
    if request.method != 'GET':
        return HttpResponse( err_not_get(),  status=400)  # Bad request
    
    if not 'Action' in request.GET:
        return HttpResponse( err_missing_param( 'Action'), status=400)  # Bad request
    
    action = request.GET['Action']
    if not (action == 'Start' or action == 'Stop'):
        return HttpResponse( json_err_msg("Expected either 'Start' or 'Stop' for the 'Action' parameter."),
                             status=400)
    if action == 'Start':
        # Start a new transaction
        new_trans = Transaction()
        new_trans.owner = request.user
        new_trans.save()  # Need to call save() so that the id value is generated

        # generate the name and create the directory
        dir_name = os.path.join( settings.TRANSACTION_DIR, request.user.username + '_' + str(new_trans.id))
        os.mkdir(dir_name, 0770)

        # Use setfacl to give the user read, write & execute permissions
        # on the directory we just created    
        permissions = request.user.username + ':rwX'
        proc = subprocess.Popen([settings.SETFACL_BIN, '-m', permissions, dir_name])
        proc.wait()
        if proc.returncode != 0:
            # couldn't set the ACL (maybe this filesystem doesn't support ACL's?)
            # so we need to fail the operation and that means cleaning up after
            # ourselves
            recursive_rm( dir_name)
            new_trans.delete()
            return HttpResponse( json_err_msg( "Cannot start transaction: Failed to set ACL's on transaction directory."),
                                 status=500) # internal server error

        # If we make it here, everything's good - save the transaction object
        # to the DB and return the required JSON        
        new_trans.directory = dir_name
        new_trans.save()
        
        json_out = { }
        json_out['TransID'] = new_trans.id
        json_out['Directory'] = dir_name
        return HttpResponse( json.dumps( json_out))
        
    else:
        # Stop an existing transaction
        # Need to specify the transaction ID
        (trans, error_response) = validate_trans_id( request)
        if error_response != None:
        # TransID didn't validate...
            return error_response
        
        # The transaction is validated - delete the files/directories
        recursive_rm( trans.directory)
        
        # delete the transaction from the db (Django defaults to 'cascaded' deletes,
        # so all we need to do is remove the transaction and everything that was pointing
        # to it (jobs & files) will also be removed
        trans.delete()
        
        return HttpResponse()
开发者ID:neutrons,项目名称:MantidRemote,代码行数:72,代码来源:views.py


注:本文中的models.Transaction.delete方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。