summaryrefslogtreecommitdiff
path: root/httemplate/view/cust_main/packages/location.html
blob: 99d91e5146e56d8e21cc936675e5e11097992e8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
% if ( $cust_pkg->change_from_pkg
%      and $cust_pkg->change_from_pkg->locationnum == $cust_pkg->locationnum)
% {
% # don't show the location
% } else {
%   if ( !$opt{'cust_pkg-group_by_location'} ) {
%     if ( $default ) {
        <DIV STYLE="font-style: italic; font-size: small">
%     }

      <% $loc->location_label( 'join_string'     => '<BR>',
                               'double_space'    => ' &nbsp; ',
                               'escape_function' => \&encode_entities,
                               'countrydefault'  => $countrydefault,
                               'cust_main'       => $opt{'cust_main'},
                             )
      %>

%     if ( $loc->latitude && $loc->longitude ) {
          <BR>
          <FONT SIZE=-1>
          <% $loc->latitude %>, <% $loc->longitude %>
          <& /elements/coord-links.html, {
               'latitude'        => $loc->latitude,
               'longitude'       => $loc->longitude,
               'name'            => $opt{'cust_main'}->name_short.
                                      ': '. $opt{'part_pkg'}->pkg,
               'company_address' => $opt{'company_address'},
             }
          &>
          </FONT>
%     }
%     if ( $loc->country eq 'US' ) {
%       if ( $loc->censustract ) {
           <BR>
           <FONT SIZE=-1>
           <% $loc->censustract %> (<% $loc->censusyear %> census)
           </FONT>
%       } elsif ( $opt{'cust_main-require_censustract'} ) {
            <BR>
            <FONT SIZE=-1 COLOR="#ee3300">
            <% emt('Census tract unknown') %>
            </FONT>
%       }
%     }

%     if ( $default ) {
      </DIV>
%     }
%   } # all of this is hidden if packages are grouped by location, because
%     # it's in the top banner

%   if ( ! $cust_pkg->get('cancel')
%      && $FS::CurrentUser::CurrentUser->access_right('Change customer package')
%     )
%   {
  <BR>
  <FONT SIZE=-1>
%     unless ( $opt{no_links} or $opt{'change_from'} ) {
      (&nbsp;<%pkg_change_location_link($cust_pkg)%>&nbsp;)
%     }
%     if ( $cust_pkg->locationnum && ! $opt{no_links} ) {
        (&nbsp;<%pkg_edit_location_link($cust_pkg->locationnum)%>&nbsp;)
%     }
  </FONT>
%   } 
% } # if the package is a scheduled future package change without location
%   # change, then don't show any of this at all.  It's all implied by the
%   # preceding package.
<%init>

my %opt = @_;

my $cust_pkg       = $opt{'cust_pkg'};
my $countrydefault = $opt{'countrydefault'} || 'US';
my $statedefault   = $opt{'statedefault'}
                     || ($countrydefault eq 'US' ? 'CA' : '');

my $loc = $cust_pkg->cust_location_or_main('_cache'=>$opt{cust_location_cache});
# dubious--they should all have a location now
my $default = $cust_pkg->locationnum == $opt{'cust_main'}->ship_locationnum;

sub pkg_change_location_link {
  my $cust_pkg = shift;
  my $pkgpart = $cust_pkg->pkgpart;
  include( '/elements/popup_link-cust_pkg.html',
    'action'      => $p. "misc/change_pkg.cgi?locationnum=-1;pkgpart=$pkgpart;".
                     "address1=;address2=;city=;county=;state=$statedefault;".
                     "zip=;country=$countrydefault",
    'label'       => emt('Change location'),
    'actionlabel' => emt('Change'),
    'cust_pkg'    => $cust_pkg,
    'width'       => 960,
    'height'      => 490,
  );
}

sub pkg_edit_location_link {
  my $locationnum = shift;
  include( '/elements/popup_link.html',
    'action'      => $p. "edit/cust_location.cgi?locationnum=$locationnum",
    'label'       => emt('Edit location'),
    'actionlabel' => emt('Edit'),
    'width'       => 700,
    'height'      => 355,
   );
}

</%init>