void JobShow::generateReceipt() { Date jobDate(job.getDate()); QString saveFolder = SettingForm::getPdfDirectoryWithoutSlash() + "/receipts/" + QDate::longMonthName(Date(job.getDate()).month) + '_' + toString(jobDate.year).c_str(); if (!QDir(saveFolder).exists()) QDir().mkpath(saveFolder); Customer customer = CustomerController::getCustomer(job.getCustomerId()); customerEmailAddress = customer.getEmailAddress(); receiptFileName.clear(); receiptFileName.reserve(256); receiptFileName += "receipt_"; receiptFileName += customer.getForename(); receiptFileName += customer.getSurname(); receiptFileName += "_"; receiptFileName += toString(job.getId()); receiptFileName += "_"; receiptFileName += (string)Date(job.getDate()); receiptFileName += ".pdf"; replaceChars(receiptFileName, ' ', '_'); replaceChars(receiptFileName, '/', '-'); replaceChars(receiptFileName, ':', '-'); receiptFileName = saveFolder.toStdString() + '/' + receiptFileName; PdfGenerator::generateReceipt(receiptFileName.c_str(), job); }
void JobShow::updateView() { TaskController::sortTasksByDate(tasks); setWindowTitle(QString("Job for ") + Date(job.getDate()).toQStringWithoutTime()); ui->label_dateE->setText(Date(job.getDate())); Customer customer = CustomerController::getCustomer(job.getCustomerId()); ui->label_customerNameE->setText(createFullName(customer.getForename(), customer.getSurname())); ui->plainTextEdit_descriptionE->setPlainText(job.getDescription()); ui->listWidget_partsE->clear(); char partString[64]; for (unsigned i = 0; i < parts.size(); ++i) { strcpy(partString, toString(parts[i].getQuantity()).c_str()); strcat(partString, "x "); strcat(partString, parts[i].getName()); ui->listWidget_partsE->addItem(partString); } ui->listWidget_tasksE->clear(); for (unsigned i = 0; i < tasks.size(); ++i) ui->listWidget_tasksE->addItem(limitLength(tasks[i].getDescription(), 40)); updateCharges(); QString str; switch (job.getCompletionState()) { case Job::NOT_DONE: str = "Not done"; break; case Job::DONE_UNPAID: str = "Done - not paid"; break; case Job::DONE_PAID: str = "Done - paid"; break; } ui->label_completionStateE->setText(str); ui->gridWidget_sendInvoiceMarkAsPaid->setHidden(job.getCompletionState() != Job::DONE_UNPAID); ui->pushButton_markAsDone->setHidden(job.getCompletionState() != Job::NOT_DONE); ui->gridWidget_paidBy->setHidden(job.getCompletionState() != Job::DONE_PAID); switch (job.getPaymentMethod()) { case Job::NA: str = "N/A"; break; case Job::CASH: str = "Cash"; break; case Job::CHEQUE: str = "Cheque"; break; case Job::CREDIT: str = "Credit"; break; case Job::DEBIT: str = "Debit"; break; case Job::BANK_TRANSFER: str = "Bank transfer"; break; } ui->label_paymentTypeE->setText(str); ui->label_paymentDateE->setText(Date(job.getPaymentDate())); }
void MainWindow::updateListWidgets() { const Date date(ui->calendar->selectedDate()); ui->label_selectedDate1->setText(date.toQStringWithoutTime()); ui->label_selectedDate2->setText(date.toQStringWithoutTime()); ui->listWidget_jobs->clear(); ui->listWidget_tasks->clear(); Customer customer; for (unsigned i = 0; i < jobs->size(); ++i) { customer = CustomerController::getCustomer(jobs->at(i).getCustomerId()); ui->listWidget_jobs->addItem(createFullName(customer.getForename(), customer.getSurname())); } for (unsigned i = 0; i < tasks->size(); ++i) ui->listWidget_tasks->addItem(limitLength(tasks->at(i).getDescription(), 30)); }