def create(self, data): request = self.context['request'] bar = request.bar if bar is None: raise Http404() if request.user.has_perm('bars_transactions.add_' + data["type"] + 'transaction', bar): fields = Transaction._meta.get_all_field_names() attrs = {k: v for k, v in data.items() if k in fields} t = Transaction(**attrs) t.author = request.user t.bar = bar t.save() return t else: raise exceptions.PermissionDenied()
def import_data(): # Processing model: Bar from bars_core.models.bar import Bar bar_1 = Bar() bar_1.id = u'avironjone' bar_1.name = u'Aviron J\xf4ne' bar_1 = importer.save_or_locate(bar_1) bar_2 = Bar() bar_2.id = u'escrimejone' bar_2.name = u'Escrime J\xf4ne' bar_2 = importer.save_or_locate(bar_2) bar_3 = Bar() bar_3.id = u'natationjone' bar_3.name = u'Natation J\xf4ne' bar_3 = importer.save_or_locate(bar_3) # Processing model: User from bars_core.models.user import User User.objects.create_superuser('admin', 'admin') user_1 = User() user_1.username = u'nadri' user_1.set_password('nadri') user_1.firstname = u'Guillaume' user_1.lastname = u'Boisseau' user_1.pseudo = u'Nadri' user_1 = importer.save_or_locate(user_1) user_2 = User() user_2.username = u'ntag' user_2.set_password('ntag') user_2.firstname = u'Basile' user_2.lastname = u'Bruneau' user_2.pseudo = u'NTag' user_2 = importer.save_or_locate(user_2) user_3 = User() user_3.username = u'tizot' user_3.set_password('tizot') user_3.firstname = u'Camille' user_3.lastname = u'Masset' user_3.pseudo = u'Tizot' user_3 = importer.save_or_locate(user_3) user_4 = User() user_4.username = u'denis' user_4.set_password('denis') user_4.firstname = u'Denis M' user_4.lastname = u'M\xe9rigoux' user_4.pseudo = u'' user_4 = importer.save_or_locate(user_4) # Processing model: Account from bars_core.models.account import Account account_1 = Account() account_1.bar = bar_1 account_1.owner = user_1 account_1 = importer.save_or_locate(account_1) account_2 = Account() account_2.bar = bar_1 account_2.owner = user_2 account_2 = importer.save_or_locate(account_2) account_3 = Account() account_3.bar = bar_1 account_3.owner = user_3 account_3 = importer.save_or_locate(account_3) account_4 = Account() account_4.bar = bar_1 account_4.owner = user_4 account_4 = importer.save_or_locate(account_4) account_5 = Account() account_5.bar = bar_3 account_5.owner = user_2 account_5 = importer.save_or_locate(account_5) account_6 = Account() account_6.bar = bar_2 account_6.owner = user_4 account_6 = importer.save_or_locate(account_6) # Processing model: SellItem from bars_items.models.sellitem import SellItem sellitem_1 = SellItem() sellitem_1.bar = bar_1 sellitem_1.name = "Chocolat" sellitem_1.unit_name = u'carre' sellitem_1.unit_name_plural = u'carres' sellitem_1.tax = 0.2 sellitem_1 = importer.save_or_locate(sellitem_1) sellitem_2 = SellItem() sellitem_2.bar = bar_1 sellitem_2.name = "Pizza" sellitem_2 = importer.save_or_locate(sellitem_2) # Processing model: ItemDetails from bars_items.models.itemdetails import ItemDetails itemdetails_1 = ItemDetails() itemdetails_1.name = u'Chocolat' itemdetails_1.unit_name = u'tablette' itemdetails_1.unit_name_plural = u'tablettes' itemdetails_1 = importer.save_or_locate(itemdetails_1) itemdetails_2 = ItemDetails() itemdetails_2.name = u'Pizza' itemdetails_2.unit_name = u'' itemdetails_2.unit_name_plural = u'' itemdetails_2 = importer.save_or_locate(itemdetails_2) # Processing model: BuyItem from bars_items.models.buyitem import BuyItem buyitem_1 = BuyItem() buyitem_1.details = itemdetails_1 buyitem_1 = importer.save_or_locate(buyitem_1) buyitem_2 = BuyItem() buyitem_2.details = itemdetails_2 buyitem_2 = importer.save_or_locate(buyitem_2) # Processing model: StockItem from bars_items.models.stockitem import StockItem stockitem_1 = StockItem() stockitem_1.bar = bar_1 stockitem_1.sellitem = sellitem_1 stockitem_1.details = itemdetails_1 stockitem_1.price = 1 stockitem_1 = importer.save_or_locate(stockitem_1) stockitem_2 = StockItem() stockitem_2.bar = bar_1 stockitem_2.sellitem = sellitem_2 stockitem_2.details = itemdetails_2 stockitem_2.price = 2 stockitem_2 = importer.save_or_locate(stockitem_2) # Processing model: News from bars_news.models import News news_1 = News() news_1.bar = bar_1 news_1.author = user_3 news_1.name = u"C'est du propre !" news_1.text = u"Bar d'\xe9tage d\xe9guelasse !! Faites votre vaisselle bande de p**** !" news_1.timestamp = dateutil.parser.parse("2015-01-30T02:37:14+00:00") news_1 = importer.save_or_locate(news_1) news_2 = News() news_2.bar = bar_1 news_2.author = user_3 news_2.name = u'Merci pour les photos' news_2.text = u"Bravo \xe0 Yoann qui a pris le temps de mettre toutes les photos sur les murs du bar d'\xe9tage !" news_2.timestamp = dateutil.parser.parse("2015-01-30T02:37:14+00:00") news_2 = importer.save_or_locate(news_2) # Processing model: Transaction from bars_transactions.models import Transaction from bars_transactions.models import AccountOperation from bars_transactions.models import ItemOperation for i in range(20): t = Transaction() t.bar = bar_1 t.author = user_2 t.type = u'buy' t = importer.save_or_locate(t) ao = AccountOperation() ao.transaction = t ao.fixed = False ao.delta = -2 ao.target = account_2 ao = importer.save_or_locate(ao) io = ItemOperation() io.transaction = t io.delta = -1.0 io.target = stockitem_1 io = importer.save_or_locate(io)