The module can create appointments and keep track of them.
Include its features are:

* Set up an e-mail itself can create more than one appointment
* Set weekends
* Configure holidays
* Set up appointments
* Set the repetition of pages per day
* Set the start time and end time for appointments
* Create PDF files with the appointment information using TCPDF library

Has an administration panel to change your dating status.
Select the date via a calendar with jQuery UI.

Link of demostration: http://demos.devconsultores.com/appointment
Project link: http://www.devconsultores.com

Comments

jordojuice’s picture

Hi. Since moving to git prospective developers now can create sandbox projects. You will need to set up a sandbox and provide a link to your sandbox here.

Please see http://drupal.org/node/1011698 for more information. Your application will be postponed until these steps are complete. Once you can provide a link to your sandbox project please return here and do so and set the application back to "Needs review".

jordojuice’s picture

Status: Needs review » Postponed (maintainer needs more info)
superpardo’s picture

Status: Postponed (maintainer needs more info) » Needs review

Hello,

The link to the sandbox project is http://drupal.org/sandbox/superpardo/1185792

jordojuice’s picture

Status: Needs review » Needs work
Issue tags: +pdx-code-review

Hi,

Please review the Drupal coding and commenting standards at http://drupal.org/coding-standards

All of your functions and files need to be documented properly.

Indentation needs to be fixed throughout the module.

Pease run your module through the Coder module on minor (most).

superpardo’s picture

Status: Needs work » Needs review

Hi, the changes were made​​.

superpardo’s picture

Status: Needs review » Closed (fixed)
jordojuice’s picture

Did you intend to close this? If you have completed the fixes but still would like your application to continue review it should be set to "Needs review" so it can be seen in the queue and reviewers know to review it.

superpardo’s picture

Status: Closed (fixed) » Needs review

I made the change 10 days ago also I changed the status of the task without response.

Posted by superpardo on June 13, 2011 at 12:32pm
Status: needs work » needs review
Hi, the changes were made​​.

That's why I closed the task and create a new one. I will reopen this task.

jordojuice’s picture

Assigned: Unassigned » jordojuice

Yeah, I just realized after posting on your other issue that there were two open. You certainly do not want to just start over or it is very likely that your application will only take longer, so I've closed the other application. If you look at the queue you'll see that applications take over a month in most cases, and many applications may sit for weeks without response. But thats not to say we aren't working on it. If you set your application to needs review and no one responds for a period of time you can consult the guidelines for project application priorities and elevate the priority of your own application if necessary. The priority guidelines demonstrate that there are often time lapses in the review process, and a look at the project application queue shows that there are several applications with a critical priority currently.

It has only been nine days since the application status was set to needs review (I know it sounds bad to say only, but we have to prioritize applications in all fairness). I'll assign your application to myself and try to get back to the review shortly. If I haven't responded in a few days you are welcome to elevate the priority to major according to guidelines.

jordojuice’s picture

Status: Needs review » Needs work

Why not use system_settings_form() for appointment_admin_settings form? It will use form elements keys to set the variables for you without needing a submit function.

Good use of forms and theme functions other than that.

Variables set by your module need to be deleted in hook_uninstall().

Arrays should be formatted with the opening parenthesis right after array (in hook_schema()): array( Coding standards are not necessarily a requirement of the process, but they help facilitate collaboration and help reviewers.

$query = "SELECT count(*) as total FROM {appointment} WHERE email = '". $email ."'";
There's no reason you can't use placeholders and db_query here.

$result = db_query("SELECT COUNT(*) as total from {appointment} WHERE email = '%s'", $email);

And here: INNER JOIN {appointment_folio} AS ccff ON cc.cfid = ccff.cfid WHERE cc.ccid = $ccid";

And several other places. That's a security risk and needs to be fixed.

Also, preventing module duplication is one of the primary goals of application reviews, and according to another thread I found there are a few options for modules for creating appointments already.

There's a couple of options available in the modules area that I can think of: merci, booking_timeslots, volunteer_timeslots, and publicbookings.

How does your module differ from these options?

superpardo’s picture

Status: Needs work » Needs review

Sorry for being so impatient.

The differences between the modules you say are:
* No need to set a node with CCK.
* Create appointments automatically.
* Enables printing appointment cards in PDF.
* Modifies the appointment cards in PDF.
* Sets the weekends and holidays.
* Restrict appointments by email.
* Registration is not required to make appointments.
* It has a panel to manage appointments.

The changes mentioned above have already been made.

greggles’s picture

Status: Needs review » Needs work

Suggestions

appointment_schema doesn't have enough spaces before the "$schema['" - each line should be 2 spaces indented and then lines under that should be indented again, etc. You got this right elsewhere, probably just an oversight.

There is some Spanish in the user interface like Guardar.

Instead of _validate_email you can use valid_email_address.

It would be great if you documented on the project page what makes this different from the other modules.

Required changes

The url http://example.com/appointment/confirmation/1 is vulnerable to XSS.

I suggest something like:

  while ($row = db_fetch_object($result)) {
    $appointment = $row;
    $appointment->name = check_plain($row->name);
    $appointment->last_name = check_plain($row->last_name);
  }

If you haven't already, I suggest reading http://drupal.org/writing-secure-code

Thanks for your contribution and your patience!

misc’s picture

The applicant has been contacted to ask if the application is abandoned.

After ten weeks with a status of needs work: the applicant may be contacted by a reviewer to determine whether the application was indeed abandoned. The action taken by the reviewer should be documented in the project application issue.

http://drupal.org/node/894256

misc’s picture

Status: Needs work » Closed (won't fix)

The application has been closed. If you would like to reopen it, you are free to do so.
See http://drupal.org/node/894256#abandonedtwoweekscontact