]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/extras/fieldmapper.pl
added classes for record details page
[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 ccs ahn  
15                 crcd crmf crrf mbts aoc aus 
16                 mous mobts mb /;
17
18 my @web_core = qw/ 
19         aou au perm_ex ex aout 
20         mvr ccs ahr aua ac actscecm cbreb acpl 
21         cbrebi acpn acp acnn acn bren asc asce 
22         clfm cifm citm cam /;
23
24 my @reports = qw/ perm_ex ex ao aou aout /;
25
26
27 print "var _c = {};\n";
28
29 for my $object (keys %$map) {
30
31         my $hint = $map->{$object}->{hint};
32
33         if($web eq "web") {
34                 next unless (grep { $_ eq $hint } @web_hints );
35         }
36
37         if($web eq "web_core") {
38                 next unless (grep { $_ eq $hint } @web_core );
39         }
40
41         if($web eq "reports") {
42                 next unless (grep { $_ eq $hint } @web_core );
43         }
44
45
46         my $short_name = $map->{$object}->{hint};
47
48         my @fields;
49         for my $field (keys %{$map->{$object}->{fields}}) {
50                 my $position = $map->{$object}->{fields}->{$field}->{position};
51                 $fields[$position] = $field;
52         }
53
54         print "_c[\"$short_name\"] = [";
55         for my $f (@fields) { 
56                 if( $f ne "isnew" and $f ne "ischanged" and $f ne "isdeleted" ) {
57                         print "\"$f\","; 
58                 }
59         }
60         print "];\n";
61
62
63 }
64
65 print "fmclasses = _c;\n";
66