Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
intranet-csv-import
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
project-open
intranet-csv-import
Commits
eebfdeec
Commit
eebfdeec
authored
Nov 04, 2011
by
Frank Bergmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Fixed import
parent
2fc08a5e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
14 deletions
+21
-14
import-2.tcl
www/import-2.tcl
+8
-5
import-im_project.tcl
www/import-im_project.tcl
+13
-9
No files found.
www/import-2.tcl
View file @
eebfdeec
...
...
@@ -109,6 +109,7 @@ for {set i 1} {$i < $max_row} {incr i} {
set
object_type_pairs
[
list
""
""
]
foreach
field
$object
_fields
{
lappend object_type_pairs
[
string
tolower
$field
]
[
string
tolower
$field
]
}
lappend
object_type_pairs
"hard_coded"
"Hard Coded Functionality"
set
cnt 0
foreach
header_name
$headers
{
...
...
@@ -117,10 +118,6 @@ foreach header_name $headers {
# Column - Name of the CSV colum
set column
"<input type=hidden name=column.
$cnt
value=
\"
$header
_name
\"
>"
# Mapping - Map to which object field?
set default_map
[
string
tolower
$header
_name
]
set map
[
im_select map.$cnt
$object
_type_pairs
$default
_map
]
# Parser - convert the value from CSV values to ]po
[
values
set parser_sample_values
[
list
]
for
{
set
i 1
}
{
$i
<=
$max
_row
}
{
incr
i
}
{
...
...
@@ -132,10 +129,16 @@ foreach header_name $headers {
ns_log Notice
"import-2: otype=
$object
_type, field_name=
$header
_name => parser=
$defs
"
set default_parser
[
lindex
$defs
0
]
set default_parser_args
[
lindex
$defs
1
]
set override_map
[
lindex
$defs
2
]
set parser
[
im_select parser.$cnt
$parser
_pairs
$default
_parser
]
set args
"<input type=text name=parser_args.
$cnt
value=
\"
$default
_parser_args
\"
>
\n
"
# Mapping - Map to which object field?
set default_map
[
string
tolower
$header
_name
]
if
{
""
!=
$override
_map
}
{
set default_map
$override
_map
}
set map
[
im_select map.$cnt
$object
_type_pairs
$default
_map
]
if
{
"hard_coded"
==
$default
_parser
}
{
set map
[
im_select map.$cnt
$object
_type_pairs
"hard_coded"
]
}
multirow append mapping
$header
_name
$column
$map
$parser
$args
[
lindex
$row
_1
$cnt
]
[
lindex
$row
_2
$cnt
]
[
lindex
$row
_3
$cnt
]
[
lindex
$row
_4
$cnt
]
[
lindex
$row
_5
$cnt
]
incr cnt
...
...
www/import-im_project.tcl
View file @
eebfdeec
...
...
@@ -120,7 +120,9 @@ foreach csv_line_fields $values_list_of_lists {
set customer_id
""
set parent_nrs
""
set parent_id
""
set project_status
""
set project_status_id
""
set project_type
""
set project_type_id
""
set project_lead_id
""
...
...
@@ -143,7 +145,6 @@ foreach csv_line_fields $values_list_of_lists {
set expected_quality_id
""
set final_company
""
set milestone_p
""
set project_priority
""
set sort_order
""
set source_language_id
""
set subject_area_id
""
...
...
@@ -151,6 +152,7 @@ foreach csv_line_fields $values_list_of_lists {
set cost_center
""
set uom
""
set material
""
set planned_units
""
set billable_units
""
set priority
""
...
...
@@ -196,6 +198,9 @@ foreach csv_line_fields $values_list_of_lists {
foreach varname
$var
_name_list
{
set p
$parser
(
$i
)
set p_args
$parser
_args
(
$i
)
set target_varname
$map
(
$i
)
ns_log Notice
"import-im_project: Parser:
$varname
->
$target
_varname"
switch
$p
{
no_change
{
}
default
{
...
...
@@ -206,16 +211,17 @@ foreach csv_line_fields $values_list_of_lists {
set result
[
$proc
_name -parser_args
$p
_args
$val
]
set res
[
lindex
$result
0
]
set err
[
lindex
$result
1
]
ns_log Notice
"import-im_project: Parser: '
$p
-args
$p
_args
$val
' ->
$target
_varname=
$res
, err=
$err
"
if
{
""
!=
$err
}
{
if
{
$ns
_write_p
}
{
ns_write
"<li><font color=brown>Warning: Error parsing field='
$varname
' using parser '
$p
':<pre>
$err
</pre></font>
\n
"
ns_write
"<li><font color=brown>Warning: Error parsing field='
$
target
_
varname' using parser '
$p
':<pre>
$err
</pre></font>
\n
"
}
}
set
$varname
$res
set
$
target
_
varname
$res
}
}
err_msg
]}
{
if
{
$ns
_write_p
}
{
ns_write
"<li><font color=brown>Warning: Error parsing field='
$varname
' using parser '
$p
':<pre>
$err
_msg</pre></font>"
ns_write
"<li><font color=brown>Warning: Error parsing field='
$
target
_
varname' using parser '
$p
':<pre>
$err
_msg</pre></font>"
}
}
}
...
...
@@ -277,9 +283,6 @@ foreach csv_line_fields $values_list_of_lists {
# On track status can be NULL without problems
set on_track_status_id
[
im_id_from_category
[
list
$on
_track_status
]
"Intranet Project On Track Status"
]
# Priority has been introduced by department planner...
set project_priority_id
[
im_id_from_category
[
list
$project
_priority
]
"Intranet Department Planner Project Priority"
]
# customer_id
if
{
""
==
$customer
_id
}
{
set customer_id
[
db_string cust
"select company_id from im_companies where lower(company_name) = trim(lower(:customer_name))"
-default
""
]
...
...
@@ -381,7 +384,6 @@ foreach csv_line_fields $values_list_of_lists {
project_budget = :project_budget,
project_budget_currency = :project_budget_currency,
project_budget_hours = :project_budget_hours,
project_priority_id = :project_priority_id,
company_contact_id = :customer_contact_id,
company_project_nr = :customer_project_nr,
note = :note,
...
...
@@ -409,7 +411,9 @@ foreach csv_line_fields $values_list_of_lists {
)
"
-default
""
]
if
{
""
==
$material
_id
}
{
if
{
$ns
_write_p
}
{
ns_write
"<li><font color=brown>Warning: Didn't find material '
$material
', using 'Default'.</font>
\n
"
}
if
{
$ns
_write_p
}
{
ns_write
"<li><font color=brown>Warning: Didn't find material '
$material
', using 'Default'.</font>
\n
"
}
}
}
if
{
""
==
$material
_id
}
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment