summaryrefslogtreecommitdiff
path: root/httemplate/edit/msg_template/http.html
blob: e82cc0c60973a97b79993ca387ae16fc5f686eed (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
<& /edit/elements/edit.html,
    'post_url'         => $fsurl.'edit/process/msg_template.html', 
    'name_singular'    => 'message interface',
    'table'            => 'msg_template',
    'viewall_dir'      => 'browse',
    'agent_virt'       => 1,
    'agent_null'       => 1,
    'agent_null_right' => [ 'View global templates', 'Edit global templates' ],

    'fields'           => [], # callback takes care of this
    'new_callback'     => $edit_callback,
    'edit_callback'    => $edit_callback,
    'error_callback'   => $edit_callback,
    'labels'           => \%labels,
    'no_submit'        => $no_submit,
&>
<%init>
my $curuser = $FS::CurrentUser::CurrentUser;

die "access denied"
  unless $curuser->access_right([ 'View templates', 'View global templates',
                                  'Edit templates', 'Edit global templates',
                               ]);

my %labels = (
  'msgnum'      => 'Template', # it's still a template number
  'agentnum'    => 'Agent',
  'msgname'     => 'Interface name',
  'prepare_url' => 'Prepare URL',
  'send_url'    => 'Send URL',
  'username'    => 'HTTP username',
  'password'    => 'HTTP password',
  'content'     => 'Additional POST content',
);

my $no_submit = 0;

my $edit_callback = sub {
  my ($cgi, $msg_template, $fields, $opt) = @_;
  if ( $curuser->access_right('Edit global templates') 
     || (    $curuser->access_right('Edit templates')
          && $msg_template
          && $msg_template->agentnum
          && $curuser->agentnums_href->{$msg_template->agentnum}
        )
  ) {
    @$fields = (
        { field => 'msgclass',
          type  => 'hidden',
          value => 'http',
        },
        { field => 'agentnum',
          type  => 'select-agent',
        },
        { field => 'msgname',   size=>60, required => 1 },
        { field => 'prepare_url', size=>60, required => 1 },
        { field => 'send_url',  size=>60, required => 1 },
        { field => 'username', size=>20 },
        { field => 'password', size=>20 },
        { field => 'content', type => 'textarea' },
    );
  } else { #readonly

    $no_submit = 1;

    @$fields = (
        { field => 'agentnum',
          type  => 'select-agent',
          fixed => 1,
        },
        { field => 'msgname',   type => 'fixed', },
        { field => 'prepare_url', type => 'fixed', },
        { field => 'send_url',  type => 'fixed', },
        { field => 'username',  type => 'fixed', },
        { field => 'password',  type => 'fixed', },
        { field => 'content', type => 'fixed' },
    );

  }
};

</%init>