Revision ebe30b2d
Von Martin Helmling martin.helmling@octosoft.eu vor mehr als 3 Jahren hinzugefügt
SL/Controller/File.pm | ||
---|---|---|
66 | 66 |
'purchase_invoice' => { gen => 6, gltype => 'ap', dir =>'PurchaseInvoice', model => 'PurchaseInvoice',right => 'import_ap' }, |
67 | 67 |
'vendor' => { gen => 0, gltype => '', dir =>'Vendor', model => 'Vendor', right => 'xx' }, |
68 | 68 |
'customer' => { gen => 1, gltype => '', dir =>'Customer', model => 'Customer', right => 'xx' }, |
69 |
'project' => { gen => 0, gltype => '', dir =>'Project', model => 'Project', right => 'xx' }, |
|
69 | 70 |
'part' => { gen => 0, gltype => '', dir =>'Part', model => 'Part', right => 'xx' }, |
70 | 71 |
'gl_transaction' => { gen => 6, gltype => 'gl', dir =>'GeneralLedger', model => 'GLTransaction', right => 'import_ap' }, |
71 | 72 |
'draft' => { gen => 0, gltype => '', dir =>'Draft', model => 'Draft', right => 'xx' }, |
SL/Controller/Project.pm | ||
---|---|---|
244 | 244 |
|
245 | 245 |
CVar->render_inputs(variables => $params{CUSTOM_VARIABLES}) if @{ $params{CUSTOM_VARIABLES} }; |
246 | 246 |
|
247 |
$::request->layout->use_javascript('kivi.File.js'); |
|
247 | 248 |
$self->setup_edit_action_bar(callback => $params{callback}); |
248 | 249 |
|
249 | 250 |
$self->render('project/form', %params); |
sql/Pg-upgrade2/file_storage_project.sql | ||
---|---|---|
1 |
-- @tag: file_storage_project |
|
2 |
-- @description: Dateispeicher auch für Projekte anbieten |
|
3 |
-- @depends: file_storage_dunning_invoice |
|
4 |
|
|
5 |
ALTER TABLE files |
|
6 |
DROP CONSTRAINT valid_type; |
|
7 |
ALTER TABLE files |
|
8 |
ADD CONSTRAINT valid_type CHECK ( |
|
9 |
(object_type = 'credit_note' ) OR (object_type = 'invoice' ) OR (object_type = 'sales_order' ) |
|
10 |
OR (object_type = 'sales_quotation' ) OR (object_type = 'sales_delivery_order' ) OR (object_type = 'request_quotation' ) |
|
11 |
OR (object_type = 'purchase_order' ) OR (object_type = 'purchase_delivery_order' ) OR (object_type = 'purchase_invoice' ) |
|
12 |
OR (object_type = 'vendor' ) OR (object_type = 'customer' ) OR (object_type = 'part' ) |
|
13 |
OR (object_type = 'gl_transaction' ) OR (object_type = 'dunning' ) OR (object_type = 'dunning1' ) |
|
14 |
OR (object_type = 'dunning2' ) OR (object_type = 'dunning3' ) OR (object_type = 'dunning_orig_invoice' ) |
|
15 |
OR (object_type = 'dunning_invoice' ) OR (object_type = 'draft' ) OR (object_type = 'statement' ) |
|
16 |
OR (object_type = 'shop_image' ) |
|
17 |
OR (object_type = 'letter' ) |
|
18 |
OR (object_type = 'project' ) |
|
19 |
); |
templates/webpages/project/form.html | ||
---|---|---|
20 | 20 |
[%- IF SELF.may_edit_invoice_permissions %] |
21 | 21 |
<li><a href="#invoice_permissions">[% 'Permissions for invoices' | $T8 %]</a></li> |
22 | 22 |
[%- END %] |
23 |
[%- IF SELF.project.id %] |
|
24 |
<li><a href="#project_details">[% 'Project Details' | $T8 %]</a></li> |
|
25 |
[%- IF INSTANCE_CONF.get_doc_storage %] |
|
26 |
<li><a href="controller.pl?action=File/list&file_type=attachment&object_type=project&object_id=[% SELF.project.id %]">[% 'Attachments' | $T8 %]</a></li> |
|
27 |
[%- END %] |
|
28 |
[%- END %] |
|
23 | 29 |
[%- IF SELF.project.id and AUTH.assert('record_links', 1) %] |
24 | 30 |
<li><a href="#linked_records">[% 'Linked Records' | $T8 %]</a></li> |
25 | 31 |
[%- END %] |
Auch abrufbar als: Unified diff
Projekte: Dateianhänge auch für Projekte
Cherry-pick aus odyn (Upgrade Skript entsprechend geändert)
implemntiert EGW #6889