On Wed, Jun 17, 2009 at 1:10 PM, Jeff Kowalczyk <[email protected]> wrote:
> How do I discern what role in being used to execute a given query?
>
>
>
> I want to learn how to know (rather than guess) what GRANT should I make to
> table invoices to allow function LedgerSMB/IS.pm:post_invoice() to issue
> an UPDATE invoice statement.
the create_ar_invoice is the role for this.
>
>
> Thanks,
> Jeff
>
> Permissions on table invoice after bootstrapping with install-mycompany.sh:
>
> mycompany=# \dp invoice
>
> Access privileges for database "mycompany"
>
> {postgres=arwdxt/postgres,
> lsmb_mycompany__create_ar_invoice=a/postgres,
> lsmb_mycompany__create_ar_invoice_voucher=a/postgres,
> lsmb_mycompany__list_ar_transactions=r/postgres,
> lsmb_mycompany__create_ap_invoice=a/postgres,
> lsmb_mycompany__create_ap_invoice_voucher=a/postgres,
> lsmb_mycompany__list_ap_transactions=r/postgres,
> lsmb_mycompany__create_pos_invoice=a/postgres,
> lsmb_mycompany__inventory_reports=r/postgres}
>
> The error when posting an AR invoice:
>
> [Wed Jun 17 14:32:11 2009] [error] [client 127.0.0.1] DBD::Pg::st execute
> failed: ERROR: permission denied for relation invoice at LedgerSMB/IS.pm
> line
> 1147., referer: http://localhost/ledgersmb/is.pl
>
> Error!
>
> UPDATE invoice
> SET trans_id = ?,
> parts_id = ?,
> description = ?,
> qty = ?,
> sellprice = ?,
> fxsellprice = ?,
> discount = ?,
> allocated = ?,
> unit = ?,
> deliverydate = ?,
> project_id = ?,
> serialnumber = ?,
> notes = ?
> WHERE id = ?
> ERROR: permission denied for relation invoice
>
> An excerpt of the function in question:
>
> sub post_invoice {
> ...
> my $query;
> my $sth;
> ...
> $query = qq|
> UPDATE invoice
> SET trans_id = ?,
> parts_id = ?,
> description = ?,
> qty = ?,
> sellprice = ?,
> fxsellprice = ?,
> discount = ?,
> allocated = ?,
> unit = ?,
> deliverydate = ?,
> project_id = ?,
> serialnumber = ?,
> notes = ?
> WHERE id = ?|;
>
> $sth = $dbh->prepare($query);
> $sth->execute(
> $form->{id}, $form->{"id_$i"},
> $form->{"description_$i"}, $form->{"qty_$i"},
> $form->{"sellprice_$i"}, $fxsellprice,
> $form->{"discount_$i"}, $allocated,
> $form->{"unit_$i"}, $form->{"deliverydate_$i"},
> $project_id, $form->{"serialnumber_$i"},
> $form->{"notes_$i"},
> $invoice_id
> ) || $form->dberror($query);
>
>
>
>
> ------------------------------------------------------------------------------
> Crystal Reports - New Free Runtime and 30 Day Trial
> Check out the new simplified licensing option that enables unlimited
> royalty-free distribution of the report engine for externally facing
> server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> Ledger-smb-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel
>
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Ledger-smb-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel