Compare commits

..

4 Commits

Author SHA1 Message Date
frappe-pr-bot
7b69ddb14d chore: update POT file 2025-08-01 16:04:44 +00:00
Jannat Patel
2271eb270e Merge pull request #1667 from harshpwctech/develop
refactor: Announcement mail being sent to students in BCC
2025-08-01 17:32:41 +05:30
CA Harsh Agrawal
7e5b2e4e79 refactor: Announcement mail being sent to students in BCC 2025-08-01 17:02:48 +05:30
Jannat Patel
36076068ec fix: text padding on card gradient 2025-07-30 12:30:12 +05:30
3 changed files with 62 additions and 49 deletions

View File

@@ -18,7 +18,7 @@
<div class="flex items-center flex-wrap relative top-4 px-2 w-fit"> <div class="flex items-center flex-wrap relative top-4 px-2 w-fit">
<div <div
v-if="course.featured" v-if="course.featured"
class="flex items-center space-x-1 text-xs text-ink-amber-3 bg-surface-white px-2 py-0.5 rounded-md mr-1 mb-1" class="flex items-center space-x-1 text-xs text-ink-amber-3 bg-surface-white border border-outline-amber-1 px-2 py-0.5 rounded-md mr-1 mb-1"
> >
<Star class="size-3 stroke-2" /> <Star class="size-3 stroke-2" />
<span> <span>
@@ -35,7 +35,7 @@
</div> </div>
<div <div
v-if="!course.image" v-if="!course.image"
class="flex items-center justify-center text-white flex-1 font-extrabold text-2xl my-auto" class="flex items-center justify-center text-white flex-1 font-extrabold text-2xl my-auto px-5 text-center leading-6"
:class="course.tags ? 'h-[80%]' : 'h-full'" :class="course.tags ? 'h-[80%]' : 'h-full'"
> >
{{ course.title }} {{ course.title }}
@@ -120,7 +120,7 @@
v-if="course.paid_certificate || course.enable_certification" v-if="course.paid_certificate || course.enable_certification"
:text="__('Get Certified')" :text="__('Get Certified')"
> >
<GraduationCap class="size-5 stroke-1.5" /> <GraduationCap class="size-5 stroke-1.5 text-ink-gray-7" />
</Tooltip> </Tooltip>
</div> </div>
</div> </div>

View File

