def editbudget_condo(xfer): if xfer.getparam('set') is not None: cost = xfer.getparam('cost_accounting') if cost is not None: set_item = Set.objects.get(id=xfer.getparam('set', 0)) title_cost = xfer.get_components('title_cost') xfer.remove_component('title_year') year = xfer.getparam('year', 0) select_year = XferCompSelect('year') select_year.set_location(1, title_cost.row - 1) select_year.set_select_query(FiscalYear.objects.all()) select_year.set_value(year) select_year.description = _('year') select_year.set_needed(set_item.type_load == Set.TYPELOAD_CURRENT) select_year.set_action(xfer.request, xfer.__class__.get_action(), close=CLOSE_NO, modal=FORMTYPE_REFRESH) xfer.add_component(select_year) btn = XferCompButton('confyear') btn.set_location(2, title_cost.row - 1) btn.set_action(xfer.request, ActionsManage.get_action_url( FiscalYear.get_long_name(), 'configuration', xfer), close=CLOSE_NO) btn.set_is_mini(True) xfer.add_component(btn) if year != 0: current_year = FiscalYear.get_current(year) xfer.params['readonly'] = str( current_year.status == FiscalYear.STATUS_FINISHED) if set_item.type_load == 0: if len(set_item.setcost_set.filter( year=current_year)) == 0: set_item.create_new_cost(year=current_year.id) setcost_item = set_item.setcost_set.filter( year=current_year)[0] else: setcost_item = set_item.setcost_set.filter(year=None)[0] cost_item = setcost_item.cost_accounting xfer.params['cost_accounting'] = cost_item.id title_cost.set_value("{[b]}%s{[/b]} : %s" % (_('cost accounting'), cost_item)) else: year = None xfer.params['readonly'] = 'True' cost_item = CostAccounting.objects.get(id=cost) if (cost_item.status == CostAccounting.STATUS_OPENED) and not xfer.getparam( 'readonly', False): set_item.change_budget_product(cost_item, year) if xfer.getparam('type_of_account') is not None: xfer.params['readonly'] = 'True' return