]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/extras/fieldmapper.pl
added biblio container and items for extended fm
[Evergreen.git] / Open-ILS / src / extras / fieldmapper.pl
1 #!/usr/bin/perl
2 use strict; use warnings;
3 use Data::Dumper; 
4 use OpenILS::Utils::Fieldmapper;  
5
6 my $map = $Fieldmapper::fieldmap;
7
8 # if a true value is provided, we generate the web (light) version of the fieldmapper
9 my $web = $ARGV[0];
10 if(!$web) { $web = ""; }
11
12 # List of classes needed by the opac
13 my @web_hints = qw/ asv asva asvr asvq 
14                 circ acp acpl acn ccs ahn  
15                 crcd crmf crrf mbts aoc aus 
16                 mous mobts cdreb cdrebi /;
17
18 my @web_core = qw/ aou au perm_ex ex aout mvr ccs ahr aua ac actscecm /;
19
20 my @reports = qw/ perm_ex ex ao aou aout /;
21
22
23 print "var _c = {};\n";
24
25 for my $object (keys %$map) {
26
27         if($web eq "web") {
28                 my $hint = $map->{$object}->{hint};
29                 next unless (grep { $_ eq $hint } @web_hints );
30         }
31
32         if($web eq "web_core") {
33                 my $hint = $map->{$object}->{hint};
34                 next unless (grep { $_ eq $hint } @web_core );
35         }
36
37         if($web eq "reports") {
38                 my $hint = $map->{$object}->{hint};
39                 next unless (grep { $_ eq $hint } @web_core );
40         }
41
42
43         my $short_name = $map->{$object}->{hint};
44
45         my @fields;
46         for my $field (keys %{$map->{$object}->{fields}}) {
47                 my $position = $map->{$object}->{fields}->{$field}->{position};
48                 $fields[$position] = $field;
49         }
50
51         print "_c[\"$short_name\"] = [";
52         for my $f (@fields) { 
53                 if( $f ne "isnew" and $f ne "ischanged" and $f ne "isdeleted" ) {
54                         print "\"$f\","; 
55                 }
56         }
57         print "];\n";
58
59
60 }
61
62 print "fmclasses = _c;\n";
63