@@ -25,6 +25,7 @@
<div class=""> <div class="">
<div class="mb-1.5 text-sm text-ink-gray-5"> <div class="mb-1.5 text-sm text-ink-gray-5">
{{ __('Reply To') }} {{ __('Reply To') }}
<span class="text-ink-red-3">*</span>
</div> </div>
<Input type="text" v-model="announcement.replyTo" /> <Input type="text" v-model="announcement.replyTo" />
</div> </div>
@@ -70,8 +71,8 @@ const announcementResource = createResource({
url: 'frappe.core.doctype.communication.email.make', url: 'frappe.core.doctype.communication.email.make',
makeParams(values) { makeParams(values) {
return { return {
recipients: props.students.join(', '), recipients: announcement.replyTo,
cc: announcement.replyTo, bcc: props.students.join(', '),
subject: announcement.subject, subject: announcement.subject,
content: announcement.announcement, content: announcement.announcement,
doctype: 'LMS Batch', doctype: 'LMS Batch',
@@ -95,6 +96,9 @@ const makeAnnouncement = (close) => {
if (!announcement.announcement) { if (!announcement.announcement) {
return __('Announcement is required') return __('Announcement is required')
} }
if (!announcement.replyTo) {
return __('Reply To is required')
}
}, },
onSuccess() { onSuccess() {
close() close()

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Frappe LMS VERSION\n" "Project-Id-Version: Frappe LMS VERSION\n"
"Report-Msgid-Bugs-To: jannat@frappe.io\n" "Report-Msgid-Bugs-To: jannat@frappe.io\n"
"POT-Creation-Date: 2025-07-25 16:04+0000\n" "POT-Creation-Date: 2025-08-01 16:04+0000\n"
"PO-Revision-Date: 2025-07-25 16:04+0000\n" "PO-Revision-Date: 2025-08-01 16:04+0000\n"
"Last-Translator: jannat@frappe.io\n" "Last-Translator: jannat@frappe.io\n"
"Language-Team: jannat@frappe.io\n" "Language-Team: jannat@frappe.io\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -182,7 +182,7 @@ msgstr ""
msgid "Add a Student" msgid "Add a Student"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:568 #: frontend/src/components/AppSidebar.vue:584
msgid "Add a chapter" msgid "Add a chapter"
msgstr "" msgstr ""
@@ -194,7 +194,7 @@ msgstr ""
msgid "Add a keyword and then press enter" msgid "Add a keyword and then press enter"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:569 #: frontend/src/components/AppSidebar.vue:585
msgid "Add a lesson" msgid "Add a lesson"
msgstr "" msgstr ""
@@ -227,7 +227,7 @@ msgstr ""
msgid "Add at least one possible answer for this question: {0}" msgid "Add at least one possible answer for this question: {0}"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:532 #: frontend/src/components/AppSidebar.vue:548
msgid "Add courses to your batch" msgid "Add courses to your batch"
msgstr "" msgstr ""
@@ -235,7 +235,7 @@ msgstr ""
msgid "Add quiz to this video" msgid "Add quiz to this video"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:511 #: frontend/src/components/AppSidebar.vue:527
msgid "Add students to your batch" msgid "Add students to your batch"
msgstr "" msgstr ""
@@ -247,11 +247,11 @@ msgstr ""
msgid "Add your assignment as {0}" msgid "Add your assignment as {0}"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:444 #: frontend/src/components/AppSidebar.vue:460
msgid "Add your first chapter" msgid "Add your first chapter"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:460 #: frontend/src/components/AppSidebar.vue:476
msgid "Add your first lesson" msgid "Add your first lesson"
msgstr "" msgstr ""
@@ -366,15 +366,15 @@ msgstr ""
msgid "Amount with GST" msgid "Amount with GST"
msgstr "" msgstr ""
#: frontend/src/components/Modals/AnnouncementModal.vue:33 #: frontend/src/components/Modals/AnnouncementModal.vue:34
msgid "Announcement" msgid "Announcement"
msgstr "" msgstr ""
#: frontend/src/components/Modals/AnnouncementModal.vue:101 #: frontend/src/components/Modals/AnnouncementModal.vue:105
msgid "Announcement has been sent successfully" msgid "Announcement has been sent successfully"
msgstr "" msgstr ""
#: frontend/src/components/Modals/AnnouncementModal.vue:96 #: frontend/src/components/Modals/AnnouncementModal.vue:97
msgid "Announcement is required" msgid "Announcement is required"
msgstr "" msgstr ""
@@ -472,7 +472,7 @@ msgid "Assessment {0} has already been added to this batch."
msgstr "" msgstr ""
#. Label of the show_assessments (Check) field in DocType 'LMS Settings' #. Label of the show_assessments (Check) field in DocType 'LMS Settings'
#: frontend/src/components/AppSidebar.vue:581 #: frontend/src/components/AppSidebar.vue:597
#: frontend/src/components/Assessments.vue:5 #: frontend/src/components/Assessments.vue:5
#: frontend/src/components/BatchStudents.vue:32 #: frontend/src/components/BatchStudents.vue:32
#: lms/lms/doctype/lms_settings/lms_settings.json #: lms/lms/doctype/lms_settings/lms_settings.json
@@ -554,7 +554,7 @@ msgstr ""
msgid "Assignment will appear at the bottom of the lesson." msgid "Assignment will appear at the bottom of the lesson."
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:585 #: frontend/src/components/AppSidebar.vue:601
#: frontend/src/components/Settings/Badges.vue:163 #: frontend/src/components/Settings/Badges.vue:163
#: frontend/src/pages/Assignments.vue:208 lms/www/lms.py:273 #: frontend/src/pages/Assignments.vue:208 lms/www/lms.py:273
msgid "Assignments" msgid "Assignments"
@@ -618,8 +618,8 @@ msgstr ""
msgid "Average Rating" msgid "Average Rating"
msgstr "" msgstr ""
#: frontend/src/components/Modals/VideoStatistics.vue:65 #: frontend/src/components/Modals/VideoStatistics.vue:72
msgid "Average Watch Time (seconds)" msgid "Average Watch Time (minutes)"
msgstr "" msgstr ""
#: frontend/src/pages/Lesson.vue:151 #: frontend/src/pages/Lesson.vue:151
@@ -966,7 +966,7 @@ msgstr ""
#. Enrollment' #. Enrollment'
#. Label of a Card Break in the LMS Workspace #. Label of a Card Break in the LMS Workspace
#. Label of a Link in the LMS Workspace #. Label of a Link in the LMS Workspace
#: frontend/src/components/AppSidebar.vue:589 #: frontend/src/components/AppSidebar.vue:605
#: frontend/src/components/Modals/Event.vue:381 #: frontend/src/components/Modals/Event.vue:381
#: frontend/src/pages/BatchForm.vue:69 frontend/src/pages/Batches.vue:38 #: frontend/src/pages/BatchForm.vue:69 frontend/src/pages/Batches.vue:38
#: frontend/src/pages/CourseCertification.vue:10 #: frontend/src/pages/CourseCertification.vue:10
@@ -994,8 +994,8 @@ msgid "Certified"
msgstr "" msgstr ""
#. Label of the certified_members (Check) field in DocType 'LMS Settings' #. Label of the certified_members (Check) field in DocType 'LMS Settings'
#: frontend/src/pages/CertifiedParticipants.vue:182 #: frontend/src/pages/CertifiedParticipants.vue:183
#: frontend/src/pages/CertifiedParticipants.vue:189 #: frontend/src/pages/CertifiedParticipants.vue:190
#: frontend/src/pages/Statistics.vue:40 #: frontend/src/pages/Statistics.vue:40
#: lms/lms/doctype/lms_settings/lms_settings.json #: lms/lms/doctype/lms_settings/lms_settings.json
msgid "Certified Members" msgid "Certified Members"
@@ -1715,15 +1715,15 @@ msgstr ""
msgid "Create a Quiz" msgid "Create a Quiz"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:576 #: frontend/src/components/AppSidebar.vue:592
msgid "Create a batch" msgid "Create a batch"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:567 #: frontend/src/components/AppSidebar.vue:583
msgid "Create a course" msgid "Create a course"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:577 #: frontend/src/components/AppSidebar.vue:593
msgid "Create a live class" msgid "Create a live class"
msgstr "" msgstr ""
@@ -1735,15 +1735,15 @@ msgstr ""
msgid "Create an Assignment" msgid "Create an Assignment"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:501 #: frontend/src/components/AppSidebar.vue:517
msgid "Create your first batch" msgid "Create your first batch"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:432 #: frontend/src/components/AppSidebar.vue:448
msgid "Create your first course" msgid "Create your first course"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:479 #: frontend/src/components/AppSidebar.vue:495
msgid "Create your first quiz" msgid "Create your first quiz"
msgstr "" msgstr ""
@@ -1751,11 +1751,11 @@ msgstr ""
msgid "Created" msgid "Created"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:573 #: frontend/src/components/AppSidebar.vue:589
msgid "Creating a batch" msgid "Creating a batch"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:564 #: frontend/src/components/AppSidebar.vue:580
msgid "Creating a course" msgid "Creating a course"
msgstr "" msgstr ""
@@ -1774,7 +1774,7 @@ msgstr ""
msgid "Current Lesson" msgid "Current Lesson"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:595 #: frontend/src/components/AppSidebar.vue:611
msgid "Custom Certificate Templates" msgid "Custom Certificate Templates"
msgstr "" msgstr ""
@@ -2506,7 +2506,7 @@ msgstr ""
msgid "Failed to update badge assignment: " msgid "Failed to update badge assignment: "
msgstr "" msgstr ""
#: frontend/src/utils/index.js:670 #: frontend/src/utils/index.js:659
msgid "Failed to update meta tags {0}" msgid "Failed to update meta tags {0}"
msgstr "" msgstr ""
@@ -3005,8 +3005,8 @@ msgstr ""
msgid "Interest" msgid "Interest"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:556 #: frontend/src/components/AppSidebar.vue:572
#: frontend/src/components/AppSidebar.vue:559 #: frontend/src/components/AppSidebar.vue:575
msgid "Introduction" msgid "Introduction"
msgstr "" msgstr ""
@@ -3044,7 +3044,7 @@ msgstr ""
msgid "Invite Request" msgid "Invite Request"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:490 #: frontend/src/components/AppSidebar.vue:506
msgid "Invite your team and students" msgid "Invite your team and students"
msgstr "" msgstr ""
@@ -3076,7 +3076,7 @@ msgstr ""
msgid "Issue Date" msgid "Issue Date"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:592 #: frontend/src/components/AppSidebar.vue:608
msgid "Issue a Certificate" msgid "Issue a Certificate"
msgstr "" msgstr ""
@@ -3785,7 +3785,7 @@ msgstr ""
#. Label of the member (Link) field in DocType 'LMS Zoom Settings' #. Label of the member (Link) field in DocType 'LMS Zoom Settings'
#: frontend/src/components/Modals/CourseProgressSummary.vue:216 #: frontend/src/components/Modals/CourseProgressSummary.vue:216
#: frontend/src/components/Modals/LiveClassAttendance.vue:14 #: frontend/src/components/Modals/LiveClassAttendance.vue:14
#: frontend/src/components/Modals/VideoStatistics.vue:22 #: frontend/src/components/Modals/VideoStatistics.vue:29
#: frontend/src/components/Modals/ZoomAccountModal.vue:42 #: frontend/src/components/Modals/ZoomAccountModal.vue:42
#: frontend/src/components/Settings/BadgeAssignmentForm.vue:26 #: frontend/src/components/Settings/BadgeAssignmentForm.vue:26
#: frontend/src/components/Settings/BadgeAssignments.vue:179 #: frontend/src/components/Settings/BadgeAssignments.vue:179
@@ -4065,7 +4065,7 @@ msgstr ""
msgid "Monday" msgid "Monday"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:600 #: frontend/src/components/AppSidebar.vue:616
msgid "Monetization" msgid "Monetization"
msgstr "" msgstr ""
@@ -4253,7 +4253,11 @@ msgstr ""
msgid "No slots available for this date." msgid "No slots available for this date."
msgstr "" msgstr ""
#: frontend/src/components/Modals/AnnouncementModal.vue:90 #: frontend/src/components/Modals/VideoStatistics.vue:84
msgid "No statistics available for this video."
msgstr ""
#: frontend/src/components/Modals/AnnouncementModal.vue:91
msgid "No students in this batch" msgid "No students in this batch"
msgstr "" msgstr ""
@@ -4362,7 +4366,7 @@ msgstr ""
msgid "Only files of type {0} will be accepted." msgid "Only files of type {0} will be accepted."
msgstr "" msgstr ""
#: frontend/src/utils/index.js:502 #: frontend/src/utils/index.js:491
msgid "Only image file is allowed." msgid "Only image file is allowed."
msgstr "" msgstr ""
@@ -5200,7 +5204,7 @@ msgstr ""
msgid "Quiz will appear at the bottom of the lesson." msgid "Quiz will appear at the bottom of the lesson."
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:584 #: frontend/src/components/AppSidebar.vue:600
#: frontend/src/pages/QuizForm.vue:396 frontend/src/pages/Quizzes.vue:275 #: frontend/src/pages/QuizForm.vue:396 frontend/src/pages/Quizzes.vue:275
#: frontend/src/pages/Quizzes.vue:285 lms/www/lms.py:251 #: frontend/src/pages/Quizzes.vue:285 lms/www/lms.py:251
msgid "Quizzes" msgid "Quizzes"
@@ -5304,6 +5308,10 @@ msgstr ""
msgid "Reply To" msgid "Reply To"
msgstr "" msgstr ""
#: frontend/src/components/Modals/AnnouncementModal.vue:100
msgid "Reply To is required"
msgstr ""
#: lms/lms/widgets/RequestInvite.html:7 #: lms/lms/widgets/RequestInvite.html:7
msgid "Request Invite" msgid "Request Invite"
msgstr "" msgstr ""
@@ -5373,7 +5381,7 @@ msgstr ""
msgid "Role updated successfully" msgid "Role updated successfully"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:612 #: frontend/src/components/AppSidebar.vue:628
msgid "Roles" msgid "Roles"
msgstr "" msgstr ""
@@ -5497,7 +5505,8 @@ msgid "Search"
msgstr "" msgstr ""
#: frontend/src/components/Modals/CourseProgressSummary.vue:18 #: frontend/src/components/Modals/CourseProgressSummary.vue:18
msgid "Search by Member Name" #: frontend/src/components/Modals/VideoStatistics.vue:20
msgid "Search by Member"
msgstr "" msgstr ""
#: frontend/src/pages/CertifiedParticipants.vue:23 #: frontend/src/pages/CertifiedParticipants.vue:23
@@ -5584,15 +5593,15 @@ msgstr ""
msgid "Set your Password" msgid "Set your Password"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:560 #: frontend/src/components/AppSidebar.vue:576
msgid "Setting up" msgid "Setting up"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:605 #: frontend/src/components/AppSidebar.vue:621
msgid "Setting up payment gateway" msgid "Setting up payment gateway"
msgstr "" msgstr ""
#: frontend/src/components/AppSidebar.vue:610 #: frontend/src/components/AppSidebar.vue:626
#: frontend/src/components/Settings/Settings.vue:7 #: frontend/src/components/Settings/Settings.vue:7
#: frontend/src/pages/BatchForm.vue:53 frontend/src/pages/CourseForm.vue:142 #: frontend/src/pages/BatchForm.vue:53 frontend/src/pages/CourseForm.vue:142
#: frontend/src/pages/ProfileRoles.vue:4 #: frontend/src/pages/ProfileRoles.vue:4
@@ -5937,7 +5946,7 @@ msgstr ""
msgid "Subject" msgid "Subject"
msgstr "" msgstr ""
#: frontend/src/components/Modals/AnnouncementModal.vue:93 #: frontend/src/components/Modals/AnnouncementModal.vue:94
msgid "Subject is required" msgid "Subject is required"
msgstr "" msgstr ""
@@ -6741,7 +6750,7 @@ msgid "Volunteering or Internship"
msgstr "" msgstr ""
#. Label of the watch_time (Data) field in DocType 'LMS Video Watch Duration' #. Label of the watch_time (Data) field in DocType 'LMS Video Watch Duration'
#: frontend/src/components/Modals/VideoStatistics.vue:25 #: frontend/src/components/Modals/VideoStatistics.vue:32
#: lms/lms/doctype/lms_video_watch_duration/lms_video_watch_duration.json #: lms/lms/doctype/lms_video_watch_duration/lms_video_watch_duration.json
msgid "Watch Time" msgid "Watch Time"
msgstr "" msgstr ""