mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2025-02-22 11:46:27 +01:00
CMS-Text sync for operators. copri email integration init
This commit is contained in:
parent
c603ead447
commit
1672564775
18 changed files with 182 additions and 207 deletions
|
@ -1648,6 +1648,7 @@ sub service_automatic {
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$service_id){
|
if(!$service_id){
|
||||||
|
$crecord->{int04} = "null";#empty station
|
||||||
($response->{service_id}) = $self->service_insert($q,$authraw,$node_template,$crecord);
|
($response->{service_id}) = $self->service_insert($q,$authraw,$node_template,$crecord);
|
||||||
$bw->log("service_automatic insert ($response->{service_id}) ",$response,"");
|
$bw->log("service_automatic insert ($response->{service_id}) ",$response,"");
|
||||||
my $rows = $self->service_update($q,$authraw,$node_template,$response->{service_id});
|
my $rows = $self->service_update($q,$authraw,$node_template,$response->{service_id});
|
||||||
|
|
|
@ -49,7 +49,7 @@ sub loop_sharees {
|
||||||
my $rest_hash = {};
|
my $rest_hash = {};
|
||||||
my $rest = "";
|
my $rest = "";
|
||||||
foreach (@keywords){
|
foreach (@keywords){
|
||||||
if($_ =~ /request|authcookie|system|bike|station/g){
|
if($_ =~ /request|authcookie|system|bike|station|lang/g){
|
||||||
my $val = $q->param($_);
|
my $val = $q->param($_);
|
||||||
my $encoded_val = $uri_encode->encode($val);
|
my $encoded_val = $uri_encode->encode($val);
|
||||||
$rest .= "$_=$encoded_val&";
|
$rest .= "$_=$encoded_val&";
|
||||||
|
|
|
@ -68,7 +68,7 @@ my $response = {
|
||||||
apiserver => "$apiserver",
|
apiserver => "$apiserver",
|
||||||
response => "$respreq",
|
response => "$respreq",
|
||||||
uri_primary => "$dbt->{primary}->{sharee_primary}->{primaryApp}",
|
uri_primary => "$dbt->{primary}->{sharee_primary}->{primaryApp}",
|
||||||
copri_version => "4.1.23.10",
|
copri_version => "4.1.23.15",
|
||||||
user_id => "",
|
user_id => "",
|
||||||
authcookie => "",
|
authcookie => "",
|
||||||
new_authcoo => "0",
|
new_authcoo => "0",
|
||||||
|
@ -95,19 +95,13 @@ my $response = {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
my %varenv_prim = ();
|
if(1==1){
|
||||||
if($varenv{dbname} eq $dbt->{primary}->{sharee_primary}->{database}->{dbname}){
|
|
||||||
$varenv{cms} = $dbt->fetch_cms($dbh,{ lang => $q->escapeHTML($lang) });
|
$varenv{cms} = $dbt->fetch_cms($dbh,{ lang => $q->escapeHTML($lang) });
|
||||||
$varenv_prim{cms} = $varenv{cms};
|
|
||||||
if($lang eq "de"){
|
if($lang eq "de"){
|
||||||
$response->{faq_app_fullurl} = $dbt->{project_conf}->{faq_app_fullurl_de};
|
$response->{faq_app_fullurl} = $dbt->{project_conf}->{faq_app_fullurl_de};
|
||||||
}else{
|
}else{
|
||||||
$response->{faq_app_fullurl} = $dbt->{project_conf}->{faq_app_fullurl_en};
|
$response->{faq_app_fullurl} = $dbt->{project_conf}->{faq_app_fullurl_en};
|
||||||
}
|
}
|
||||||
}else{
|
|
||||||
my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname});
|
|
||||||
$varenv{cms} = $dbt->fetch_cms($dbh_primary,{ lang => $q->escapeHTML($lang) });
|
|
||||||
$varenv_prim{cms} = $varenv{cms};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
my $aowner = 0;
|
my $aowner = 0;
|
||||||
|
@ -332,7 +326,7 @@ elsif($q->param('request') eq "booking_request"){
|
||||||
|
|
||||||
#return list of occupied/requested bikes
|
#return list of occupied/requested bikes
|
||||||
$record = $apif->user_bikes_occupied($dbh,$authraw,"");
|
$record = $apif->user_bikes_occupied($dbh,$authraw,"");
|
||||||
$response->{bikes_occupied} = $apif->rentals(\%varenv_prim,$record,$authraw,"1");#returns JSON rental values
|
$response->{bikes_occupied} = $apif->rentals(\%varenv,$record,$authraw,"1");#returns JSON rental values
|
||||||
|
|
||||||
}#end still_requested
|
}#end still_requested
|
||||||
}else{
|
}else{
|
||||||
|
@ -416,7 +410,7 @@ elsif($q->param('request') eq "booking_cancel" || $q->param('request') eq "booki
|
||||||
$response = {%$response, %$booking_values};
|
$response = {%$response, %$booking_values};
|
||||||
|
|
||||||
my $record = $apif->user_bikes_occupied($dbh,$authraw,"show_dialog");
|
my $record = $apif->user_bikes_occupied($dbh,$authraw,"show_dialog");
|
||||||
$response->{bikes_occupied} = $apif->rentals(\%varenv_prim,$record,$authraw,"1");
|
$response->{bikes_occupied} = $apif->rentals(\%varenv,$record,$authraw,"1");
|
||||||
|
|
||||||
#update on Ilockit
|
#update on Ilockit
|
||||||
}else{
|
}else{
|
||||||
|
@ -425,12 +419,12 @@ elsif($q->param('request') eq "booking_cancel" || $q->param('request') eq "booki
|
||||||
$response = {%$response, %$booking_values};
|
$response = {%$response, %$booking_values};
|
||||||
|
|
||||||
my $record = $apif->user_bikes_occupied($dbh,$authraw,"");
|
my $record = $apif->user_bikes_occupied($dbh,$authraw,"");
|
||||||
$response->{bikes_occupied} = $apif->rentals(\%varenv_prim,$record,$authraw,"1");
|
$response->{bikes_occupied} = $apif->rentals(\%varenv,$record,$authraw,"1");
|
||||||
}
|
}
|
||||||
}#end occupied|available
|
}#end occupied|available
|
||||||
else{
|
else{
|
||||||
my $record = $apif->user_bikes_occupied($dbh,$authraw,"");
|
my $record = $apif->user_bikes_occupied($dbh,$authraw,"");
|
||||||
$response->{bikes_occupied} = $apif->rentals(\%varenv_prim,$record,$authraw,"1");
|
$response->{bikes_occupied} = $apif->rentals(\%varenv,$record,$authraw,"1");
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
@ -469,9 +463,9 @@ elsif($q->param('request') eq "user_bikes_occupied"){
|
||||||
$response = { %$response, %$auth };
|
$response = { %$response, %$auth };
|
||||||
my $record = $apif->user_bikes_occupied($dbh,$authraw,"show_dialog");
|
my $record = $apif->user_bikes_occupied($dbh,$authraw,"show_dialog");
|
||||||
if($R::withoutkey){
|
if($R::withoutkey){
|
||||||
$response->{bikes_occupied} = $apif->rentals(\%varenv_prim,$record,$authraw,"");
|
$response->{bikes_occupied} = $apif->rentals(\%varenv,$record,$authraw,"");
|
||||||
}else{
|
}else{
|
||||||
$response->{bikes_occupied} = $apif->rentals(\%varenv_prim,$record,$authraw,"1");
|
$response->{bikes_occupied} = $apif->rentals(\%varenv,$record,$authraw,"1");
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
$response->{response_state} = "Failure 1001: authcookie not defined";
|
$response->{response_state} = "Failure 1001: authcookie not defined";
|
||||||
|
@ -506,10 +500,10 @@ elsif($q->param('request') eq "bikes_available"){
|
||||||
#$bw->log("Y bikes_available $varenv{dbname} by c_id $authraw->{c_id}, Tarif: $authraw->{txt30}",$authraw->{txt30},"");
|
#$bw->log("Y bikes_available $varenv{dbname} by c_id $authraw->{c_id}, Tarif: $authraw->{txt30}",$authraw->{txt30},"");
|
||||||
|
|
||||||
if($varenv{syshost} eq "shareeapp-sx"){
|
if($varenv{syshost} eq "shareeapp-sx"){
|
||||||
($response->{bikes},my $return2copri->{bikes}) = $si->sig_available($q,\%varenv_prim,\%varenv,$authraw);
|
($response->{bikes},my $return2copri->{bikes}) = $si->sig_available($q,\%varenv,\%varenv,$authraw);
|
||||||
$tk->sigbike_cupdate($return2copri->{bikes});
|
$tk->sigbike_cupdate($return2copri->{bikes});
|
||||||
}else{
|
}else{
|
||||||
$response->{bikes} = $apif->bikes_available($q,\%varenv_prim,\%varenv,$authraw);
|
$response->{bikes} = $apif->bikes_available($q,\%varenv,\%varenv,$authraw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(ref($response->{bikes}) ne "HASH"){
|
if(ref($response->{bikes}) ne "HASH"){
|
||||||
|
@ -760,7 +754,7 @@ elsif($q->param('request') eq "stations_available"){
|
||||||
|
|
||||||
#sig first save
|
#sig first save
|
||||||
if($varenv{syshost} eq "shareeapp-sx"){
|
if($varenv{syshost} eq "shareeapp-sx"){
|
||||||
($response->{stations},my $return2copri->{stations}) = $si->sig_available($q,\%varenv_prim,\%varenv,$authraw);
|
($response->{stations},my $return2copri->{stations}) = $si->sig_available($q,\%varenv,\%varenv,$authraw);
|
||||||
$tk->sigstation_cupdate($return2copri->{stations});
|
$tk->sigstation_cupdate($return2copri->{stations});
|
||||||
}else{
|
}else{
|
||||||
my $cachme = $R::cachme || "";
|
my $cachme = $R::cachme || "";
|
||||||
|
|
|
@ -31,6 +31,7 @@ sub ibuttons(){
|
||||||
'barcode' => 'Barcode Label drucken',
|
'barcode' => 'Barcode Label drucken',
|
||||||
'buchen' => 'buchen',
|
'buchen' => 'buchen',
|
||||||
'send_invoice_again' => 'senden',
|
'send_invoice_again' => 'senden',
|
||||||
|
'email_generate' => 'eMail generieren',
|
||||||
'new_contenttver' => 'Neues Arbeitsprofil',
|
'new_contenttver' => 'Neues Arbeitsprofil',
|
||||||
'new_content' => 'NEUER Datensatz',
|
'new_content' => 'NEUER Datensatz',
|
||||||
'new_contentcms' => 'NEUER Datensatz',
|
'new_contentcms' => 'NEUER Datensatz',
|
||||||
|
@ -154,8 +155,7 @@ sub event_button(){
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my ($node_path,$node_name,$main_id,$class,$style,$owner,$url,$icon,$icon_style) = @_;
|
my ($node_path,$node_name,$main_id,$class,$style,$owner,$url,$icon,$icon_style) = @_;
|
||||||
my $debug = $main_id if($owner && $owner eq $varenv{superu_id});
|
my $debug = $main_id if($owner && $owner eq $varenv{superu_id});
|
||||||
my $image = "<img src='$icon' style='$icon_style' />" if($icon) || "";
|
my $button = "<li><a onmousedown='WhichButton(event,\"$url\");' class='$class' style='$style' title='$debug' href='$node_path'>$node_name</a></li>";
|
||||||
my $button = "<li><a onmousedown='WhichButton(event,\"$url\");' class='$class' style='$style' title='$debug' href='$node_path'>$image $node_name</a></li>";
|
|
||||||
return $button;
|
return $button;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -278,51 +278,6 @@ sub selector_class(){
|
||||||
return $selret;
|
return $selret;
|
||||||
}
|
}
|
||||||
|
|
||||||
# select tag by id and class onChange
|
|
||||||
sub selector_byidclass(){
|
|
||||||
my $self = shift;
|
|
||||||
my ($column,$byid,$class,$style,$sel,@selval) = @_;
|
|
||||||
|
|
||||||
my @selopt = ();
|
|
||||||
foreach my $opt (@selval){
|
|
||||||
my $id = $opt;
|
|
||||||
my $value = $opt;
|
|
||||||
($id,$value) = split /:/,$opt if($opt =~ /\w+\:.*/);
|
|
||||||
if($sel && $sel eq $id){
|
|
||||||
push @selopt, "<option selected value=\"$id\">$value</option>\n";
|
|
||||||
}else{
|
|
||||||
push @selopt, "<option value=\"$id\">$value</option>\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#my $selret = "<select id='$byid' class='$class' style='$style' name='$column' onChange='day_mod_save(this)'>@selopt</select>\n";
|
|
||||||
my $selret = "<select id='$byid' class='$class' style='$style' name='$column'>@selopt</select>\n";
|
|
||||||
return $selret;
|
|
||||||
}
|
|
||||||
|
|
||||||
# select onChange
|
|
||||||
sub userselector_onchange(){
|
|
||||||
my $self = shift;
|
|
||||||
my $key = shift;
|
|
||||||
my $selected = shift;
|
|
||||||
my $users_all = shift;
|
|
||||||
my $admin_name = shift || "";
|
|
||||||
my $class = shift || "";
|
|
||||||
my $style = shift || "";
|
|
||||||
|
|
||||||
my @selopt = ();
|
|
||||||
foreach my $c_id (sort { $users_all->{$a}->{txt08} cmp $users_all->{$b}->{txt08} } keys (%$users_all)){
|
|
||||||
#print $c_id . "|" . $users_all->{$c_id}->{txt08} . "\n";
|
|
||||||
$users_all->{$c_id}->{txt08} .= " (Ferien)" if($users_all->{$c_id}->{txt08} eq $admin_name);
|
|
||||||
if($selected eq $c_id){
|
|
||||||
push @selopt, "<option selected value='$c_id'>$users_all->{$c_id}->{txt08}</option>\n";
|
|
||||||
}else{
|
|
||||||
push @selopt, "<option value='$c_id'>$users_all->{$c_id}->{txt08}</option>\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
my $selret = "<select class='$class' style='$style' name='$key' onChange='select_option(this)'>\n@selopt</select>\n";
|
|
||||||
return $selret;
|
|
||||||
}
|
|
||||||
|
|
||||||
# select2 tag
|
# select2 tag
|
||||||
sub selector2(){
|
sub selector2(){
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
@ -348,63 +303,6 @@ sub selector2(){
|
||||||
return $selret;
|
return $selret;
|
||||||
}
|
}
|
||||||
|
|
||||||
# select3 tag with id:value
|
|
||||||
sub selector3(){
|
|
||||||
my $self = shift;
|
|
||||||
my $tbl_columne = shift;
|
|
||||||
my $width = shift;
|
|
||||||
my $height = shift;
|
|
||||||
my $sel = shift;
|
|
||||||
my @selval = @_;
|
|
||||||
|
|
||||||
my @selopt = ();
|
|
||||||
foreach my $opt (@selval){
|
|
||||||
my $id = $opt;
|
|
||||||
my $value = $opt;
|
|
||||||
($id,$value) = split /:/,$opt if($opt =~ /\d\:.*/);
|
|
||||||
#print "$sel =~ /\w+/ && $sel =~ /$id|$value/)<br>";
|
|
||||||
if($sel && "$sel" =~ /$id|$value/){
|
|
||||||
push @selopt, "<option selected value=\"$id:$value,\">$value</option>\n";
|
|
||||||
}else{
|
|
||||||
push @selopt, "<option value=\"$id:$value,\">$value</option>\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
my $multiple = "";
|
|
||||||
$multiple = "multiple" if($height > 1);
|
|
||||||
my $selret = "<select $multiple class=\"eselect_multiple\" style=\"width:$width\" size=$height name=\"$tbl_columne\" >\n@selopt</select>\n";
|
|
||||||
return $selret;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#with onchange event
|
|
||||||
sub selector_onchange(){
|
|
||||||
my $self = shift;
|
|
||||||
my $key = shift;
|
|
||||||
my $width = shift;
|
|
||||||
my $path = shift;
|
|
||||||
my $jscript = shift;
|
|
||||||
my $sel = shift;
|
|
||||||
my $todo = shift;
|
|
||||||
my @selval = @_;
|
|
||||||
|
|
||||||
my @selopt = ();
|
|
||||||
foreach my $opt (@selval){
|
|
||||||
my $id = $opt;
|
|
||||||
my $value = $opt;
|
|
||||||
($id,$value) = split /:/,$opt if($opt =~ /\d\:.*/);
|
|
||||||
my $rid = "$id";
|
|
||||||
$rid = "$path?change_login=$value" if($todo eq "change_login");
|
|
||||||
$rid = "$value?$path\&$key=$id" if($key =~ /set_main_id/);
|
|
||||||
if("$sel" eq "$id"){
|
|
||||||
push @selopt, "<option selected value=\"$rid\">$value</option>\n";
|
|
||||||
}else{
|
|
||||||
push @selopt, "<option value=\"$rid\">$value</option>\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
my $selret = "<a><select class=\"eselect\" style=\"width:$width\" size=1 name=\"$key\" onChange=\"$jscript go2select(this)\">@selopt</select></a>\n";
|
|
||||||
return $selret;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub checkbox_style() {
|
sub checkbox_style() {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my ($sid_key,$dialog) = @_;
|
my ($sid_key,$dialog) = @_;
|
||||||
|
|
|
@ -117,7 +117,6 @@ sub update_operatorsloop {
|
||||||
my $adrc_id = shift || 0;
|
my $adrc_id = shift || 0;
|
||||||
my $todo = shift || "update";
|
my $todo = shift || "update";
|
||||||
|
|
||||||
use DBI::Const::GetInfoType;
|
|
||||||
my $authref = {
|
my $authref = {
|
||||||
table => "contentadr",
|
table => "contentadr",
|
||||||
fetch => "one",
|
fetch => "one",
|
||||||
|
@ -189,7 +188,63 @@ sub update_operatorsloop {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $rows;
|
return $rows;
|
||||||
}
|
}#end update_operatorsloop
|
||||||
|
|
||||||
|
|
||||||
|
#CMS-Texte sync primary to operators
|
||||||
|
sub operators_cms {
|
||||||
|
my $self = shift;
|
||||||
|
my $dbname = shift || "";
|
||||||
|
my $c_id = shift || 0;
|
||||||
|
my $todo = shift || "update";
|
||||||
|
|
||||||
|
my $cmsref = {
|
||||||
|
table => "contentuser",
|
||||||
|
fetch => "one",
|
||||||
|
template_id => "194",
|
||||||
|
c_id => "$c_id",
|
||||||
|
};
|
||||||
|
my $dbh_primary = $self->dbconnect_extern($self->{primary}->{sharee_primary}->{database}->{dbname});
|
||||||
|
my $record_primary = { c_id => 0 };
|
||||||
|
$record_primary = $self->fetch_record($dbh_primary,$cmsref) if($c_id && $c_id >= 1000);
|
||||||
|
|
||||||
|
my $rows = 0;
|
||||||
|
if($record_primary->{c_id}){
|
||||||
|
|
||||||
|
while (my ($key, $op_name) = each %{ $self->{operator} }) {
|
||||||
|
if($op_name->{database}->{dbname}){
|
||||||
|
my $sharee_operator = $op_name->{database}->{dbname};
|
||||||
|
my $dbh_operator = $self->dbconnect_extern($sharee_operator);
|
||||||
|
if($todo eq "update"){
|
||||||
|
$bw->log("UPDATE CMS operator $sharee_operator",$record_primary,"");
|
||||||
|
my $update = {
|
||||||
|
%$record_primary,
|
||||||
|
table => "contentuser",
|
||||||
|
};
|
||||||
|
|
||||||
|
$rows = $self->update_record($dbh_operator,$update,$record_primary);
|
||||||
|
if($rows != 1){
|
||||||
|
my $insert = {
|
||||||
|
%$record_primary,
|
||||||
|
table => "contentuser",
|
||||||
|
mtime => 'now()',
|
||||||
|
};
|
||||||
|
|
||||||
|
my $c_id = $self->insert_contentoid($dbh_operator,$insert,"");
|
||||||
|
$rows = 1 if($c_id);
|
||||||
|
|
||||||
|
}
|
||||||
|
}elsif($todo eq "delete"){
|
||||||
|
$bw->log("DELETE CMS operator $sharee_operator",$record_primary,"");
|
||||||
|
$rows += $self->delete_content($dbh_operator,"contentuser",$record_primary->{c_id});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return $rows;
|
||||||
|
}#end operators_cms
|
||||||
|
|
||||||
|
|
||||||
#return system and contentadr username by c_id (owner last change)
|
#return system and contentadr username by c_id (owner last change)
|
||||||
sub sys_username {
|
sub sys_username {
|
||||||
|
@ -698,7 +753,10 @@ sub fetch_cms {
|
||||||
$langfield = "txt01" if($lang eq "de");
|
$langfield = "txt01" if($lang eq "de");
|
||||||
$langfield = "txt02" if($lang eq "en");
|
$langfield = "txt02" if($lang eq "en");
|
||||||
$langfield = "txt03" if($lang eq "fr");
|
$langfield = "txt03" if($lang eq "fr");
|
||||||
my $sql = "SELECT ct_name, coalesce($langfield, txt02, txt01) AS txt FROM contentuser, relation where template_id=194 and c_id=content_id";
|
|
||||||
|
my $wand = "";
|
||||||
|
$wand = "and ct_name like '$fetch->{ct_name}%'" if($fetch->{ct_name});
|
||||||
|
my $sql = "SELECT ct_name, coalesce($langfield, txt02, txt01) AS txt FROM contentuser, relation where template_id=194 and c_id=content_id $wand";
|
||||||
my $sth = $dbh->prepare($sql);
|
my $sth = $dbh->prepare($sql);
|
||||||
my $rc = $sth->execute();
|
my $rc = $sth->execute();
|
||||||
|
|
||||||
|
|
|
@ -431,6 +431,16 @@ sub handler {
|
||||||
$return = $pl->set_accounting2invoice($q,$users_dms,$R::c_id4trans,$R::set_main_id4workflow) if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans) && looks_like_number($R::set_main_id4workflow));
|
$return = $pl->set_accounting2invoice($q,$users_dms,$R::c_id4trans,$R::set_main_id4workflow) if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans) && looks_like_number($R::set_main_id4workflow));
|
||||||
}elsif($R::ct_trans =~ /save_text|save_adr/){
|
}elsif($R::ct_trans =~ /save_text|save_adr/){
|
||||||
$feedb = $pl->save_text2contenttrans($q,$users_dms,$R::c_id4trans) if(looks_like_number($R::c_id4trans));
|
$feedb = $pl->save_text2contenttrans($q,$users_dms,$R::c_id4trans) if(looks_like_number($R::c_id4trans));
|
||||||
|
}elsif($R::ct_trans =~ /email_generate/){
|
||||||
|
#TODO
|
||||||
|
my $sendref = $pl->prepare_email({},{ txt08 => 'xxxx@sharee.bike' }, {}, $varenv{cms}->{$R::email_select}->{txt});
|
||||||
|
#print Dumper($sendref);
|
||||||
|
my $email_body = $q->unescapeHTML($sendref->{message});
|
||||||
|
$email_body =~ s/\r\n/\%0A/g;
|
||||||
|
$email_body =~ s/\n/\%0A/g;
|
||||||
|
#print "$email_body";
|
||||||
|
print redirect("mailto:$sendref->{mail_to}?subject=$sendref->{subject}\&body=$email_body");
|
||||||
|
exit 0;
|
||||||
}elsif($R::detail_search && $R::detail_search eq "operator_accounting"){
|
}elsif($R::detail_search && $R::detail_search eq "operator_accounting"){
|
||||||
my $ck4ex = "@R::ck4ex" || "";
|
my $ck4ex = "@R::ck4ex" || "";
|
||||||
$return = $pl->operator_accounting($q,$users_dms,$users_sharee,$R::accounting_type,$ck4ex);
|
$return = $pl->operator_accounting($q,$users_dms,$users_sharee,$R::accounting_type,$ck4ex);
|
||||||
|
|
|
@ -86,13 +86,6 @@ sub mail_transport(){
|
||||||
$subject = "* offline Test * " . $sendref->{subject};
|
$subject = "* offline Test * " . $sendref->{subject};
|
||||||
}
|
}
|
||||||
|
|
||||||
#TODO procmail
|
|
||||||
#Should not used for now by standard invoicing. We will set it only by Zahlungserinnerung/Mahnung.
|
|
||||||
#Keep in mind, copri mailing will be done by cron or manually by fibu-user
|
|
||||||
my $sharee_ticket = "";
|
|
||||||
$sharee_ticket = " [SID " . $1 . "]" if($sendref->{attachment} =~ /([a-z0-9]+\-\d+)\./ && $mail_bcc);
|
|
||||||
$subject .= $sharee_ticket if($sharee_ticket);
|
|
||||||
|
|
||||||
print EMA "\n$now_dt, start mailing to: $mail_to | subject: $subject\n";
|
print EMA "\n$now_dt, start mailing to: $mail_to | subject: $subject\n";
|
||||||
print EMA "attachment: $pdfpath/$sendref->{attachment} | filesize: $filesize\n";
|
print EMA "attachment: $pdfpath/$sendref->{attachment} | filesize: $filesize\n";
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ sub mobox(){
|
||||||
my $lang = "de";
|
my $lang = "de";
|
||||||
my $dbh = "";
|
my $dbh = "";
|
||||||
|
|
||||||
if($users_dms->{kind_of_trans} && looks_like_number($users_dms->{c_id4trans}) && looks_like_number($users_dms->{tpl_id4trans})){
|
if(looks_like_number($users_dms->{c_id4trans}) && looks_like_number($users_dms->{tpl_id4trans})){
|
||||||
my $width = $node_meta->{tpl_width} || "990";
|
my $width = $node_meta->{tpl_width} || "990";
|
||||||
my $bg_color = "white";
|
my $bg_color = "white";
|
||||||
my $bg_color2 = "#f7ae37" || "";
|
my $bg_color2 = "#f7ae37" || "";
|
||||||
|
@ -100,15 +100,15 @@ print<<EOF
|
||||||
EOF
|
EOF
|
||||||
;
|
;
|
||||||
|
|
||||||
print "<div id='dialog-form' style='text-align:center;margin:0;padding:2px;max-width:1200px;' title='Terminal – $users_dms->{kind_of_trans} $debug'>";
|
print "<div id='dialog-form' style='text-align:center;margin:0;padding:2px;max-width:1200px;' title='Terminal – Faktura $debug'>";
|
||||||
|
|
||||||
if($users_dms->{kind_of_trans} && looks_like_number($users_dms->{c_id4trans}) && looks_like_number($users_dms->{tpl_id4trans})){
|
if(looks_like_number($users_dms->{c_id4trans}) && looks_like_number($users_dms->{tpl_id4trans})){
|
||||||
if($table eq "contenttrans" && $varenv{orga} eq "dms"){
|
if($table eq "contenttrans" && $varenv{orga} eq "dms"){
|
||||||
require "Tpl/Address3.pm";
|
require "Tpl/Address3.pm";
|
||||||
&Address3::tpl($node_meta,$users_dms,$return);
|
&Address3::tpl($node_meta,$users_dms,$return);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
print $q->div({-style=>"padding:0.1em;margin:0em;background-color:white;font-size:0.81em;"}, "Ein neues Formular kann im COPRI Hauptfenster geöffnet werden (Code: $users_dms->{kind_of_trans} && $users_dms->{c_id4trans} && $users_dms->{tpl_id4trans})",
|
print $q->div({-style=>"padding:0.1em;margin:0em;background-color:white;font-size:0.81em;"}, "Ein neues Formular kann im COPRI Hauptfenster geöffnet werden (Code: $users_dms->{c_id4trans} && $users_dms->{tpl_id4trans})",
|
||||||
"\n");
|
"\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -288,6 +288,7 @@ sub save_content {
|
||||||
|
|
||||||
if($ct->{c_id}){
|
if($ct->{c_id}){
|
||||||
$feedb->{u_rows} += $dbt->update_record($dbh,$update_ct,$ct);
|
$feedb->{u_rows} += $dbt->update_record($dbh,$update_ct,$ct);
|
||||||
|
$dbt->operators_cms($node_meta->{ct_table},$c_id,"update") if($node_meta->{template_id} == 194);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $feedb;
|
return $feedb;
|
||||||
|
@ -326,11 +327,12 @@ sub delete_content {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $node_meta = shift || "";
|
my $node_meta = shift || "";
|
||||||
my $c_id = shift || "";
|
my $c_id = shift || "";
|
||||||
my $users_dms = shift;
|
my $users_dms = shift || "";
|
||||||
my $dbh = "";
|
my $dbh = "";
|
||||||
my $feedb = { d_rows => 0,message => "" };
|
my $feedb = { d_rows => 0,message => "" };
|
||||||
|
|
||||||
if($node_meta->{ct_table},$c_id){
|
if($node_meta->{ct_table},$c_id){
|
||||||
|
$dbt->operators_cms($node_meta->{ct_table},$c_id,"delete") if($node_meta->{template_id} == 194);
|
||||||
$feedb->{d_rows} = $dbt->delete_content($dbh,$node_meta->{ct_table},$c_id);
|
$feedb->{d_rows} = $dbt->delete_content($dbh,$node_meta->{ct_table},$c_id);
|
||||||
}
|
}
|
||||||
return $feedb;
|
return $feedb;
|
||||||
|
@ -1477,5 +1479,49 @@ sub export_csv {
|
||||||
return $feedb;
|
return $feedb;
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
#prepare email by cms markup
|
||||||
|
#also done in mailTransportcms
|
||||||
|
sub prepare_email {
|
||||||
|
my $self = shift;
|
||||||
|
my $sendref = shift;
|
||||||
|
my $ctadr = shift;
|
||||||
|
my $ctt = shift || {};
|
||||||
|
my $cms_prim = shift;
|
||||||
|
|
||||||
|
my $app_name = "Mietrad App";
|
||||||
|
$app_name = $dbt->{operator}->{$varenv{dbname}}->{app_name};
|
||||||
|
my $invoice_name = "";
|
||||||
|
my $sharee_ticket = "";
|
||||||
|
if(ref($ctt) eq "HASH" && $ctt->{ct_name}){
|
||||||
|
$invoice_name = "$ctt->{txt00}-$varenv{dbname}-$ctt->{ct_name}.pdf";
|
||||||
|
$sendref->{attachment} = "$invoice_name";
|
||||||
|
$sharee_ticket = "[$varenv{dbname}-$ctt->{ct_name}]";
|
||||||
|
}
|
||||||
|
|
||||||
|
my $subject = "TeilRad Mietradsystem";#default
|
||||||
|
$subject = $1 if($cms_prim =~ /--subject--(.*)--subject--/);
|
||||||
|
$subject .= " $sharee_ticket" if($sharee_ticket);
|
||||||
|
$cms_prim =~ s/--subject--$subject--subject--//;
|
||||||
|
$cms_prim =~ s/\n//;
|
||||||
|
$cms_prim =~ s/\n//;
|
||||||
|
|
||||||
|
|
||||||
|
$sendref->{mail_to} = $ctadr->{txt08};
|
||||||
|
$sendref->{c_id} = $ctadr->{c_id};
|
||||||
|
$sendref->{subject} = $subject;
|
||||||
|
$sendref->{subject} =~ s/::app_name::/$app_name/;
|
||||||
|
$sendref->{subject} =~ s/Mein // if($sendref->{subject} =~ /^Mein/);
|
||||||
|
|
||||||
|
$sendref->{message} = $cms_prim;
|
||||||
|
$sendref->{message} =~ s/::user_name::/$ctadr->{txt01}/;
|
||||||
|
$sendref->{message} =~ s/::app_name::/$app_name/g;
|
||||||
|
$sendref->{message} =~ s/::invoice_name::/$invoice_name/ if($invoice_name);
|
||||||
|
$sendref->{message} =~ s/::txid::/$ctt->{txt16}/;
|
||||||
|
$sendref->{message} =~ s/::email_temppassword::/\<b\>$ctadr->{txt04}\<\/b\>/g;
|
||||||
|
$sendref->{message} =~ s/::email_ack_digest::/\<b\>$ctadr->{txt34}\<\/b\>/g;#send_emailack
|
||||||
|
#$sendref->{message} =~ s/\n/\<br \/\>/g;
|
||||||
|
|
||||||
|
return $sendref;
|
||||||
|
}#end prepare_content
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
|
@ -102,8 +102,6 @@ sub preinit(){
|
||||||
my $ctt = $db->get_content1($table,$R::c_id4trans);
|
my $ctt = $db->get_content1($table,$R::c_id4trans);
|
||||||
my $buchen_mtime = $lb->time4de($ctt->{mtime});
|
my $buchen_mtime = $lb->time4de($ctt->{mtime});
|
||||||
|
|
||||||
#actual-path an get right mandant for verkauf
|
|
||||||
$R::kind_of_trans = $R::kind_of_trans || $users_dms->{kind_of_trans};
|
|
||||||
my $mandant_main_id = 100002;
|
my $mandant_main_id = 100002;
|
||||||
my $parent_trans = $db->get_node3("$mandant_main_id","Faktura","$lang") if($mandant_main_id);
|
my $parent_trans = $db->get_node3("$mandant_main_id","Faktura","$lang") if($mandant_main_id);
|
||||||
|
|
||||||
|
@ -139,10 +137,10 @@ sub preinit(){
|
||||||
|
|
||||||
|
|
||||||
#OPEN/CLOSE
|
#OPEN/CLOSE
|
||||||
if(($R::ct_trans eq "open") && ("$R::kind_of_trans" !~ /Kalender|Mietjournal/)){
|
if($R::ct_trans eq "open"){
|
||||||
$db->update_users4trans($R::c_id4trans,$R::tpl_id4trans,$R::kind_of_trans,$users_dms->{u_id});
|
$db->update_users4trans($R::c_id4trans,$R::tpl_id4trans,"",$users_dms->{u_id});
|
||||||
$users_dms = $db->select_users($users_dms->{u_id});
|
$users_dms = $db->select_users($users_dms->{u_id});
|
||||||
}elsif(($R::ct_trans eq "close") && ("$R::kind_of_trans" !~ /Kalender|Mietjournal/)){
|
}elsif($R::ct_trans eq "close"){
|
||||||
$db->update_users4trans("0","0","",$users_dms->{u_id});
|
$db->update_users4trans("0","0","",$users_dms->{u_id});
|
||||||
$users_dms = $db->select_users($users_dms->{u_id});
|
$users_dms = $db->select_users($users_dms->{u_id});
|
||||||
}
|
}
|
||||||
|
@ -170,14 +168,7 @@ sub preinit(){
|
||||||
$db->update_content4change($table,$c_idnew,"",$parent_trans->{parent_id},"int09");#mandant_main_id
|
$db->update_content4change($table,$c_idnew,"",$parent_trans->{parent_id},"int09");#mandant_main_id
|
||||||
$db->update_content4change($table,$c_idnew,"",$node->{main_id},"int12");#zusätzl. Formtyp
|
$db->update_content4change($table,$c_idnew,"",$node->{main_id},"int12");#zusätzl. Formtyp
|
||||||
$db->update_content4change($table,$c_idnew,"",$node->{node_name},"txt00");#node_name
|
$db->update_content4change($table,$c_idnew,"",$node->{node_name},"txt00");#node_name
|
||||||
$db->update_content4change($table,$c_idnew,"",$today4db,"start_time") if($R::kind_of_trans =~ /Faktur|Verleih/);
|
$db->update_users4trans($c_idnew,$R::tpl_id4trans,"",$users_dms->{u_id});
|
||||||
$db->update_content4change($table,$c_idnew,"",$today4db,"end_time") if($R::kind_of_trans =~ /Faktur|Verleih/);
|
|
||||||
$db->update_users4trans($c_idnew,$R::tpl_id4trans,$R::kind_of_trans,$users_dms->{u_id}) if("$R::kind_of_trans" !~ /Kalender|Mietjournal/);
|
|
||||||
if($ib_key eq "new_trans"){
|
|
||||||
$db->update_content4change($table,$c_idnew,"","txt63","txt21");#Text-1
|
|
||||||
$db->update_content4change($table,$c_idnew,"","Barkunde","txt01") if($varenv{wwwhost} =~ /lx-rad/);
|
|
||||||
$db->update_content4change($table,$c_idnew,"","txt61,txt63","txt21") if($R::kind_of_trans =~ /Faktur|Verleih/);#Text-3
|
|
||||||
}
|
|
||||||
}else{
|
}else{
|
||||||
return "failure::Fehler, Datensatz kann nicht angelegt werden weil folgende Informationen fehlen: ($main_id)";
|
return "failure::Fehler, Datensatz kann nicht angelegt werden weil folgende Informationen fehlen: ($main_id)";
|
||||||
}
|
}
|
||||||
|
@ -230,36 +221,8 @@ sub preinit(){
|
||||||
#print "@keywords ";
|
#print "@keywords ";
|
||||||
if($ib_key =~ /save/){
|
if($ib_key =~ /save/){
|
||||||
$c_id = $R::c_id if($ib_key eq "save");#only in journal edit
|
$c_id = $R::c_id if($ib_key eq "save");#only in journal edit
|
||||||
$db->users_up("c_id4edit","0","$users_dms->{u_id}");#delete edit marker
|
|
||||||
my $table = "contenttrans";
|
my $table = "contenttrans";
|
||||||
#Maybe obsolete, because of ajax autosave --> for now back to old
|
if($ib_key eq "save_adr" || $ib_key =~ /save_text/){
|
||||||
#print "$ib_key|$R::ct_trans2c_idadr|$R::c_idadr";
|
|
||||||
if($ib_key eq "save_adr" && $R::ct_trans2c_idadr eq "save_contentadr" && $R::c_idadr =~ /^\d+$/){
|
|
||||||
$table = "contentadr";
|
|
||||||
$c_id = "$R::c_idadr";
|
|
||||||
}elsif($ib_key eq "save_adr" && $R::ct_trans2c_idadr eq "save_contentadr"){
|
|
||||||
# #like new_adr in Premain.pm
|
|
||||||
$table = "contentadr";
|
|
||||||
my $foreign_key="ca_id";
|
|
||||||
my $barcode_last = $db->get_barcode("users","$table");#hier gilt: $table=column in users
|
|
||||||
my $freenr = $lb->get_freenr($table,$barcode_last->{$table});
|
|
||||||
($ct_name,$barcode) = $lb->barcodeable($table,$freenr);#new nr routine
|
|
||||||
if($barcode){
|
|
||||||
$db->users_up("$table","$barcode",$users_dms->{u_id});
|
|
||||||
}else{
|
|
||||||
return "failure::Fehler, neue Nummer kann nicht generiert werden";
|
|
||||||
}
|
|
||||||
if($users_dms->{kind_of_trans}){
|
|
||||||
$rel = $db->get_rel4tpl("200011",$lang);
|
|
||||||
$c_idnew = $db->insert_content2($table,$ct_name,$users_dms->{u_id},"");
|
|
||||||
$i_rows += 1 if($c_idnew > 0);
|
|
||||||
$db->update_barcode($table,$c_idnew,$ct_name,$barcode);
|
|
||||||
my $rel_id = $db->insert_relationlist($table,$rel->{main_id},$lang,$c_idnew,$rel->{tpl_id},$foreign_key);
|
|
||||||
$c_id = $c_idnew; #for contenadr update
|
|
||||||
$R::c_idadr = $c_idnew; #for copy contentadr to contenttrans
|
|
||||||
}
|
|
||||||
#Freitext oder nur in contentrans speichern
|
|
||||||
}elsif($ib_key eq "save_adr" || $ib_key =~ /save_text/){
|
|
||||||
$table = "contenttrans";
|
$table = "contenttrans";
|
||||||
$c_id = "$R::c_id4trans";
|
$c_id = "$R::c_id4trans";
|
||||||
}elsif($ib_key eq "save_pos"){
|
}elsif($ib_key eq "save_pos"){
|
||||||
|
@ -428,9 +391,9 @@ sub preinit(){
|
||||||
#differenz, es wird nur der zuwachs verwendet
|
#differenz, es wird nur der zuwachs verwendet
|
||||||
$ct_exist2->{$_} = 0 if(!$ct_exist2->{$_});
|
$ct_exist2->{$_} = 0 if(!$ct_exist2->{$_});
|
||||||
$add_menge = - $ct_exist2->{$_} + $intxx if($op eq "+");
|
$add_menge = - $ct_exist2->{$_} + $intxx if($op eq "+");
|
||||||
my $rows = $db->update_content4comp("contenttranspos",$R::ct_name,$R::c_idpos,"$op","$add_menge","$R::kind_of_trans");
|
my $rows = $db->update_content4comp("contenttranspos",$R::ct_name,$R::c_idpos,"$op","$add_menge","");
|
||||||
if($rows){
|
if($rows){
|
||||||
$u_rows += $db->update_content4comp("content",$R::ct_name,"$R::cc_id","-","$add_menge","$R::kind_of_trans","$ct_exist2->{txt12}");
|
$u_rows += $db->update_content4comp("content",$R::ct_name,"$R::cc_id","-","$add_menge","","");
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
$u_rows +=$db->updater("$table","c_id",$c_id,"$_","$valxx");
|
$u_rows +=$db->updater("$table","c_id",$c_id,"$_","$valxx");
|
||||||
|
@ -498,7 +461,7 @@ sub preinit(){
|
||||||
$d_rows += $db->delete_content("$table","$pos_id");
|
$d_rows += $db->delete_content("$table","$pos_id");
|
||||||
$db->users_up("ctpos_activ","0",$users_dms->{u_id}) if("$pos_id" eq "$users_dms->{ctpos_activ}");
|
$db->users_up("ctpos_activ","0",$users_dms->{u_id}) if("$pos_id" eq "$users_dms->{ctpos_activ}");
|
||||||
$ct_name = $1 if($R::ct_name =~ /^(\d+)/);
|
$ct_name = $1 if($R::ct_name =~ /^(\d+)/);
|
||||||
$u_rows += $db->update_content4comp("content",$ct_name,"$cttpos->{cc_id}","+","$cttpos->{int03}","$R::kind_of_trans","$cttpos->{txt12}");
|
$u_rows += $db->update_content4comp("content",$ct_name,"$cttpos->{cc_id}","+","$cttpos->{int03}","","");
|
||||||
}
|
}
|
||||||
###
|
###
|
||||||
|
|
||||||
|
|
|
@ -307,7 +307,7 @@ sub counting_rental {
|
||||||
$return->{rentalog}->{used_methode} = "$used_methode";
|
$return->{rentalog}->{used_methode} = "$used_methode";
|
||||||
$return->{rentalog}->{counting} = $counting;
|
$return->{rentalog}->{counting} = $counting;
|
||||||
|
|
||||||
#$bw->log("Pricing counting_rental return:",$return,"");
|
$bw->log("Pricing counting_rental return:",$return,"");
|
||||||
return ($return,$counting);
|
return ($return,$counting);
|
||||||
}#end counting_rental
|
}#end counting_rental
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,7 @@ sub tpl(){
|
||||||
c_id => $users_dms->{c_id4trans},
|
c_id => $users_dms->{c_id4trans},
|
||||||
};
|
};
|
||||||
$ctt = $dbt->fetch_record($dbh,$pref);
|
$ctt = $dbt->fetch_record($dbh,$pref);
|
||||||
|
my $praefix = "$ctt->{txt00}-$varenv{praefix}";
|
||||||
my $warn_time = $ctt->{warn_time} || "";
|
my $warn_time = $ctt->{warn_time} || "";
|
||||||
$warn_time = $lb->time4de($warn_time,0) if($warn_time);
|
$warn_time = $lb->time4de($warn_time,0) if($warn_time);
|
||||||
|
|
||||||
|
@ -149,10 +150,10 @@ EOF
|
||||||
$journalhead = "<br /><span style='color:silver;font-size:0.81em;'>Journal</span>" if($ctt->{template_id} == 209);
|
$journalhead = "<br /><span style='color:silver;font-size:0.81em;'>Journal</span>" if($ctt->{template_id} == 209);
|
||||||
$set_main_id=$main_id if($ctt->{main_id} > "300000");
|
$set_main_id=$main_id if($ctt->{main_id} > "300000");
|
||||||
print $q->hidden(-name=>'set_main_id', -override=>'1', -value=>"$set_main_id");
|
print $q->hidden(-name=>'set_main_id', -override=>'1', -value=>"$set_main_id");
|
||||||
print $q->span({-style=>'margin:0em 0.5em 0 0.5em;padding:0.5em 3em;background-color:white;border:solid thin gray;position:absolute;left:3px;'}, "$ctt->{txt00} $journalhead");
|
print $q->span({-style=>'margin:0em 0.5em 0 0.5em;padding:0.2em 1em;background-color:white;border:solid thin gray;position:absolute;left:3px;'}, "$ctt->{txt00} $varenv{praefix}-$ctt->{ct_name} $journalhead");
|
||||||
|
|
||||||
print "<span style='margin:0 0.2em;position:absolute;left:180px;'>\n";
|
print "<span style='margin:0 0.2em;position:absolute;left:280px;'>\n";
|
||||||
print $q->b({-style=>'padding:0 1em;'}, "\# $ctt->{ct_name}"), "\n";
|
#print $q->b({-style=>'padding:0 1em;'}, "\# $ctt->{ct_name}"), "\n";
|
||||||
if($ctt->{ct_name} =~ /\d+/ && $ctt->{txt00} eq "Storno"){
|
if($ctt->{ct_name} =~ /\d+/ && $ctt->{txt00} eq "Storno"){
|
||||||
print $but->singlesubmit3("ct_trans","set_workflow2invoice","","",""),"\n";
|
print $but->singlesubmit3("ct_trans","set_workflow2invoice","","",""),"\n";
|
||||||
print $q->hidden(-name=>'set_main_id4workflow', -override=>'1', -value=>"300008"), "\n";
|
print $q->hidden(-name=>'set_main_id4workflow', -override=>'1', -value=>"300008"), "\n";
|
||||||
|
@ -168,7 +169,6 @@ EOF
|
||||||
|
|
||||||
print "</span>\n";
|
print "</span>\n";
|
||||||
|
|
||||||
my $praefix = "$ctt->{txt00}-$varenv{praefix}";
|
|
||||||
if(!$journalhead && (!looks_like_number($ctt->{int01}) || $ctt->{ct_name} =~ /-/)){
|
if(!$journalhead && (!looks_like_number($ctt->{int01}) || $ctt->{ct_name} =~ /-/)){
|
||||||
print $q->span({-style=>'margin:0 0.2em;position:absolute;right:3px;'}, $but->singlesubmit7("ct_trans","remove_chk4rel","$ib{remove_chk4rel}","")),"\n";
|
print $q->span({-style=>'margin:0 0.2em;position:absolute;right:3px;'}, $but->singlesubmit7("ct_trans","remove_chk4rel","$ib{remove_chk4rel}","")),"\n";
|
||||||
print $q->hidden(-name=>'c_id', -override=>'1', -value=>"$ctt->{content_id}");
|
print $q->hidden(-name=>'c_id', -override=>'1', -value=>"$ctt->{content_id}");
|
||||||
|
@ -178,7 +178,7 @@ EOF
|
||||||
}elsif(looks_like_number($ctt->{int01}) && ! -f "$varenv{basedir}/pdfinvoice/$praefix-$ctt->{ct_name}.pdf"){
|
}elsif(looks_like_number($ctt->{int01}) && ! -f "$varenv{basedir}/pdfinvoice/$praefix-$ctt->{ct_name}.pdf"){
|
||||||
print $q->span({-style=>'margin:0 0.2em;position:absolute;right:3px;'}, $but->singlesubmit3("ct_trans","print_pdf","","","")),"\n";
|
print $q->span({-style=>'margin:0 0.2em;position:absolute;right:3px;'}, $but->singlesubmit3("ct_trans","print_pdf","","","")),"\n";
|
||||||
}
|
}
|
||||||
print $q->span({-style=>'margin:0 0.2em;position:absolute;right:100px;'}, "$buchen_users->{txt01} / $invoice_time "),"\n";
|
print $q->span({-style=>'margin:0 0.2em;padding:0.3em;font-size:0.81em;position:absolute;right:100px;'}, "$buchen_users->{txt01} / $invoice_time "),"\n";
|
||||||
print "</div>\n";
|
print "</div>\n";
|
||||||
|
|
||||||
print $q->hidden(-name=>'owner', -override=>'1', -value=>"$users_dms->{owner}");
|
print $q->hidden(-name=>'owner', -override=>'1', -value=>"$users_dms->{owner}");
|
||||||
|
@ -217,7 +217,7 @@ EOF
|
||||||
$journal = "<span style='color:silver;background-color:white;'>Journal </span>" if($ctt_rel->{$id}->{template_id} == 209);
|
$journal = "<span style='color:silver;background-color:white;'>Journal </span>" if($ctt_rel->{$id}->{template_id} == 209);
|
||||||
my $rel_opos = "";
|
my $rel_opos = "";
|
||||||
$rel_opos = "<span style='color:red'>•</span>" if($ctt_rel->{$id}->{int14});
|
$rel_opos = "<span style='color:red'>•</span>" if($ctt_rel->{$id}->{int14});
|
||||||
print $q->div({-style=>"position:absolute;top:$toppx;right:10px;font-size:0.91em;background-color:$rel_color"}, "$journal ", $q->a({-class=>"linknav",-href=>"/$dbt->{shareedms_conf}->{parent_node}/Faktura/$ctt_rel->{$id}->{node_name}?ct_trans=open\&c_id4trans=$ctt_rel->{$id}->{c_id}\&tpl_id4trans=$ctt_rel->{$id}->{template_id}\&owner=$users_dms->{u_id}",-title=>"Faktura Terminal öffnen"},"[ $rel_opos $ctt_rel->{$id}->{txt00} #$ctt_rel->{$id}->{ct_name} ]")),"\n";
|
print $q->div({-style=>"position:absolute;top:$toppx;right:10px;font-size:0.91em;background-color:$rel_color"}, "$journal ", $q->a({-class=>"linknav",-href=>"/$dbt->{shareedms_conf}->{parent_node}/Faktura/$ctt_rel->{$id}->{node_name}?ct_trans=open\&c_id4trans=$ctt_rel->{$id}->{c_id}\&tpl_id4trans=$ctt_rel->{$id}->{template_id}\&owner=$users_dms->{u_id}",-title=>"Faktura Terminal öffnen"},"[ $rel_opos $ctt_rel->{$id}->{txt00} $varenv{praefix}-$ctt_rel->{$id}->{ct_name} ]")),"\n";
|
||||||
$top += 22;
|
$top += 22;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -310,7 +310,7 @@ sub tpl(){
|
||||||
my $cttrans = $dbt->fetch_record($dbh,$pref);
|
my $cttrans = $dbt->fetch_record($dbh,$pref);
|
||||||
foreach my $id (sort { $cttrans->{$b}->{c_id} <=> $cttrans->{$a}->{c_id} } keys (%$cttrans)){
|
foreach my $id (sort { $cttrans->{$b}->{c_id} <=> $cttrans->{$a}->{c_id} } keys (%$cttrans)){
|
||||||
my $toppx = $top . "px";
|
my $toppx = $top . "px";
|
||||||
print $q->div({-style=>"position:absolute;top:$toppx;right:20px;"}, " TXID $cttrans->{$id}->{txt16} ",$q->span({-style=>"background-color:#f7ae37"},$q->a({-class=>"linknav",-href=>"/$dbt->{shareedms_conf}->{parent_node}/Faktura/$cttrans->{$id}->{node_name}?ct_trans=open\&c_id4trans=$cttrans->{$id}->{c_id}\&tpl_id4trans=$cttrans->{$id}->{template_id}\&kind_of_trans=$users_dms->{kind_of_trans}&owner=$users_dms->{u_id}",-title=>"Faktura Terminal öffnen"},"[ $cttrans->{$id}->{node_name} #$cttrans->{$id}->{ct_name} ]"))),"\n";
|
print $q->div({-style=>"position:absolute;top:$toppx;right:20px;"}, " TXID $cttrans->{$id}->{txt16} ",$q->span({-style=>"background-color:#f7ae37"},$q->a({-class=>"linknav",-href=>"/$dbt->{shareedms_conf}->{parent_node}/Faktura/$cttrans->{$id}->{node_name}?ct_trans=open\&c_id4trans=$cttrans->{$id}->{c_id}\&tpl_id4trans=$cttrans->{$id}->{template_id}\&owner=$users_dms->{u_id}",-title=>"Faktura Terminal öffnen"},"[ $cttrans->{$id}->{node_name} #$cttrans->{$id}->{ct_name} ]"))),"\n";
|
||||||
$top += 22;
|
$top += 22;
|
||||||
}
|
}
|
||||||
}elsif($node_meta->{tpl_id} == 205){
|
}elsif($node_meta->{tpl_id} == 205){
|
||||||
|
|
|
@ -486,7 +486,7 @@ sub tpl(){
|
||||||
}
|
}
|
||||||
|
|
||||||
if($users_dms_primary->{u_id} && $users_dms->{u_id} && $users_dms->{int03} >= 1){
|
if($users_dms_primary->{u_id} && $users_dms->{u_id} && $users_dms->{int03} >= 1){
|
||||||
print $q->div({-style=>'float:left;margin-left:1em;'}, "→ Faktura", $q->a({-class=>"linknav3",-style=>"$trans_style",-href=>"/DMS/Faktura?ct_trans=open\&c_id4trans=$c_id4trans\&tpl_id4trans=$tpl_id4trans\&kind_of_trans=Faktura\&owner=$users_dms->{owner}",-title=>"Faktura Terminal öffnen"},"$opos \#$ct_name")),"\n" if($c_id4trans && $tpl_id4trans);
|
print $q->div({-style=>'float:left;margin-left:1em;'}, "→ Faktura", $q->a({-class=>"linknav3",-style=>"$trans_style",-href=>"/DMS/Faktura?ct_trans=open\&c_id4trans=$c_id4trans\&tpl_id4trans=$tpl_id4trans\&owner=$users_dms->{owner}",-title=>"Faktura Terminal öffnen"},"$opos \#$ct_name")),"\n" if($c_id4trans && $tpl_id4trans);
|
||||||
print $q->div({-style=>'float:left;margin-left:1em;'}, "$user_device"),"\n";
|
print $q->div({-style=>'float:left;margin-left:1em;'}, "$user_device"),"\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -621,7 +621,7 @@ EOF
|
||||||
}
|
}
|
||||||
print $q->td({-class=>'search_line'},$but->selector_class("s_$key","","",$s_val,@s_valxx)),"\n";
|
print $q->td({-class=>'search_line'},$but->selector_class("s_$key","","",$s_val,@s_valxx)),"\n";
|
||||||
|
|
||||||
}elsif($size =~ /select|readonly/ && $key !~ /txt23|txt24/){#txt23=color-code or txt24=Flotten ID select
|
}elsif($size =~ /select|readonly/ && $key !~ /txt23|txt24|int04/){#txt23=color-code or txt24=Flotten ID select
|
||||||
my @s_valxx = ("");
|
my @s_valxx = ("");
|
||||||
my $s_hash = {};
|
my $s_hash = {};
|
||||||
$s_hash = $dbt->{copri_conf}->{lock_state} if($tpl_id == 205 && $key eq "int20");
|
$s_hash = $dbt->{copri_conf}->{lock_state} if($tpl_id == 205 && $key eq "int20");
|
||||||
|
@ -635,7 +635,7 @@ EOF
|
||||||
push @s_valxx, "$s_key:$s_hash->{$s_key}";#[2:unlocked]
|
push @s_valxx, "$s_key:$s_hash->{$s_key}";#[2:unlocked]
|
||||||
}
|
}
|
||||||
if(scalar @s_valxx < 2){
|
if(scalar @s_valxx < 2){
|
||||||
print $q->td({-class=>'search_line',readonly=>},""),"\n";
|
print $q->td({-class=>'search_line',readonly=>1},""),"\n";
|
||||||
}else{
|
}else{
|
||||||
print $q->td({-class=>'search_line'},$but->selector_class("s_$key","","",$s_val,@s_valxx)),"\n";
|
print $q->td({-class=>'search_line'},$but->selector_class("s_$key","","",$s_val,@s_valxx)),"\n";
|
||||||
}
|
}
|
||||||
|
@ -959,7 +959,7 @@ EOF
|
||||||
if($table =~ /contenttrans|contenttver/){
|
if($table =~ /contenttrans|contenttver/){
|
||||||
my $opos = "";
|
my $opos = "";
|
||||||
$opos = "<span style='color:red'>•</span>" if($ct4rel->{$id}->{int14});
|
$opos = "<span style='color:red'>•</span>" if($ct4rel->{$id}->{int14});
|
||||||
print $q->td({-class=>'tdint',-style=>"font-weight:normal;$set_style4nr", -nowrap=>1},$q->a({-class=>"linknav3",-href=>"?ct_trans=open\&mode=manager\&c_id4trans=$ct4rel->{$id}->{c_id}\&tpl_id4trans=$ct4rel->{$id}->{template_id}\&kind_of_trans=$node_meta->{node_name}\&owner=$users_dms->{u_id}\&offset=$searchref->{offset}\&limit=$searchref->{limit}",-title=>"Terminal öffnen"},"$opos $ct4rel->{$id}->{$key}"));
|
print $q->td({-class=>'tdint',-style=>"font-weight:normal;$set_style4nr", -nowrap=>1},$q->a({-class=>"linknav3",-href=>"?ct_trans=open\&mode=manager\&c_id4trans=$ct4rel->{$id}->{c_id}\&tpl_id4trans=$ct4rel->{$id}->{template_id}\&owner=$users_dms->{u_id}\&offset=$searchref->{offset}\&limit=$searchref->{limit}",-title=>"Terminal öffnen"},"$opos $ct4rel->{$id}->{$key}"));
|
||||||
}elsif($table =~ /content$|contentadr|contentnel/){
|
}elsif($table =~ /content$|contentadr|contentnel/){
|
||||||
print $q->td({-class=>"tdint",-style=>"font-weight:normal;$set_style4nr"},$q->a({-class=>"linknav3",-href=>"?node2edit=editpart\&mode=manager\&rel_id=$ct4rel->{$id}->{rel_id}\&offset=$searchref->{offset}\&limit=$searchref->{limit}",-title=>"Terminal öffnen"},"$ct4rel->{$id}->{$key}")),"\n";
|
print $q->td({-class=>"tdint",-style=>"font-weight:normal;$set_style4nr"},$q->a({-class=>"linknav3",-href=>"?node2edit=editpart\&mode=manager\&rel_id=$ct4rel->{$id}->{rel_id}\&offset=$searchref->{offset}\&limit=$searchref->{limit}",-title=>"Terminal öffnen"},"$ct4rel->{$id}->{$key}")),"\n";
|
||||||
}elsif(($node_meta->{tpl_order} !~ /barcode/) || ("$ct4rel->{$id}->{$key}" ne "$ct4rel->{$id}->{barcode}")){
|
}elsif(($node_meta->{tpl_order} !~ /barcode/) || ("$ct4rel->{$id}->{$key}" ne "$ct4rel->{$id}->{barcode}")){
|
||||||
|
@ -989,7 +989,7 @@ EOF
|
||||||
}
|
}
|
||||||
print "</td>\n";
|
print "</td>\n";
|
||||||
}elsif($key =~ /txt01/ && $table =~ /contenttrans|contenttver/){
|
}elsif($key =~ /txt01/ && $table =~ /contenttrans|contenttver/){
|
||||||
print $q->td({-class=>'tdtxt',-style=>"font-weight:normal;$set_style4nr"},$q->a({-class=>"linknav3",-href=>"?ct_trans=open\&mode=manager\&c_id4trans=$ct4rel->{$id}->{c_id}\&tpl_id4trans=$ct4rel->{$id}->{template_id}\&kind_of_trans=$node_meta->{node_name}\&owner=$users_dms->{u_id}\&offset=$searchref->{offset}\&limit=$searchref->{limit}",-title=>"Terminal öffnen"},"$ct4rel->{$id}->{$key}")),"\n";
|
print $q->td({-class=>'tdtxt',-style=>"font-weight:normal;$set_style4nr"},$q->a({-class=>"linknav3",-href=>"?ct_trans=open\&mode=manager\&c_id4trans=$ct4rel->{$id}->{c_id}\&tpl_id4trans=$ct4rel->{$id}->{template_id}\&owner=$users_dms->{u_id}\&offset=$searchref->{offset}\&limit=$searchref->{limit}",-title=>"Terminal öffnen"},"$ct4rel->{$id}->{$key}")),"\n";
|
||||||
|
|
||||||
}elsif($key =~ /txt01/ && $table =~ /content$|contentadr/){# && $lock_system != 3){
|
}elsif($key =~ /txt01/ && $table =~ /content$|contentadr/){# && $lock_system != 3){
|
||||||
my $txt01 = "---";
|
my $txt01 = "---";
|
||||||
|
|
|
@ -181,11 +181,7 @@ EOF
|
||||||
$pri->count_freedrental($q,\%varenv,$ctadr->{c_id},$cttpos->{$id});
|
$pri->count_freedrental($q,\%varenv,$ctadr->{c_id},$cttpos->{$id});
|
||||||
($pricing,$counting) = $pri->counting_rental(\%varenv,$cttpos->{$id});
|
($pricing,$counting) = $pri->counting_rental(\%varenv,$cttpos->{$id});
|
||||||
|
|
||||||
my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname});
|
$rental_feed = $pri->fetch_rentalfeed(\%varenv,\%varenv,$cttpos->{$id},$counting);
|
||||||
my %varenv_prim = ();
|
|
||||||
$varenv_prim{cms} = $dbt->fetch_cms($dbh_primary,{ lang => $q->escapeHTML($lang) });
|
|
||||||
|
|
||||||
$rental_feed = $pri->fetch_rentalfeed(\%varenv_prim,\%varenv,$cttpos->{$id},$counting);
|
|
||||||
$sum_parts19 += $pricing->{total_price};
|
$sum_parts19 += $pricing->{total_price};
|
||||||
$gesamt = $pri->round($pricing->{total_price});
|
$gesamt = $pri->round($pricing->{total_price});
|
||||||
$gesamt = sprintf('%.2f', $gesamt);
|
$gesamt = sprintf('%.2f', $gesamt);
|
||||||
|
@ -644,20 +640,33 @@ EOF
|
||||||
print $q->hidden(-name=>'tpl_id4trans', -override=>'1', -value=>"$ctt->{template_id}"),"\n";
|
print $q->hidden(-name=>'tpl_id4trans', -override=>'1', -value=>"$ctt->{template_id}"),"\n";
|
||||||
print $q->hidden(-name=>'offset', -override=>'1', -value=>"$R::offset"),"\n" if($R::offset);
|
print $q->hidden(-name=>'offset', -override=>'1', -value=>"$R::offset"),"\n" if($R::offset);
|
||||||
print $q->hidden(-name=>'limit', -override=>'1', -value=>"$R::limit"),"\n" if($R::limit);
|
print $q->hidden(-name=>'limit', -override=>'1', -value=>"$R::limit"),"\n" if($R::limit);
|
||||||
print $q->div({-style=>"padding:0.5em;font-size:0.81em;width:98%;text-align:right;"}, "eMail wurde nicht versandt! $ctt->{txt00} eMail ", $but->singlesubmit1("ct_trans","send_invoice_again","send_invoice_again")),"\n" if($users_dms->{u_id} == $dbt->{copri_conf}->{superu_id});
|
print $q->div({-style=>"padding:0.5em;font-size:0.81em;width:98%;text-align:right;"}, "eMail wurde nicht versandt! $ctt->{txt00} eMail ", $but->singlesubmit1("ct_trans","send_invoice_again","")),"\n" if($users_dms->{u_id} == $dbt->{copri_conf}->{superu_id});
|
||||||
print $q->end_form;
|
print $q->end_form;
|
||||||
}
|
}
|
||||||
|
|
||||||
#TODO
|
#TODO
|
||||||
if(1==2){
|
if(1==2 && "$varenv{praefix}-$ctt->{ct_name}" =~ /\d+/){
|
||||||
my $sharee_ticket = "";
|
my $sharee_ticket = "";
|
||||||
my $subject = "";
|
my $subject = "";
|
||||||
if("$praefix-$ctt->{ct_name}" =~ /([a-z0-9]+\-\d+)/){
|
$sharee_ticket = " [$varenv{praefix}-$ctt->{ct_name}]";
|
||||||
$sharee_ticket = " [SID " . $1 . "]";
|
$subject .= $sharee_ticket if($sharee_ticket);
|
||||||
$subject .= $sharee_ticket if($sharee_ticket);
|
$varenv{cms} = $dbt->fetch_cms($dbh,{ lang => 'de' });
|
||||||
|
my @_valxx = ("");
|
||||||
|
foreach my $rid (sort { $varenv{cms}->{$a}->{ct_name} cmp $varenv{cms}->{$b}->{ct_name} } keys (%{$varenv{cms}})){
|
||||||
|
push (@_valxx, "$varenv{cms}->{$rid}->{ct_name}:$varenv{cms}->{$rid}->{ct_name}");
|
||||||
}
|
}
|
||||||
|
|
||||||
print $q->div({-style=>"padding:0.5em;font-size:0.91em;width:98%;text-align:left;"}, "eMail subject: $subject"),"\n";
|
#print $q->start_form(-action=>'mailto:xxxx@sharee.bike', -method=>'GET'),"\n";
|
||||||
|
print $q->start_form(),"\n";
|
||||||
|
print $q->hidden(-name=>'c_id4trans', -override=>'1', -value=>"$ctt->{content_id}"),"\n";
|
||||||
|
print $q->hidden(-name=>'tpl_id4trans', -override=>'1', -value=>"$ctt->{template_id}"),"\n";
|
||||||
|
print $q->hidden(-name=>'offset', -override=>'1', -value=>"$R::offset"),"\n" if($R::offset);
|
||||||
|
print $q->hidden(-name=>'limit', -override=>'1', -value=>"$R::limit"),"\n" if($R::limit);
|
||||||
|
|
||||||
|
print $q->hidden(-name=>'mailto', -value=>"xxxx\@sharee.bike"),"\n";
|
||||||
|
print $q->hidden(-name=>'subject', -value=>"xxxx"),"\n";
|
||||||
|
print $q->div({-style=>"padding:0.5em;font-size:0.91em;width:98%;text-align:left;"}, $but->selector_class("email_select","eselect","width:250px;",$ctt->{txt31},@_valxx), $but->singlesubmit1("ct_trans","email_generate","")),"\n";
|
||||||
|
print $q->end_form;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -506,13 +506,16 @@ sub prepare_content {
|
||||||
#}
|
#}
|
||||||
$app_name = $dbt->{operator}->{$varenv{dbname}}->{app_name};
|
$app_name = $dbt->{operator}->{$varenv{dbname}}->{app_name};
|
||||||
my $invoice_name = "";
|
my $invoice_name = "";
|
||||||
|
my $sharee_ticket = "";
|
||||||
if(ref($ctt) eq "HASH" && $ctt->{ct_name}){
|
if(ref($ctt) eq "HASH" && $ctt->{ct_name}){
|
||||||
$invoice_name = "$ctt->{txt00}-$varenv{dbname}-$ctt->{ct_name}.pdf";
|
$invoice_name = "$ctt->{txt00}-$varenv{dbname}-$ctt->{ct_name}.pdf";
|
||||||
$sendref->{attachment} = "$invoice_name";
|
$sendref->{attachment} = "$invoice_name";
|
||||||
|
$sharee_ticket = "[$varenv{dbname}-$ctt->{ct_name}]";
|
||||||
}
|
}
|
||||||
|
|
||||||
my $subject = "TeilRad Mietradsystem";#default
|
my $subject = "TeilRad Mietradsystem";#default
|
||||||
$subject = $1 if($cms_prim =~ /--subject--(.*)--subject--/);
|
$subject = $1 if($cms_prim =~ /--subject--(.*)--subject--/);
|
||||||
|
$subject .= " $sharee_ticket" if($sharee_ticket);
|
||||||
$cms_prim =~ s/--subject--$subject--subject--//;
|
$cms_prim =~ s/--subject--$subject--subject--//;
|
||||||
$cms_prim =~ s/\n//;
|
$cms_prim =~ s/\n//;
|
||||||
$cms_prim =~ s/\n//;
|
$cms_prim =~ s/\n//;
|
||||||
|
|
Binary file not shown.
Loading…
Add table
Reference in a new issue