Patch level :
Files correlati : ve1 Ricompilazione Demo : [ ] Commento : Corretta gestione richiesta di conferma e-mail git-svn-id: svn://10.65.10.50/trunk@20413 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
cbd452f110
commit
0c1d585185
@ -821,10 +821,10 @@ bool TApplication::get_next_pdf(int anno, long ditta, const char* codnum,
|
||||
}
|
||||
|
||||
bool TApplication::get_next_mail(TToken_string& to, TToken_string& cc, TToken_string& ccn,
|
||||
TString& subj, TString& text, TToken_string& attach, bool& ui) const
|
||||
TString& subj, TString& text, TToken_string& attach, short& ui) const
|
||||
{
|
||||
bool ok = dongle().active(RSAUT);
|
||||
ui = ok && to.blank();
|
||||
const bool ok = dongle().active(RSAUT);
|
||||
ui = ok && to.blank() ? 0x1 : 0x0; // Forza finestra di dialogo in assenza di destinatario
|
||||
return ok;
|
||||
}
|
||||
|
||||
|
@ -125,7 +125,7 @@ public:
|
||||
|
||||
virtual bool get_next_pdf(int anno, long ditta, const char* codnum, long numdoc, long codcf, TFilename& pdf) const;
|
||||
virtual bool get_next_mail(TToken_string& to, TToken_string& cc, TToken_string& ccn,
|
||||
TString& subj, TString& text, TToken_string& attach, bool& ui) const;
|
||||
TString& subj, TString& text, TToken_string& attach, short& flags) const;
|
||||
|
||||
// @cmember Controlla se al programma corrente e' concesso cambiare ditta da menu.
|
||||
virtual bool firm_change_enabled() const;
|
||||
|
@ -28,8 +28,8 @@
|
||||
#define EFF_NUMREG "NUMREG"
|
||||
#define EFF_CODABIP "CODABIP"
|
||||
#define EFF_CODCABP "CODCABP"
|
||||
#define EFF_DATARIBA "DATARIBA"
|
||||
#define EFF_PROGBNP "PROGBNP"
|
||||
#define EFF_DATARIBA "DATARIBA"
|
||||
#define EFF_DISRIBAEST "DISRIBAEST"
|
||||
#define EFF_IMPORTO "IMPORTO"
|
||||
#define EFF_IMPORTOVAL "IMPORTOVAL"
|
||||
|
@ -871,7 +871,7 @@ public:
|
||||
bool has_memo() const
|
||||
{ return _flag.memo; }
|
||||
|
||||
virtual bool is_section() const { return FALSE; }
|
||||
virtual bool is_section() const { return false; }
|
||||
|
||||
// virtual short& x() { return _x; };
|
||||
|
||||
@ -948,7 +948,7 @@ public:
|
||||
{ return _prompt; }
|
||||
// @cmember Setta il prompt del campo
|
||||
virtual bool set(const char* s)
|
||||
{ _prompt = s; return TRUE; }
|
||||
{ _prompt = s; return true; }
|
||||
|
||||
// @cmember Ritorna un esempio del formato corrente
|
||||
virtual const char* example() const
|
||||
|
@ -1007,6 +1007,9 @@ bool TMail_message::send(TMAPI_session& lhSession, bool hide_ui)
|
||||
msgSend.lpRecips = nr == 0 ? NULL : msgRecipient;
|
||||
msgSend.nFileCount = na;
|
||||
msgSend.lpFiles = na == 0 ? NULL : msgAttachment;
|
||||
|
||||
if (receipt_requested())
|
||||
msgSend.flFlags |= MAPI_RECEIPT_REQUESTED;
|
||||
|
||||
bool ok = lhSession.send(msgSend, hide_ui ? 0 : MAPI_DIALOG);
|
||||
|
||||
@ -1112,7 +1115,7 @@ const TString& TMail_message::recipient(int n) const
|
||||
|
||||
TMail_message::TMail_message(const char* recipient, const char* subject,
|
||||
const char* text, const char* sender)
|
||||
: _subject(subject), _sender(sender), _hms(0)
|
||||
: _subject(subject), _sender(sender), _hms(0), _query_receipt(false)
|
||||
{
|
||||
add_recipient(recipient);
|
||||
if (text && *text)
|
||||
@ -1200,6 +1203,7 @@ int TMail_messages::get(const char* senderFilter,
|
||||
TMail_message* msg = new TMail_message(recipient, subject, body, sender);
|
||||
msg->set_date_time(pMessage->lpszDateReceived);
|
||||
msg->set_id(msg_id);
|
||||
msg->query_receipt((pMessage->flFlags & MAPI_RECEIPT_REQUESTED) != 0);
|
||||
add(msg);
|
||||
}
|
||||
|
||||
|
@ -23,6 +23,7 @@ class TMail_message : public TString_array
|
||||
TString _id;
|
||||
TDate _date;
|
||||
long _hms;
|
||||
bool _query_receipt;
|
||||
|
||||
protected:
|
||||
bool add_recipient_ex(const char* recipient, int type);
|
||||
@ -38,7 +39,8 @@ public:
|
||||
bool attach(const char* filename) { return add_recipient_ex(filename, 2); }
|
||||
void set_sender(const char* address) { _sender = address; _sender.trim(); }
|
||||
void set_id(const char* id) { _id = id; }
|
||||
int add_line(const char * s);
|
||||
void query_receipt(bool qr) { _query_receipt = qr; }
|
||||
int add_line(const char * s);
|
||||
|
||||
TMail_message& operator = (const char* msg) { destroy(); add(msg); return *this; }
|
||||
TMail_message& operator = (const TString& msg) { destroy(); add(msg); return *this; }
|
||||
@ -49,6 +51,7 @@ public:
|
||||
const TString& sender() const { return _sender; }
|
||||
const TString& subject() const { return _subject; }
|
||||
const TString& id() const { return _id; }
|
||||
bool receipt_requested() const { return _query_receipt; }
|
||||
|
||||
void set_date_time(const char* date_time);
|
||||
void set_date_time(const TDate& date, long hhmmss = 0);
|
||||
|
@ -637,9 +637,13 @@ int TSpreadsheet::row2rec(int& row)
|
||||
{
|
||||
int rows;
|
||||
const long* handle = xi_get_list_info(_obj, &rows);
|
||||
if (rows <= 0)
|
||||
return -1; // Empty sheet
|
||||
|
||||
if (row < 0)
|
||||
{
|
||||
row = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (row >= rows)
|
||||
|
@ -292,10 +292,12 @@ public:
|
||||
virtual ~TSheet_field();
|
||||
};
|
||||
|
||||
#define FOR_EACH_SHEET_ROW(__sheet, __r, __riga) \
|
||||
FOR_EACH_ARRAY_ROW((__sheet).rows_array(), __r, __riga)
|
||||
#define FOR_EACH_SHEET_ROW(__sheet, __r, __riga) \
|
||||
TString_array& __sheet##__riga = (__sheet).rows_array(); \
|
||||
FOR_EACH_ARRAY_ROW(__sheet##__riga, __r, __riga)
|
||||
|
||||
#define FOR_EACH_SHEET_ROW_BACK(__sheet, __r, __riga) \
|
||||
FOR_EACH_ARRAY_ROW_BACK((__sheet).rows_array(), __r, __riga)
|
||||
#define FOR_EACH_SHEET_ROW_BACK(__sheet, __r, __riga) \
|
||||
TString_array& __sheet##__riga = (__sheet).rows_array(); \
|
||||
FOR_EACH_ARRAY_ROW_BACK(__sheet##__riga, __r, __riga)
|
||||
|
||||
#endif
|
||||
|
@ -102,12 +102,12 @@ bool spotlite_send_mail(const TFilename& pdf)
|
||||
{
|
||||
TToken_string to(15, ';'), cc(15, ';'), ccn(15, ';'), attach(pdf, ';');
|
||||
TString subj, text;
|
||||
bool ui = true;
|
||||
bool ok = main_app().get_next_mail(to, cc, ccn, subj, text, attach, ui);
|
||||
short flags = 0x1; // UI
|
||||
bool ok = main_app().get_next_mail(to, cc, ccn, subj, text, attach, flags);
|
||||
if (subj.blank())
|
||||
subj.cut(0) << TR("Invio di ") << pdf.name();
|
||||
if (!ui && to.empty_items() && cc.empty_items() && ccn.empty_items())
|
||||
ui = true;
|
||||
ok = xvt_mail_send(to, cc, ccn, subj, text, attach, ui) != 0;
|
||||
if (!(flags & 0x1) && to.empty_items() && cc.empty_items() && ccn.empty_items())
|
||||
flags |= 0x1; // Forza UI in assenza di destinatari
|
||||
ok = xvt_mail_send(to, cc, ccn, subj, text, attach, flags) != 0;
|
||||
return ok;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user