Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 272

Přidáno uživatelem Michal Kliment před asi 15 roky(ů)

Opraven Jirkuv dotaz a chyba v upgrade_sql po Tomasovi...

Zobrazit rozdíly:

freenetis/trunk/kohana/application/models/member.php
->join('enum_types', 'members.type=enum_types.id', NULL, "LEFT")
->join('users', 'users.member_id = members.id', NULL, "LEFT")
->where("members.id=$id AND users.id IS NOT NULL")->limit(1)->get();
}
}
/**
* @author Tomas Dulik
* @return unknown_type
......
public function get_debtors($limit_from = 0, $limit_results = 50, $order_by = 'm.id', $order_by_direction = 'ASC')
{
// to do - correct this query...
return self::$db->query('SELECT aid, mid, mname, mstreet, mtown,
/*return self::$db->query('SELECT aid, mid, mname, mstreet, mtown,
(IFNULL(SUM(amount), 0) - IFNULL(sel2.outbound, 0)) AS credit
FROM (SELECT
SUM(amount) AS outbound, aid, mid, mname, mstreet, mtown
......
WHERE mt2.destination_id = sel2.aid AND credit < 0
ORDER BY '.$order_by.' '.$order_by_direction.'
LIMIT '.$limit_from.','.$limit_results);
}
*/
return self::$db->query('SELECT members.id, members.name, members.street, members.town,
q3.credit FROM
(SELECT id, member_id, (inbound - outbound) as credit FROM
(SELECT q1.id, q1.member_id, IFNULL(sum(amount),0) as inbound, outbound FROM
(SELECT accounts.id, member_id, IFNULL( sum( amount ) , 0 ) AS outbound
FROM accounts
LEFT JOIN enum_types ON accounts.type_id = enum_types.id
LEFT JOIN money_transfers ON accounts.id = money_transfers.origin_id
WHERE enum_types.value = \'credit\'
GROUP BY accounts.id) AS q1
LEFT JOIN money_transfers ON q1.id = money_transfers.destination_id GROUP BY q1.id) AS q2
WHERE (inbound - outbound) < 0) AS q3
LEFT JOIN members ON q3.member_id = members.id
ORDER BY '.$order_by.' '.$order_by_direction.'
LIMIT '.$limit_from.','.$limit_results);
}
/**
* @param $phone - string containing a phone number
* @return first member_id of a member with given phone number
freenetis/trunk/kohana/application/controllers/members.php
// gets debtors from database
$query = $model_members->get_debtors($sql_offset, (int)$limit_results, $order_by, $order_by_direction);
$total_members = $model_members->count_all_members();
$total_members = count($query);
unset($url_array);
$sql_offset = ($sql_offset>$total_members) ? 0 : $sql_offset;
......
));
$grid->order_field('id')->label('ID');
$grid->order_field('registration')->label(url_lang::lang('texts.Reg'))->bool(array(url_lang::lang('texts.No'),url_lang::lang('texts.Yes')))->class('center');
//$grid->order_field('registration')->label(url_lang::lang('texts.Reg'))->bool(array(url_lang::lang('texts.No'),url_lang::lang('texts.Yes')))->class('center');
$grid->order_field('name')->label(url_lang::lang('texts.Name'));
$grid->order_field('street')->label(url_lang::lang('texts.Street'));
$grid->order_field('street_number')->label(url_lang::lang('texts.Street number'));
//$grid->order_field('street_number')->label(url_lang::lang('texts.Street number'));
//$grid->order_field('phone')->label(url_lang::lang('texts.Phone'));
$grid->order_field('town')->label(url_lang::lang('texts.Town'));
$grid->order_field('credit')->label(url_lang::lang('texts.Credit'));
if ($this->acl_check_view(get_class($this), 'members'))
$grid->action_field('id') ->label(url_lang::lang('texts.Member')) ->url(url_lang::base().'members/show') ->action(url_lang::lang('texts.Show'));
$grid->datasource($query);
freenetis/trunk/kohana/application/upgrade_sql/upgrade_sql.php
"INSERT INTO `enum_types` (`type_id`, `value`, `read_only`)
VALUES ('5', 'bank fees', '1'),
('5', 'bank interests', '1');",
"INSERT INTO `translations` (`original_term` , `translated_term` , `lang` )
VALUES ('bank fees', 'bankovní poplatky', 'cs'),
VALUES ('bank interests', 'bankovní úroky', 'cs');"
"INSERT INTO `translations` (`original_term` , `translated_term` , `lang` VALUES
('bank fees', 'bankovní poplatky', 'cs'),
('bank interests', 'bankovní úroky', 'cs');"
);

Také k dispozici: Unified diff